./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/heap-manipulation/dll_of_dll-1.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-1.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 0e14b8baad7c8f50637b16b3adcb891ef363d7563e7c4e0e74695e7b8e3d1787 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 16:47:43,311 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 16:47:43,313 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 16:47:43,329 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 16:47:43,330 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 16:47:43,331 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 16:47:43,331 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 16:47:43,332 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 16:47:43,333 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 16:47:43,334 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 16:47:43,335 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 16:47:43,335 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 16:47:43,336 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 16:47:43,336 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 16:47:43,337 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 16:47:43,338 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 16:47:43,338 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 16:47:43,339 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 16:47:43,340 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 16:47:43,341 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 16:47:43,342 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 16:47:43,343 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 16:47:43,344 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 16:47:43,344 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 16:47:43,346 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 16:47:43,346 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 16:47:43,346 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 16:47:43,347 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 16:47:43,347 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 16:47:43,348 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 16:47:43,348 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 16:47:43,349 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 16:47:43,349 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 16:47:43,350 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 16:47:43,350 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 16:47:43,351 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 16:47:43,351 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 16:47:43,351 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 16:47:43,351 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 16:47:43,352 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 16:47:43,352 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 16:47:43,353 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:43,366 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 16:47:43,366 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 16:47:43,367 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 16:47:43,367 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 16:47:43,367 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 16:47:43,368 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 16:47:43,368 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 16:47:43,368 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 16:47:43,368 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 16:47:43,369 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 16:47:43,369 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 16:47:43,369 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 16:47:43,369 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 16:47:43,369 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 16:47:43,369 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 16:47:43,369 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 16:47:43,369 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 16:47:43,370 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 16:47:43,370 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 16:47:43,370 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 16:47:43,370 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 16:47:43,370 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 16:47:43,370 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 16:47:43,370 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 16:47:43,371 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 16:47:43,371 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 16:47:43,371 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 16:47:43,371 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 16:47:43,371 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 16:47:43,371 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 16:47:43,372 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 16:47:43,372 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 16:47:43,372 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 16:47:43,372 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 -> 0e14b8baad7c8f50637b16b3adcb891ef363d7563e7c4e0e74695e7b8e3d1787 [2022-02-20 16:47:43,577 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 16:47:43,592 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 16:47:43,594 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 16:47:43,595 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 16:47:43,595 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 16:47:43,596 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/heap-manipulation/dll_of_dll-1.i [2022-02-20 16:47:43,641 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9a3023caa/1675e3e0f7424f15960b797446e65cb7/FLAG1a71db750 [2022-02-20 16:47:44,077 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 16:47:44,077 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/heap-manipulation/dll_of_dll-1.i [2022-02-20 16:47:44,096 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9a3023caa/1675e3e0f7424f15960b797446e65cb7/FLAG1a71db750 [2022-02-20 16:47:44,108 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9a3023caa/1675e3e0f7424f15960b797446e65cb7 [2022-02-20 16:47:44,110 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 16:47:44,111 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 16:47:44,112 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 16:47:44,112 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 16:47:44,114 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 16:47:44,115 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 04:47:44" (1/1) ... [2022-02-20 16:47:44,116 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@4f3af2b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:47:44, skipping insertion in model container [2022-02-20 16:47:44,116 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 04:47:44" (1/1) ... [2022-02-20 16:47:44,121 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 16:47:44,147 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 16:47:44,337 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-1.i[22634,22647] [2022-02-20 16:47:44,395 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 16:47:44,406 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 16:47:44,428 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-1.i[22634,22647] [2022-02-20 16:47:44,441 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 16:47:44,472 INFO L208 MainTranslator]: Completed translation [2022-02-20 16:47:44,472 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:47:44 WrapperNode [2022-02-20 16:47:44,472 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 16:47:44,473 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 16:47:44,473 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 16:47:44,474 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 16:47:44,478 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:44" (1/1) ... [2022-02-20 16:47:44,505 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:44" (1/1) ... [2022-02-20 16:47:44,538 INFO L137 Inliner]: procedures = 140, calls = 94, calls flagged for inlining = 13, calls inlined = 13, statements flattened = 228 [2022-02-20 16:47:44,539 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 16:47:44,540 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 16:47:44,540 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 16:47:44,540 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 16:47:44,545 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:44" (1/1) ... [2022-02-20 16:47:44,546 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:44" (1/1) ... [2022-02-20 16:47:44,560 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:44" (1/1) ... [2022-02-20 16:47:44,561 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:44" (1/1) ... [2022-02-20 16:47:44,573 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:44" (1/1) ... [2022-02-20 16:47:44,589 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:44" (1/1) ... [2022-02-20 16:47:44,592 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:44" (1/1) ... [2022-02-20 16:47:44,595 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 16:47:44,595 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 16:47:44,595 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 16:47:44,595 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 16:47:44,598 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:47:44" (1/1) ... [2022-02-20 16:47:44,609 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 16:47:44,618 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:47:44,630 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:44,641 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:44,661 INFO L130 BoogieDeclarations]: Found specification of procedure fail [2022-02-20 16:47:44,661 INFO L138 BoogieDeclarations]: Found implementation of procedure fail [2022-02-20 16:47:44,661 INFO L130 BoogieDeclarations]: Found specification of procedure inspect_base [2022-02-20 16:47:44,661 INFO L138 BoogieDeclarations]: Found implementation of procedure inspect_base [2022-02-20 16:47:44,661 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2022-02-20 16:47:44,662 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 16:47:44,662 INFO L130 BoogieDeclarations]: Found specification of procedure dll_insert_master [2022-02-20 16:47:44,662 INFO L138 BoogieDeclarations]: Found implementation of procedure dll_insert_master [2022-02-20 16:47:44,662 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-02-20 16:47:44,662 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2022-02-20 16:47:44,662 INFO L130 BoogieDeclarations]: Found specification of procedure ##fun~$Pointer$~TO~VOID [2022-02-20 16:47:44,662 INFO L138 BoogieDeclarations]: Found implementation of procedure ##fun~$Pointer$~TO~VOID [2022-02-20 16:47:44,662 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2022-02-20 16:47:44,663 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 16:47:44,663 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~$Pointer$ [2022-02-20 16:47:44,663 INFO L130 BoogieDeclarations]: Found specification of procedure dll_create_generic [2022-02-20 16:47:44,663 INFO L138 BoogieDeclarations]: Found implementation of procedure dll_create_generic [2022-02-20 16:47:44,663 INFO L130 BoogieDeclarations]: Found specification of procedure dll_create_slave [2022-02-20 16:47:44,663 INFO L138 BoogieDeclarations]: Found implementation of procedure dll_create_slave [2022-02-20 16:47:44,663 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 16:47:44,664 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 16:47:44,664 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 16:47:44,812 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 16:47:44,820 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 16:47:45,219 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 16:47:45,224 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 16:47:45,224 INFO L299 CfgBuilder]: Removed 38 assume(true) statements. [2022-02-20 16:47:45,226 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 04:47:45 BoogieIcfgContainer [2022-02-20 16:47:45,226 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 16:47:45,227 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 16:47:45,227 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 16:47:45,232 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 16:47:45,232 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 04:47:44" (1/3) ... [2022-02-20 16:47:45,232 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6f584bf1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 04:47:45, skipping insertion in model container [2022-02-20 16:47:45,233 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:47:44" (2/3) ... [2022-02-20 16:47:45,233 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6f584bf1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 04:47:45, skipping insertion in model container [2022-02-20 16:47:45,233 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 04:47:45" (3/3) ... [2022-02-20 16:47:45,234 INFO L111 eAbstractionObserver]: Analyzing ICFG dll_of_dll-1.i [2022-02-20 16:47:45,241 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 16:47:45,241 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 16:47:45,274 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 16:47:45,278 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:45,278 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-02-20 16:47:45,294 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:45,301 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-02-20 16:47:45,301 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:47:45,302 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:45,302 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting failErr0ASSERT_VIOLATIONERROR_FUNCTION === [failErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:47:45,306 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:47:45,306 INFO L85 PathProgramCache]: Analyzing trace with hash 760908611, now seen corresponding path program 1 times [2022-02-20 16:47:45,312 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:47:45,313 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1803923660] [2022-02-20 16:47:45,313 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:47:45,313 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:47:45,392 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:45,464 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 16:47:45,480 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:45,493 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-02-20 16:47:45,500 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:45,511 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:45,512 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:45,512 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:45,513 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, 4 + 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:45,513 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:45,513 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:45,513 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:45,514 INFO L290 TraceCheckUtils]: 7: Hoare triple {132#false} assume { :end_inline_dll_insert_slave } true; {132#false} is VALID [2022-02-20 16:47:45,514 INFO L290 TraceCheckUtils]: 8: Hoare triple {132#false} assume true; {132#false} is VALID [2022-02-20 16:47:45,514 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {132#false} {131#true} #450#return; {132#false} is VALID [2022-02-20 16:47:45,515 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-02-20 16:47:45,523 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:45,530 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:45,531 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:45,531 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:45,531 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, 4 + 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:45,532 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:45,532 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:45,532 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:45,532 INFO L290 TraceCheckUtils]: 7: Hoare triple {132#false} assume { :end_inline_dll_insert_slave } true; {132#false} is VALID [2022-02-20 16:47:45,532 INFO L290 TraceCheckUtils]: 8: Hoare triple {132#false} assume true; {132#false} is VALID [2022-02-20 16:47:45,533 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {132#false} {132#false} #452#return; {132#false} is VALID [2022-02-20 16:47:45,533 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:45,535 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:45,535 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:45,535 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:45,535 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:45,536 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, 4 + 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:45,536 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:45,536 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:45,536 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:45,536 INFO L290 TraceCheckUtils]: 9: Hoare triple {132#false} assume { :end_inline_dll_insert_slave } true; {132#false} is VALID [2022-02-20 16:47:45,537 INFO L290 TraceCheckUtils]: 10: Hoare triple {132#false} assume true; {132#false} is VALID [2022-02-20 16:47:45,537 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {132#false} {131#true} #450#return; {132#false} is VALID [2022-02-20 16:47:45,537 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:45,537 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:45,537 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:45,538 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:45,538 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, 4 + 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:45,538 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:45,538 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:45,539 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:45,539 INFO L290 TraceCheckUtils]: 20: Hoare triple {132#false} assume { :end_inline_dll_insert_slave } true; {132#false} is VALID [2022-02-20 16:47:45,539 INFO L290 TraceCheckUtils]: 21: Hoare triple {132#false} assume true; {132#false} is VALID [2022-02-20 16:47:45,539 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {132#false} {132#false} #452#return; {132#false} is VALID [2022-02-20 16:47:45,539 INFO L290 TraceCheckUtils]: 23: Hoare triple {132#false} assume !true; {132#false} is VALID [2022-02-20 16:47:45,540 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:45,540 INFO L290 TraceCheckUtils]: 25: Hoare triple {132#false} assume true; {132#false} is VALID [2022-02-20 16:47:45,540 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {132#false} {131#true} #470#return; {132#false} is VALID [2022-02-20 16:47:45,540 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:45,541 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:45,542 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:45,542 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:45,543 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:45,543 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:45,543 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:45,544 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:45,544 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, 4 + 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:45,544 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:45,544 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:45,544 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:45,545 INFO L290 TraceCheckUtils]: 12: Hoare triple {132#false} assume { :end_inline_dll_insert_slave } true; {132#false} is VALID [2022-02-20 16:47:45,545 INFO L290 TraceCheckUtils]: 13: Hoare triple {132#false} assume true; {132#false} is VALID [2022-02-20 16:47:45,545 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {132#false} {131#true} #450#return; {132#false} is VALID [2022-02-20 16:47:45,545 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:45,545 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:45,545 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:45,546 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:45,546 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, 4 + 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:45,546 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:45,546 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:45,547 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:45,547 INFO L290 TraceCheckUtils]: 23: Hoare triple {132#false} assume { :end_inline_dll_insert_slave } true; {132#false} is VALID [2022-02-20 16:47:45,547 INFO L290 TraceCheckUtils]: 24: Hoare triple {132#false} assume true; {132#false} is VALID [2022-02-20 16:47:45,547 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {132#false} {132#false} #452#return; {132#false} is VALID [2022-02-20 16:47:45,547 INFO L290 TraceCheckUtils]: 26: Hoare triple {132#false} assume !true; {132#false} is VALID [2022-02-20 16:47:45,547 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:45,548 INFO L290 TraceCheckUtils]: 28: Hoare triple {132#false} assume true; {132#false} is VALID [2022-02-20 16:47:45,548 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {132#false} {131#true} #470#return; {132#false} is VALID [2022-02-20 16:47:45,548 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:45,548 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:45,548 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:45,549 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:45,549 INFO L290 TraceCheckUtils]: 34: Hoare triple {132#false} assume ~dll.base == 0 && ~dll.offset == 0; {132#false} is VALID [2022-02-20 16:47:45,549 INFO L272 TraceCheckUtils]: 35: Hoare triple {132#false} call fail(); {132#false} is VALID [2022-02-20 16:47:45,549 INFO L290 TraceCheckUtils]: 36: Hoare triple {132#false} assume !false; {132#false} is VALID [2022-02-20 16:47:45,550 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:45,550 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:47:45,550 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1803923660] [2022-02-20 16:47:45,551 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1803923660] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:47:45,551 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:47:45,551 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 16:47:45,552 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2013469766] [2022-02-20 16:47:45,553 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:47:45,556 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:45,557 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:47:45,560 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:45,584 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:45,584 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 16:47:45,584 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:47:45,597 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 16:47:45,598 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 16:47:45,600 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:46,003 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:46,003 INFO L93 Difference]: Finished difference Result 251 states and 429 transitions. [2022-02-20 16:47:46,003 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 16:47:46,004 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:46,004 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:47:46,005 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:46,026 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 429 transitions. [2022-02-20 16:47:46,026 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:46,045 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 429 transitions. [2022-02-20 16:47:46,045 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 429 transitions. [2022-02-20 16:47:46,369 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:46,383 INFO L225 Difference]: With dead ends: 251 [2022-02-20 16:47:46,383 INFO L226 Difference]: Without dead ends: 120 [2022-02-20 16:47:46,387 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:46,401 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:46,402 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:46,428 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 120 states. [2022-02-20 16:47:46,469 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 120 to 120. [2022-02-20 16:47:46,469 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:47:46,470 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:46,471 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:46,472 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:46,478 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:46,478 INFO L93 Difference]: Finished difference Result 120 states and 149 transitions. [2022-02-20 16:47:46,478 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 149 transitions. [2022-02-20 16:47:46,480 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:47:46,480 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:47:46,480 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:46,481 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:46,485 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:46,485 INFO L93 Difference]: Finished difference Result 120 states and 149 transitions. [2022-02-20 16:47:46,485 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 149 transitions. [2022-02-20 16:47:46,487 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:47:46,487 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:47:46,487 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:47:46,487 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:47:46,488 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:46,491 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 120 states to 120 states and 149 transitions. [2022-02-20 16:47:46,492 INFO L78 Accepts]: Start accepts. Automaton has 120 states and 149 transitions. Word has length 37 [2022-02-20 16:47:46,492 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:47:46,493 INFO L470 AbstractCegarLoop]: Abstraction has 120 states and 149 transitions. [2022-02-20 16:47:46,493 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:46,493 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 149 transitions. [2022-02-20 16:47:46,494 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-02-20 16:47:46,494 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:47:46,495 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:46,495 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 16:47:46,495 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting failErr0ASSERT_VIOLATIONERROR_FUNCTION === [failErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:47:46,495 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:47:46,496 INFO L85 PathProgramCache]: Analyzing trace with hash 1675514385, now seen corresponding path program 1 times [2022-02-20 16:47:46,496 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:47:46,496 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [381499363] [2022-02-20 16:47:46,496 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:47:46,496 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:47:46,555 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:46,659 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 16:47:46,695 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:46,749 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-02-20 16:47:46,757 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:46,792 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:46,793 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:46,794 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:46,795 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, 4 + 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:46,795 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:46,796 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:46,796 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:46,797 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:46,797 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:46,798 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:46,799 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-02-20 16:47:46,805 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:46,811 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:46,811 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:46,812 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:46,812 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, 4 + 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:46,812 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:46,812 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:46,812 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:46,812 INFO L290 TraceCheckUtils]: 7: Hoare triple {938#true} assume { :end_inline_dll_insert_slave } true; {938#true} is VALID [2022-02-20 16:47:46,813 INFO L290 TraceCheckUtils]: 8: Hoare triple {938#true} assume true; {938#true} is VALID [2022-02-20 16:47:46,813 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:46,814 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:46,815 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:46,816 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:46,816 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:46,817 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:46,817 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, 4 + 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:46,818 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:46,829 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:46,829 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:46,830 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:46,830 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:46,832 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:46,834 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:46,834 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:46,835 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:46,835 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:46,842 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, 4 + 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:46,842 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:46,842 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:46,842 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:46,843 INFO L290 TraceCheckUtils]: 20: Hoare triple {938#true} assume { :end_inline_dll_insert_slave } true; {938#true} is VALID [2022-02-20 16:47:46,843 INFO L290 TraceCheckUtils]: 21: Hoare triple {938#true} assume true; {938#true} is VALID [2022-02-20 16:47:46,844 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:46,844 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:46,844 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:46,845 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:46,847 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:46,848 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:46,849 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:46,849 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:46,850 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:46,850 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:46,852 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:46,852 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:46,853 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:46,853 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:46,854 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, 4 + 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:46,854 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:46,855 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:46,856 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:46,856 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:46,857 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:46,859 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:46,860 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:46,860 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:46,861 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:46,861 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:46,861 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, 4 + 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:46,861 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:46,861 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:46,861 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:46,862 INFO L290 TraceCheckUtils]: 23: Hoare triple {938#true} assume { :end_inline_dll_insert_slave } true; {938#true} is VALID [2022-02-20 16:47:46,862 INFO L290 TraceCheckUtils]: 24: Hoare triple {938#true} assume true; {938#true} is VALID [2022-02-20 16:47:46,862 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:46,863 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:46,863 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:46,863 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:46,864 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:46,864 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:46,865 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:46,865 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:46,866 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:46,866 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:46,871 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:46,871 INFO L272 TraceCheckUtils]: 36: Hoare triple {939#false} call fail(); {939#false} is VALID [2022-02-20 16:47:46,872 INFO L290 TraceCheckUtils]: 37: Hoare triple {939#false} assume !false; {939#false} is VALID [2022-02-20 16:47:46,872 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:46,873 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:47:46,873 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [381499363] [2022-02-20 16:47:46,873 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [381499363] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:47:46,873 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2023050869] [2022-02-20 16:47:46,873 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:47:46,874 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:47:46,874 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:47:46,875 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:46,882 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:46,982 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:46,985 INFO L263 TraceCheckSpWp]: Trace formula consists of 320 conjuncts, 13 conjunts are in the unsatisfiable core [2022-02-20 16:47:46,999 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:47,003 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:47:47,327 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:47,327 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:47,327 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:47,329 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:47,329 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:47,329 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:47,330 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:47,330 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:47,331 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, 4 + 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:47,331 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:47,332 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:47,332 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:47,333 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:47,333 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:47,334 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:47,334 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:47,334 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:47,334 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:47,339 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:47,339 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, 4 + 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:47,339 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:47,339 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:47,340 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:47,340 INFO L290 TraceCheckUtils]: 23: Hoare triple {938#true} assume { :end_inline_dll_insert_slave } true; {938#true} is VALID [2022-02-20 16:47:47,340 INFO L290 TraceCheckUtils]: 24: Hoare triple {938#true} assume true; {938#true} is VALID [2022-02-20 16:47:47,341 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:47,341 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:47,341 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:47,342 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:47,342 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:47,345 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:47,345 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:47,345 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:47,346 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:47,346 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:47,346 INFO L290 TraceCheckUtils]: 35: Hoare triple {939#false} assume ~dll.base == 0 && ~dll.offset == 0; {939#false} is VALID [2022-02-20 16:47:47,346 INFO L272 TraceCheckUtils]: 36: Hoare triple {939#false} call fail(); {939#false} is VALID [2022-02-20 16:47:47,346 INFO L290 TraceCheckUtils]: 37: Hoare triple {939#false} assume !false; {939#false} is VALID [2022-02-20 16:47:47,347 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:47,347 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:47:47,674 INFO L290 TraceCheckUtils]: 37: Hoare triple {939#false} assume !false; {939#false} is VALID [2022-02-20 16:47:47,674 INFO L272 TraceCheckUtils]: 36: Hoare triple {939#false} call fail(); {939#false} is VALID [2022-02-20 16:47:47,674 INFO L290 TraceCheckUtils]: 35: Hoare triple {939#false} assume ~dll.base == 0 && ~dll.offset == 0; {939#false} is VALID [2022-02-20 16:47:47,674 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:47,674 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:47,674 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:47,674 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:47,675 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:47,676 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:47,676 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:47,677 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:47,677 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:47,678 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:47,678 INFO L290 TraceCheckUtils]: 24: Hoare triple {938#true} assume true; {938#true} is VALID [2022-02-20 16:47:47,678 INFO L290 TraceCheckUtils]: 23: Hoare triple {938#true} assume { :end_inline_dll_insert_slave } true; {938#true} is VALID [2022-02-20 16:47:47,678 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:47,678 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:47,678 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:47,678 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, 4 + 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:47,682 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:47,682 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:47,683 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:47,683 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:47,684 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:47,685 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:47,685 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:47,686 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:47,686 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:47,687 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:47,687 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, 4 + 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:47,688 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:47,688 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:47,688 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:47,688 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:47,689 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:47,693 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:47,694 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:47,694 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:47,695 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:47,695 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2023050869] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 16:47:47,698 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 16:47:47,698 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 5, 5] total 12 [2022-02-20 16:47:47,698 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [914344215] [2022-02-20 16:47:47,698 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 16:47:47,700 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:47,702 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:47:47,703 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:47,738 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:47,739 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-02-20 16:47:47,739 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:47:47,739 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-02-20 16:47:47,740 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=109, Unknown=0, NotChecked=0, Total=132 [2022-02-20 16:47:47,740 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:47:49,188 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:49,188 INFO L93 Difference]: Finished difference Result 250 states and 324 transitions. [2022-02-20 16:47:49,188 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 16:47:49,188 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:49,189 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:47:49,189 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:47:49,196 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 324 transitions. [2022-02-20 16:47:49,197 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:47:49,201 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 324 transitions. [2022-02-20 16:47:49,202 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 324 transitions. [2022-02-20 16:47:49,412 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:47:49,415 INFO L225 Difference]: With dead ends: 250 [2022-02-20 16:47:49,415 INFO L226 Difference]: Without dead ends: 133 [2022-02-20 16:47:49,416 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:47:49,417 INFO L933 BasicCegarLoop]: 138 mSDtfsCounter, 45 mSDsluCounter, 866 mSDsCounter, 0 mSdLazyCounter, 485 mSolverCounterSat, 36 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s 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:47:49,417 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:47:49,418 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 133 states. [2022-02-20 16:47:49,436 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 133 to 133. [2022-02-20 16:47:49,437 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:47:49,437 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:47:49,437 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:47:49,438 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:47:49,443 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:49,443 INFO L93 Difference]: Finished difference Result 133 states and 164 transitions. [2022-02-20 16:47:49,443 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 164 transitions. [2022-02-20 16:47:49,448 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:47:49,449 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:47:49,450 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:47:49,450 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:47:49,453 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:49,454 INFO L93 Difference]: Finished difference Result 133 states and 164 transitions. [2022-02-20 16:47:49,454 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 164 transitions. [2022-02-20 16:47:49,455 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:47:49,455 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:47:49,455 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:47:49,455 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:47:49,455 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:47:49,459 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 133 states to 133 states and 164 transitions. [2022-02-20 16:47:49,460 INFO L78 Accepts]: Start accepts. Automaton has 133 states and 164 transitions. Word has length 38 [2022-02-20 16:47:49,460 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:47:49,460 INFO L470 AbstractCegarLoop]: Abstraction has 133 states and 164 transitions. [2022-02-20 16:47:49,460 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:47:49,460 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 164 transitions. [2022-02-20 16:47:49,463 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-02-20 16:47:49,463 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:47:49,463 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:47:49,485 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:47:49,675 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:47:49,676 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting failErr0ASSERT_VIOLATIONERROR_FUNCTION === [failErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:47:49,676 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:47:49,676 INFO L85 PathProgramCache]: Analyzing trace with hash 800158065, now seen corresponding path program 1 times [2022-02-20 16:47:49,676 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:47:49,677 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1058945251] [2022-02-20 16:47:49,677 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:47:49,677 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:47:49,735 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:49,823 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 16:47:49,894 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:49,958 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-02-20 16:47:49,976 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:50,007 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 16:47:50,043 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:50,114 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-02-20 16:47:50,128 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:50,145 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-02-20 16:47:50,153 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:50,173 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-02-20 16:47:50,177 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:50,183 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:47:50,185 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:47:50,185 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:47:50,185 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, 4 + 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:47:50,185 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:47:50,185 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:47:50,186 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:47:50,186 INFO L290 TraceCheckUtils]: 7: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:47:50,187 INFO L290 TraceCheckUtils]: 8: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:50,189 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {2030#true} {2030#true} #450#return; {2030#true} is VALID [2022-02-20 16:47:50,189 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-02-20 16:47:50,197 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:50,205 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:47:50,205 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:47:50,205 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:47:50,205 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, 4 + 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:47:50,207 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:47:50,207 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:47:50,207 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:47:50,207 INFO L290 TraceCheckUtils]: 7: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:47:50,207 INFO L290 TraceCheckUtils]: 8: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:50,207 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {2030#true} {2030#true} #452#return; {2030#true} is VALID [2022-02-20 16:47:50,208 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:47:50,209 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:47:50,209 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:47:50,210 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:47:50,210 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:47:50,210 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, 4 + 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:47:50,210 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:47:50,210 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:47:50,210 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:47:50,211 INFO L290 TraceCheckUtils]: 9: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:47:50,211 INFO L290 TraceCheckUtils]: 10: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:50,211 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {2030#true} {2030#true} #450#return; {2030#true} is VALID [2022-02-20 16:47:50,212 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:47:50,212 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:47:50,212 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:47:50,212 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:47:50,213 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, 4 + 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:47:50,213 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:47:50,213 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:47:50,213 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:47:50,213 INFO L290 TraceCheckUtils]: 20: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:47:50,214 INFO L290 TraceCheckUtils]: 21: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:50,214 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2030#true} {2030#true} #452#return; {2030#true} is VALID [2022-02-20 16:47:50,214 INFO L290 TraceCheckUtils]: 23: Hoare triple {2030#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {2030#true} is VALID [2022-02-20 16:47:50,214 INFO L290 TraceCheckUtils]: 24: Hoare triple {2030#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {2030#true} is VALID [2022-02-20 16:47:50,214 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:47:50,214 INFO L290 TraceCheckUtils]: 26: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:50,214 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:47:50,216 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:47:50,217 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:47:50,217 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:47:50,218 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:47:50,218 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:47:50,218 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:47:50,218 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, 4 + 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:47:50,218 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:47:50,219 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:47:50,219 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:47:50,219 INFO L290 TraceCheckUtils]: 10: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:47:50,219 INFO L290 TraceCheckUtils]: 11: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:50,219 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2030#true} {2030#true} #450#return; {2030#true} is VALID [2022-02-20 16:47:50,220 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:47:50,220 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:47:50,220 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:47:50,220 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:47:50,221 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, 4 + 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:47:50,221 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:47:50,221 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:47:50,221 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:47:50,221 INFO L290 TraceCheckUtils]: 21: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:47:50,221 INFO L290 TraceCheckUtils]: 22: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:50,222 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2030#true} {2030#true} #452#return; {2030#true} is VALID [2022-02-20 16:47:50,222 INFO L290 TraceCheckUtils]: 24: Hoare triple {2030#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {2030#true} is VALID [2022-02-20 16:47:50,222 INFO L290 TraceCheckUtils]: 25: Hoare triple {2030#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {2030#true} is VALID [2022-02-20 16:47:50,222 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:47:50,222 INFO L290 TraceCheckUtils]: 27: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:50,222 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:47:50,222 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:47:50,223 INFO L290 TraceCheckUtils]: 30: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:50,223 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:47:50,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|))} ~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:47:50,224 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:47:50,225 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:47:50,226 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:47:50,226 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:47:50,227 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:47:50,232 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:47:50,232 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:47:50,233 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:47:50,233 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:47:50,233 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:47:50,233 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:47:50,234 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, 4 + 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:47:50,234 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:47:50,234 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:47:50,234 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:47:50,234 INFO L290 TraceCheckUtils]: 16: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:47:50,234 INFO L290 TraceCheckUtils]: 17: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:50,234 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2030#true} {2030#true} #450#return; {2030#true} is VALID [2022-02-20 16:47:50,235 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:47:50,235 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:47:50,235 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:47:50,236 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:47:50,236 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, 4 + 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:47:50,236 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:47:50,236 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:47:50,236 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:47:50,236 INFO L290 TraceCheckUtils]: 27: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:47:50,236 INFO L290 TraceCheckUtils]: 28: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:50,236 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {2030#true} {2030#true} #452#return; {2030#true} is VALID [2022-02-20 16:47:50,237 INFO L290 TraceCheckUtils]: 30: Hoare triple {2030#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {2030#true} is VALID [2022-02-20 16:47:50,237 INFO L290 TraceCheckUtils]: 31: Hoare triple {2030#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {2030#true} is VALID [2022-02-20 16:47:50,237 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:47:50,237 INFO L290 TraceCheckUtils]: 33: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:50,237 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:47:50,238 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:47:50,238 INFO L290 TraceCheckUtils]: 36: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:50,238 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:47:50,239 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:47:50,240 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:47:50,240 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:47:50,241 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:47:50,241 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:47:50,242 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:47:50,243 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:47:50,244 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:47:50,245 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:47:50,247 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:47:50,248 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:47:50,249 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:47:50,250 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:47:50,250 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:47:50,251 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:47:50,251 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:47:50,251 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:47:50,251 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:47:50,251 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, 4 + 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:47:50,251 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:47:50,251 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:47:50,251 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:47:50,252 INFO L290 TraceCheckUtils]: 19: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:47:50,252 INFO L290 TraceCheckUtils]: 20: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:50,252 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2030#true} {2030#true} #450#return; {2030#true} is VALID [2022-02-20 16:47:50,253 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:47:50,253 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:47:50,253 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:47:50,253 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:47:50,253 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, 4 + 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:47:50,253 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:47:50,253 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:47:50,253 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:47:50,254 INFO L290 TraceCheckUtils]: 30: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:47:50,254 INFO L290 TraceCheckUtils]: 31: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:50,254 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2030#true} {2030#true} #452#return; {2030#true} is VALID [2022-02-20 16:47:50,254 INFO L290 TraceCheckUtils]: 33: Hoare triple {2030#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {2030#true} is VALID [2022-02-20 16:47:50,254 INFO L290 TraceCheckUtils]: 34: Hoare triple {2030#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {2030#true} is VALID [2022-02-20 16:47:50,254 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:47:50,254 INFO L290 TraceCheckUtils]: 36: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:50,254 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:47:50,254 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:47:50,255 INFO L290 TraceCheckUtils]: 39: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:50,255 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:47:50,256 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:47:50,256 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:47:50,257 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:47:50,257 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:47:50,258 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:47:50,259 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 48 [2022-02-20 16:47:50,284 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:50,357 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 16:47:50,382 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:50,531 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-02-20 16:47:50,545 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:50,555 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-02-20 16:47:50,562 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:50,569 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-02-20 16:47:50,573 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:50,577 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:47:50,577 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:47:50,577 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:47:50,577 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, 4 + 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:47:50,577 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:47:50,577 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:47:50,578 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:47:50,578 INFO L290 TraceCheckUtils]: 7: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:47:50,578 INFO L290 TraceCheckUtils]: 8: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:50,578 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {2030#true} {2030#true} #450#return; {2030#true} is VALID [2022-02-20 16:47:50,578 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-02-20 16:47:50,582 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:50,585 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:47:50,586 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:47:50,586 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:47:50,586 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, 4 + 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:47:50,586 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:47:50,586 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:47:50,586 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:47:50,587 INFO L290 TraceCheckUtils]: 7: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:47:50,587 INFO L290 TraceCheckUtils]: 8: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:50,587 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {2030#true} {2030#true} #452#return; {2030#true} is VALID [2022-02-20 16:47:50,587 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:47:50,588 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:47:50,588 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:47:50,588 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:47:50,588 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:47:50,589 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, 4 + 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:47:50,589 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:47:50,589 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:47:50,589 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:47:50,589 INFO L290 TraceCheckUtils]: 9: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:47:50,589 INFO L290 TraceCheckUtils]: 10: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:50,589 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {2030#true} {2030#true} #450#return; {2030#true} is VALID [2022-02-20 16:47:50,590 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:47:50,590 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:47:50,590 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:47:50,591 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:47:50,591 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, 4 + 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:47:50,591 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:47:50,591 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:47:50,591 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:47:50,591 INFO L290 TraceCheckUtils]: 20: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:47:50,591 INFO L290 TraceCheckUtils]: 21: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:50,591 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2030#true} {2030#true} #452#return; {2030#true} is VALID [2022-02-20 16:47:50,592 INFO L290 TraceCheckUtils]: 23: Hoare triple {2030#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {2030#true} is VALID [2022-02-20 16:47:50,592 INFO L290 TraceCheckUtils]: 24: Hoare triple {2030#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {2030#true} is VALID [2022-02-20 16:47:50,592 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:47:50,592 INFO L290 TraceCheckUtils]: 26: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:50,592 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:47:50,593 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:47:50,593 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:47:50,594 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:47:50,594 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:47:50,594 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:47:50,594 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:47:50,594 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, 4 + 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:47:50,594 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:47:50,594 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:47:50,595 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:47:50,595 INFO L290 TraceCheckUtils]: 10: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:47:50,595 INFO L290 TraceCheckUtils]: 11: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:50,595 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2030#true} {2030#true} #450#return; {2030#true} is VALID [2022-02-20 16:47:50,596 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:47:50,596 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:47:50,596 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:47:50,597 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:47:50,597 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, 4 + 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:47:50,597 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:47:50,597 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:47:50,597 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:47:50,597 INFO L290 TraceCheckUtils]: 21: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:47:50,597 INFO L290 TraceCheckUtils]: 22: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:50,597 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2030#true} {2030#true} #452#return; {2030#true} is VALID [2022-02-20 16:47:50,598 INFO L290 TraceCheckUtils]: 24: Hoare triple {2030#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {2030#true} is VALID [2022-02-20 16:47:50,598 INFO L290 TraceCheckUtils]: 25: Hoare triple {2030#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {2030#true} is VALID [2022-02-20 16:47:50,598 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:47:50,598 INFO L290 TraceCheckUtils]: 27: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:50,598 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:47:50,598 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:47:50,598 INFO L290 TraceCheckUtils]: 30: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:50,613 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:47:50,614 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:47:50,614 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:47:50,615 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:47:50,616 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:47:50,617 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:47:50,618 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:47:50,618 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:47:50,619 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:47:50,619 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:47:50,620 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:47:50,620 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:47:50,620 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:47:50,620 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, 4 + 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:47:50,620 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:47:50,620 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:47:50,620 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:47:50,621 INFO L290 TraceCheckUtils]: 16: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:47:50,621 INFO L290 TraceCheckUtils]: 17: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:50,621 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2030#true} {2030#true} #450#return; {2030#true} is VALID [2022-02-20 16:47:50,622 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:47:50,622 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:47:50,622 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:47:50,622 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:47:50,622 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, 4 + 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:47:50,623 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:47:50,623 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:47:50,623 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:47:50,623 INFO L290 TraceCheckUtils]: 27: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:47:50,623 INFO L290 TraceCheckUtils]: 28: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:50,623 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {2030#true} {2030#true} #452#return; {2030#true} is VALID [2022-02-20 16:47:50,623 INFO L290 TraceCheckUtils]: 30: Hoare triple {2030#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {2030#true} is VALID [2022-02-20 16:47:50,623 INFO L290 TraceCheckUtils]: 31: Hoare triple {2030#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {2030#true} is VALID [2022-02-20 16:47:50,624 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:47:50,624 INFO L290 TraceCheckUtils]: 33: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:50,624 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:47:50,624 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:47:50,624 INFO L290 TraceCheckUtils]: 36: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:50,625 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:47:50,627 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:47:50,627 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:47:50,628 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:47:50,629 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:47:50,629 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:47:50,630 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:47:50,631 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:47:50,632 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:47:50,633 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:47:50,633 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:47:50,634 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:47:50,635 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:47:50,636 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:47:50,636 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:47:50,637 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:47:50,637 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:47:50,637 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:47:50,637 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:47:50,637 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, 4 + 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:47:50,637 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:47:50,637 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:47:50,638 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:47:50,638 INFO L290 TraceCheckUtils]: 19: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:47:50,638 INFO L290 TraceCheckUtils]: 20: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:50,638 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2030#true} {2030#true} #450#return; {2030#true} is VALID [2022-02-20 16:47:50,639 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:47:50,639 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:47:50,639 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:47:50,639 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:47:50,640 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, 4 + 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:47:50,640 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:47:50,640 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:47:50,640 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:47:50,640 INFO L290 TraceCheckUtils]: 30: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:47:50,640 INFO L290 TraceCheckUtils]: 31: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:50,640 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2030#true} {2030#true} #452#return; {2030#true} is VALID [2022-02-20 16:47:50,641 INFO L290 TraceCheckUtils]: 33: Hoare triple {2030#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {2030#true} is VALID [2022-02-20 16:47:50,641 INFO L290 TraceCheckUtils]: 34: Hoare triple {2030#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {2030#true} is VALID [2022-02-20 16:47:50,641 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:47:50,641 INFO L290 TraceCheckUtils]: 36: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:50,641 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:47:50,641 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:47:50,641 INFO L290 TraceCheckUtils]: 39: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:50,642 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:47:50,643 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:47:50,643 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:47:50,644 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:47:50,645 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:47:50,646 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:47:50,646 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:47:50,647 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:47:50,648 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:47:50,648 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:47:50,649 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:47:50,650 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:47:50,650 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:47:50,651 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:47:50,651 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:47:50,652 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:47:50,652 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:47:50,653 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:47:50,653 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:47:50,654 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:47:50,654 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:47:50,654 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:47:50,654 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:47:50,655 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, 4 + 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:47:50,655 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:47:50,655 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:47:50,655 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:47:50,655 INFO L290 TraceCheckUtils]: 21: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:47:50,655 INFO L290 TraceCheckUtils]: 22: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:50,655 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2030#true} {2030#true} #450#return; {2030#true} is VALID [2022-02-20 16:47:50,656 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:47:50,656 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:47:50,656 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:47:50,657 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:47:50,657 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, 4 + 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:47:50,657 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:47:50,657 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:47:50,657 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:47:50,657 INFO L290 TraceCheckUtils]: 32: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:47:50,657 INFO L290 TraceCheckUtils]: 33: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:50,658 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2030#true} {2030#true} #452#return; {2030#true} is VALID [2022-02-20 16:47:50,658 INFO L290 TraceCheckUtils]: 35: Hoare triple {2030#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {2030#true} is VALID [2022-02-20 16:47:50,658 INFO L290 TraceCheckUtils]: 36: Hoare triple {2030#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {2030#true} is VALID [2022-02-20 16:47:50,658 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:47:50,658 INFO L290 TraceCheckUtils]: 38: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:50,658 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:47:50,658 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:47:50,659 INFO L290 TraceCheckUtils]: 41: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:50,659 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:47:50,660 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:47:50,660 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:47:50,661 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:47:50,661 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:47:50,662 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:47:50,663 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:47:50,664 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:47:50,664 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:47:50,665 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:47:50,665 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:47:50,666 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:47:50,667 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:47:50,668 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:47:50,668 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:47:50,669 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:47:50,670 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:47:50,670 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:47:50,671 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:47:50,671 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:47:50,671 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:47:50,671 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:47:50,671 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, 4 + 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:47:50,672 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:47:50,672 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:47:50,672 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:47:50,672 INFO L290 TraceCheckUtils]: 68: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:47:50,672 INFO L290 TraceCheckUtils]: 69: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:50,672 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {2030#true} {2030#true} #450#return; {2030#true} is VALID [2022-02-20 16:47:50,673 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:47:50,674 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:47:50,674 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:47:50,674 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:47:50,674 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, 4 + 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:47:50,674 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:47:50,674 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:47:50,674 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:47:50,674 INFO L290 TraceCheckUtils]: 79: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:47:50,675 INFO L290 TraceCheckUtils]: 80: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:50,675 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {2030#true} {2030#true} #452#return; {2030#true} is VALID [2022-02-20 16:47:50,675 INFO L290 TraceCheckUtils]: 82: Hoare triple {2030#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {2030#true} is VALID [2022-02-20 16:47:50,675 INFO L290 TraceCheckUtils]: 83: Hoare triple {2030#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {2030#true} is VALID [2022-02-20 16:47:50,675 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:47:50,675 INFO L290 TraceCheckUtils]: 85: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:50,675 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:47:50,676 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:47:50,676 INFO L290 TraceCheckUtils]: 88: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:50,676 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:47:50,677 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:47:50,678 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:47:50,679 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:47:50,679 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:47:50,680 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:47:50,680 INFO L290 TraceCheckUtils]: 95: Hoare triple {2031#false} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {2031#false} is VALID [2022-02-20 16:47:50,680 INFO L290 TraceCheckUtils]: 96: Hoare triple {2031#false} assume !(0 != #t~nondet9);havoc #t~nondet9; {2031#false} is VALID [2022-02-20 16:47:50,680 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:47:50,680 INFO L290 TraceCheckUtils]: 98: Hoare triple {2031#false} assume true; {2031#false} is VALID [2022-02-20 16:47:50,681 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:47:50,681 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:47:50,681 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:47:50,682 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:47:50,683 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:47:50,684 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:47:50,684 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:47:50,684 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:47:50,685 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:47:50,686 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:47:50,686 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:47:50,687 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:47:50,687 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:47:50,688 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:47:50,689 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:47:50,689 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:47:50,689 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:47:50,690 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:47:50,690 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:47:50,690 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:47:50,691 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:47:50,691 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, 4 + 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:47:50,691 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:47:50,691 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:47:50,691 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:47:50,691 INFO L290 TraceCheckUtils]: 24: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:47:50,691 INFO L290 TraceCheckUtils]: 25: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:50,692 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2030#true} {2030#true} #450#return; {2030#true} is VALID [2022-02-20 16:47:50,704 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:47:50,704 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:47:50,704 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:47:50,704 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:47:50,704 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, 4 + 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:47:50,704 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:47:50,704 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:47:50,704 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:47:50,704 INFO L290 TraceCheckUtils]: 35: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:47:50,705 INFO L290 TraceCheckUtils]: 36: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:50,705 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2030#true} {2030#true} #452#return; {2030#true} is VALID [2022-02-20 16:47:50,705 INFO L290 TraceCheckUtils]: 38: Hoare triple {2030#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {2030#true} is VALID [2022-02-20 16:47:50,705 INFO L290 TraceCheckUtils]: 39: Hoare triple {2030#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {2030#true} is VALID [2022-02-20 16:47:50,705 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:47:50,705 INFO L290 TraceCheckUtils]: 41: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:50,705 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:47:50,705 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:47:50,705 INFO L290 TraceCheckUtils]: 44: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:50,706 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:47:50,707 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:47:50,707 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:47:50,708 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:47:50,708 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:47:50,709 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:47:50,710 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:47:50,710 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:47:50,711 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:47:50,712 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:47:50,712 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:47:50,713 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:47:50,714 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:47:50,714 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:47:50,715 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:47:50,716 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:47:50,716 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:47:50,717 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:47:50,717 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:47:50,718 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:47:50,718 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:47:50,718 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:47:50,718 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, 4 + 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:47:50,718 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:47:50,718 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:47:50,718 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:47:50,718 INFO L290 TraceCheckUtils]: 71: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:47:50,718 INFO L290 TraceCheckUtils]: 72: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:50,718 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {2030#true} {2030#true} #450#return; {2030#true} is VALID [2022-02-20 16:47:50,719 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:47:50,719 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:47:50,719 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:47:50,719 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:47:50,719 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, 4 + 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:47:50,719 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:47:50,719 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:47:50,720 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:47:50,720 INFO L290 TraceCheckUtils]: 82: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:47:50,720 INFO L290 TraceCheckUtils]: 83: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:50,720 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {2030#true} {2030#true} #452#return; {2030#true} is VALID [2022-02-20 16:47:50,720 INFO L290 TraceCheckUtils]: 85: Hoare triple {2030#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {2030#true} is VALID [2022-02-20 16:47:50,720 INFO L290 TraceCheckUtils]: 86: Hoare triple {2030#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {2030#true} is VALID [2022-02-20 16:47:50,720 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:47:50,720 INFO L290 TraceCheckUtils]: 88: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:50,720 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:47:50,720 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:47:50,720 INFO L290 TraceCheckUtils]: 91: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:50,721 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:47:50,722 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:47:50,722 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:47:50,723 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:47:50,723 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:47:50,724 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:47:50,724 INFO L290 TraceCheckUtils]: 98: Hoare triple {2031#false} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {2031#false} is VALID [2022-02-20 16:47:50,724 INFO L290 TraceCheckUtils]: 99: Hoare triple {2031#false} assume !(0 != #t~nondet9);havoc #t~nondet9; {2031#false} is VALID [2022-02-20 16:47:50,724 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:47:50,725 INFO L290 TraceCheckUtils]: 101: Hoare triple {2031#false} assume true; {2031#false} is VALID [2022-02-20 16:47:50,725 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:47:50,725 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:47:50,725 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:47:50,726 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:47:50,726 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:47:50,726 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:47:50,727 INFO L272 TraceCheckUtils]: 108: Hoare triple {2031#false} call fail(); {2031#false} is VALID [2022-02-20 16:47:50,727 INFO L290 TraceCheckUtils]: 109: Hoare triple {2031#false} assume !false; {2031#false} is VALID [2022-02-20 16:47:50,727 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:47:50,727 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:47:50,727 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1058945251] [2022-02-20 16:47:50,727 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1058945251] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:47:50,728 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1335152346] [2022-02-20 16:47:50,728 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:47:50,728 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:47:50,728 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:47:50,729 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:47:50,730 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:47:50,953 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:50,957 INFO L263 TraceCheckSpWp]: Trace formula consists of 964 conjuncts, 45 conjunts are in the unsatisfiable core [2022-02-20 16:47:50,989 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:50,992 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:47:51,267 INFO L356 Elim1Store]: treesize reduction 26, result has 42.2 percent of original size [2022-02-20 16:47:51,268 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:47:51,276 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:47:51,285 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:47:51,355 INFO L356 Elim1Store]: treesize reduction 33, result has 2.9 percent of original size [2022-02-20 16:47:51,356 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:47:51,359 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:47:51,489 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:47:51,532 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:47:51,533 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:47:51,533 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:47:51,533 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:47:51,533 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:47:51,534 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:47:51,534 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:47:51,534 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:47:51,534 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:47:51,534 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:47:51,534 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:47:51,534 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:47:51,535 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:47:51,535 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:47:51,535 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:47:51,535 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:47:51,535 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:47:51,535 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:47:51,535 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:47:51,536 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:47:51,536 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, 4 + 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:47:51,536 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:47:51,536 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:47:51,536 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:47:51,536 INFO L290 TraceCheckUtils]: 24: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:47:51,536 INFO L290 TraceCheckUtils]: 25: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:51,536 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2030#true} {2030#true} #450#return; {2030#true} is VALID [2022-02-20 16:47:51,537 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:47:51,537 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:47:51,537 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:47:51,537 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:47:51,537 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, 4 + 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:47:51,537 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:47:51,537 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:47:51,537 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:47:51,537 INFO L290 TraceCheckUtils]: 35: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:47:51,538 INFO L290 TraceCheckUtils]: 36: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:51,538 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2030#true} {2030#true} #452#return; {2030#true} is VALID [2022-02-20 16:47:51,538 INFO L290 TraceCheckUtils]: 38: Hoare triple {2030#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {2030#true} is VALID [2022-02-20 16:47:51,538 INFO L290 TraceCheckUtils]: 39: Hoare triple {2030#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {2030#true} is VALID [2022-02-20 16:47:51,538 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:47:51,538 INFO L290 TraceCheckUtils]: 41: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:51,538 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {2030#true} {2030#true} #446#return; {2030#true} is VALID [2022-02-20 16:47:51,538 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:47:51,538 INFO L290 TraceCheckUtils]: 44: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:51,539 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2030#true} {2030#true} #448#return; {2030#true} is VALID [2022-02-20 16:47:51,539 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:47:51,539 INFO L290 TraceCheckUtils]: 47: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:51,539 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {2030#true} {2030#true} #456#return; {2030#true} is VALID [2022-02-20 16:47:51,539 INFO L290 TraceCheckUtils]: 49: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:51,540 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:47:51,540 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:47:51,542 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:47:51,543 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:47:51,543 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:47:51,543 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:47:51,544 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:47:51,544 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:47:51,545 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:47:51,545 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:47:51,545 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:47:51,545 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:47:51,546 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:47:51,546 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:47:51,546 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:47:51,546 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:47:51,546 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:47:51,546 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, 4 + 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:47:51,546 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:47:51,546 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:47:51,546 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:47:51,547 INFO L290 TraceCheckUtils]: 71: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:47:51,547 INFO L290 TraceCheckUtils]: 72: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:51,547 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {2030#true} {2030#true} #450#return; {2030#true} is VALID [2022-02-20 16:47:51,547 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:47:51,547 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:47:51,547 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:47:51,547 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:47:51,547 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, 4 + 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:47:51,547 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:47:51,548 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:47:51,548 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:47:51,548 INFO L290 TraceCheckUtils]: 82: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:47:51,548 INFO L290 TraceCheckUtils]: 83: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:51,548 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {2030#true} {2030#true} #452#return; {2030#true} is VALID [2022-02-20 16:47:51,548 INFO L290 TraceCheckUtils]: 85: Hoare triple {2030#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {2030#true} is VALID [2022-02-20 16:47:51,548 INFO L290 TraceCheckUtils]: 86: Hoare triple {2030#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {2030#true} is VALID [2022-02-20 16:47:51,548 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:47:51,548 INFO L290 TraceCheckUtils]: 88: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:51,548 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {2030#true} {2030#true} #446#return; {2030#true} is VALID [2022-02-20 16:47:51,549 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:47:51,549 INFO L290 TraceCheckUtils]: 91: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:51,549 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:47:51,550 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:47:51,550 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:47:51,551 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:47:51,551 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:47:51,552 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; {2782#(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:47:51,553 INFO L290 TraceCheckUtils]: 98: Hoare triple {2782#(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; {2782#(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:47:51,553 INFO L290 TraceCheckUtils]: 99: Hoare triple {2782#(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; {2782#(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:47:51,553 INFO L290 TraceCheckUtils]: 100: Hoare triple {2782#(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; {2792#(not (= |dll_create_generic_#res.base| 0))} is VALID [2022-02-20 16:47:51,554 INFO L290 TraceCheckUtils]: 101: Hoare triple {2792#(not (= |dll_create_generic_#res.base| 0))} assume true; {2792#(not (= |dll_create_generic_#res.base| 0))} is VALID [2022-02-20 16:47:51,554 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {2792#(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:47:51,555 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:47:51,555 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:47:51,556 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:47:51,556 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:47:51,556 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:47:51,556 INFO L272 TraceCheckUtils]: 108: Hoare triple {2031#false} call fail(); {2031#false} is VALID [2022-02-20 16:47:51,556 INFO L290 TraceCheckUtils]: 109: Hoare triple {2031#false} assume !false; {2031#false} is VALID [2022-02-20 16:47:51,557 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:47:51,557 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:47:52,346 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:47:52,347 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:47:52,357 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:47:52,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 116 treesize of output 114 [2022-02-20 16:47:52,445 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:47:52,452 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:47:52,484 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:47:52,485 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:47:52,490 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:47:52,498 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:47:52,543 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:47:52,551 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:47:52,823 INFO L290 TraceCheckUtils]: 109: Hoare triple {2031#false} assume !false; {2031#false} is VALID [2022-02-20 16:47:52,823 INFO L272 TraceCheckUtils]: 108: Hoare triple {2031#false} call fail(); {2031#false} is VALID [2022-02-20 16:47:52,824 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:47:52,824 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:47:52,824 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:47:52,825 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:47:52,825 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:47:52,826 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {2792#(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:47:52,826 INFO L290 TraceCheckUtils]: 101: Hoare triple {2792#(not (= |dll_create_generic_#res.base| 0))} assume true; {2792#(not (= |dll_create_generic_#res.base| 0))} is VALID [2022-02-20 16:47:52,826 INFO L290 TraceCheckUtils]: 100: Hoare triple {2850#(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; {2792#(not (= |dll_create_generic_#res.base| 0))} is VALID [2022-02-20 16:47:52,827 INFO L290 TraceCheckUtils]: 99: Hoare triple {2850#(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; {2850#(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:47:52,827 INFO L290 TraceCheckUtils]: 98: Hoare triple {2850#(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; {2850#(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:47:52,828 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; {2850#(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:47:52,828 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:47:52,828 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:47:52,829 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:47:52,829 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:47:52,830 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:47:52,830 INFO L290 TraceCheckUtils]: 91: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:52,830 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:47:52,830 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {2030#true} {2030#true} #446#return; {2030#true} is VALID [2022-02-20 16:47:52,830 INFO L290 TraceCheckUtils]: 88: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:52,830 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:47:52,830 INFO L290 TraceCheckUtils]: 86: Hoare triple {2030#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {2030#true} is VALID [2022-02-20 16:47:52,830 INFO L290 TraceCheckUtils]: 85: Hoare triple {2030#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {2030#true} is VALID [2022-02-20 16:47:52,830 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {2030#true} {2030#true} #452#return; {2030#true} is VALID [2022-02-20 16:47:52,830 INFO L290 TraceCheckUtils]: 83: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:52,831 INFO L290 TraceCheckUtils]: 82: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:47:52,831 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:47:52,831 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:47:52,831 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:47:52,831 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, 4 + 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:47:52,831 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:47:52,831 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:47:52,831 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:47:52,831 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:47:52,831 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {2030#true} {2030#true} #450#return; {2030#true} is VALID [2022-02-20 16:47:52,831 INFO L290 TraceCheckUtils]: 72: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:52,831 INFO L290 TraceCheckUtils]: 71: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:47:52,831 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:47:52,831 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:47:52,831 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:47:52,831 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, 4 + 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:47:52,831 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:47:52,831 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:47:52,831 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:47:52,831 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:47:52,832 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:47:52,832 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:47:52,832 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:47:52,832 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:47:52,832 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:47:52,833 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:47:52,833 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:47:52,834 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:47:52,834 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:47:52,834 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:47:52,835 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:47:52,835 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:47:52,835 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2030#true} {2030#true} #450#return; {2030#true} is VALID [2022-02-20 16:47:52,835 INFO L290 TraceCheckUtils]: 49: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:52,835 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {2030#true} {2030#true} #456#return; {2030#true} is VALID [2022-02-20 16:47:52,835 INFO L290 TraceCheckUtils]: 47: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:52,835 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:47:52,835 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2030#true} {2030#true} #448#return; {2030#true} is VALID [2022-02-20 16:47:52,835 INFO L290 TraceCheckUtils]: 44: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:52,835 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:47:52,835 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {2030#true} {2030#true} #446#return; {2030#true} is VALID [2022-02-20 16:47:52,835 INFO L290 TraceCheckUtils]: 41: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:52,835 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:47:52,835 INFO L290 TraceCheckUtils]: 39: Hoare triple {2030#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {2030#true} is VALID [2022-02-20 16:47:52,835 INFO L290 TraceCheckUtils]: 38: Hoare triple {2030#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {2030#true} is VALID [2022-02-20 16:47:52,835 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2030#true} {2030#true} #452#return; {2030#true} is VALID [2022-02-20 16:47:52,835 INFO L290 TraceCheckUtils]: 36: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:52,835 INFO L290 TraceCheckUtils]: 35: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:47:52,836 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:47:52,836 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:47:52,836 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:47:52,836 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, 4 + 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:47:52,836 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:47:52,836 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:47:52,836 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:47:52,836 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:47:52,836 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2030#true} {2030#true} #450#return; {2030#true} is VALID [2022-02-20 16:47:52,836 INFO L290 TraceCheckUtils]: 25: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:47:52,836 INFO L290 TraceCheckUtils]: 24: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:47:52,836 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:47:52,836 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:47:52,836 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:47:52,836 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, 4 + 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:47:52,836 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:47:52,836 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:47:52,836 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:47:52,836 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:47:52,836 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:47:52,836 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:47:52,837 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:47:52,837 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:47:52,837 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:47:52,837 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:47:52,837 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:47:52,837 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:47:52,837 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:47:52,837 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:47:52,837 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:47:52,837 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:47:52,837 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:47:52,837 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:47:52,837 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:47:52,837 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:47:52,837 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:47:52,838 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1335152346] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 16:47:52,838 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 16:47:52,838 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 16, 15] total 27 [2022-02-20 16:47:52,838 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [57670648] [2022-02-20 16:47:52,838 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 16:47:52,839 INFO L78 Accepts]: Start accepts. Automaton has has 27 states, 23 states have (on average 2.9565217391304346) internal successors, (68), 23 states have internal predecessors, (68), 11 states have call successors, (22), 4 states have call predecessors, (22), 7 states have return successors, (17), 11 states have call predecessors, (17), 9 states have call successors, (17) Word has length 110 [2022-02-20 16:47:52,905 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:47:52,906 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 27 states, 23 states have (on average 2.9565217391304346) internal successors, (68), 23 states have internal predecessors, (68), 11 states have call successors, (22), 4 states have call predecessors, (22), 7 states have return successors, (17), 11 states have call predecessors, (17), 9 states have call successors, (17) [2022-02-20 16:47:52,988 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 107 edges. 107 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:47:52,988 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 27 states [2022-02-20 16:47:52,988 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:47:52,989 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2022-02-20 16:47:52,990 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=58, Invalid=644, Unknown=0, NotChecked=0, Total=702 [2022-02-20 16:47:52,990 INFO L87 Difference]: Start difference. First operand 133 states and 164 transitions. Second operand has 27 states, 23 states have (on average 2.9565217391304346) internal successors, (68), 23 states have internal predecessors, (68), 11 states have call successors, (22), 4 states have call predecessors, (22), 7 states have return successors, (17), 11 states have call predecessors, (17), 9 states have call successors, (17) [2022-02-20 16:47:57,522 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:57,522 INFO L93 Difference]: Finished difference Result 330 states and 410 transitions. [2022-02-20 16:47:57,522 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2022-02-20 16:47:57,523 INFO L78 Accepts]: Start accepts. Automaton has has 27 states, 23 states have (on average 2.9565217391304346) internal successors, (68), 23 states have internal predecessors, (68), 11 states have call successors, (22), 4 states have call predecessors, (22), 7 states have return successors, (17), 11 states have call predecessors, (17), 9 states have call successors, (17) Word has length 110 [2022-02-20 16:47:57,523 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:47:57,524 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 23 states have (on average 2.9565217391304346) internal successors, (68), 23 states have internal predecessors, (68), 11 states have call successors, (22), 4 states have call predecessors, (22), 7 states have return successors, (17), 11 states have call predecessors, (17), 9 states have call successors, (17) [2022-02-20 16:47:57,531 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 396 transitions. [2022-02-20 16:47:57,532 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 23 states have (on average 2.9565217391304346) internal successors, (68), 23 states have internal predecessors, (68), 11 states have call successors, (22), 4 states have call predecessors, (22), 7 states have return successors, (17), 11 states have call predecessors, (17), 9 states have call successors, (17) [2022-02-20 16:47:57,537 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 396 transitions. [2022-02-20 16:47:57,538 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 27 states and 396 transitions. [2022-02-20 16:47:57,802 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 396 edges. 396 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:47:57,807 INFO L225 Difference]: With dead ends: 330 [2022-02-20 16:47:57,807 INFO L226 Difference]: Without dead ends: 201 [2022-02-20 16:47:57,808 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 285 GetRequests, 240 SyntacticMatches, 1 SemanticMatches, 44 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 250 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=175, Invalid=1895, Unknown=0, NotChecked=0, Total=2070 [2022-02-20 16:47:57,809 INFO L933 BasicCegarLoop]: 131 mSDtfsCounter, 255 mSDsluCounter, 1898 mSDsCounter, 0 mSdLazyCounter, 1846 mSolverCounterSat, 73 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 257 SdHoareTripleChecker+Valid, 2029 SdHoareTripleChecker+Invalid, 1919 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 73 IncrementalHoareTripleChecker+Valid, 1846 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.7s IncrementalHoareTripleChecker+Time [2022-02-20 16:47:57,809 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [257 Valid, 2029 Invalid, 1919 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [73 Valid, 1846 Invalid, 0 Unknown, 0 Unchecked, 1.7s Time] [2022-02-20 16:47:57,810 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 201 states. [2022-02-20 16:47:57,826 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 201 to 166. [2022-02-20 16:47:57,826 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:47:57,827 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:47:57,827 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:47:57,828 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:47:57,833 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:57,833 INFO L93 Difference]: Finished difference Result 201 states and 246 transitions. [2022-02-20 16:47:57,833 INFO L276 IsEmpty]: Start isEmpty. Operand 201 states and 246 transitions. [2022-02-20 16:47:57,833 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:47:57,834 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:47:57,834 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:47:57,834 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:47:57,839 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:57,840 INFO L93 Difference]: Finished difference Result 201 states and 246 transitions. [2022-02-20 16:47:57,840 INFO L276 IsEmpty]: Start isEmpty. Operand 201 states and 246 transitions. [2022-02-20 16:47:57,840 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:47:57,840 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:47:57,840 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:47:57,841 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:47:57,841 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:47:57,845 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 166 states to 166 states and 204 transitions. [2022-02-20 16:47:57,845 INFO L78 Accepts]: Start accepts. Automaton has 166 states and 204 transitions. Word has length 110 [2022-02-20 16:47:57,845 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:47:57,846 INFO L470 AbstractCegarLoop]: Abstraction has 166 states and 204 transitions. [2022-02-20 16:47:57,846 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 27 states, 23 states have (on average 2.9565217391304346) internal successors, (68), 23 states have internal predecessors, (68), 11 states have call successors, (22), 4 states have call predecessors, (22), 7 states have return successors, (17), 11 states have call predecessors, (17), 9 states have call successors, (17) [2022-02-20 16:47:57,846 INFO L276 IsEmpty]: Start isEmpty. Operand 166 states and 204 transitions. [2022-02-20 16:47:57,847 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 114 [2022-02-20 16:47:57,847 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:47:57,847 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:47:57,867 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:47:58,065 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:47:58,065 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting failErr0ASSERT_VIOLATIONERROR_FUNCTION === [failErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:47:58,066 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:47:58,066 INFO L85 PathProgramCache]: Analyzing trace with hash -692589117, now seen corresponding path program 1 times [2022-02-20 16:47:58,066 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:47:58,066 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1178971914] [2022-02-20 16:47:58,066 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:47:58,066 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:47:58,144 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:58,207 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 16:47:58,246 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:58,289 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-02-20 16:47:58,299 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:58,308 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 16:47:58,317 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:58,327 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-02-20 16:47:58,334 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:58,347 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-02-20 16:47:58,353 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:58,364 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-02-20 16:47:58,367 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:58,373 INFO L290 TraceCheckUtils]: 0: Hoare triple {4375#(and (= |old(#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; {4273#true} is VALID [2022-02-20 16:47:58,374 INFO L290 TraceCheckUtils]: 1: Hoare triple {4273#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; {4273#true} is VALID [2022-02-20 16:47:58,374 INFO L290 TraceCheckUtils]: 2: Hoare triple {4273#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {4273#true} is VALID [2022-02-20 16:47:58,374 INFO L290 TraceCheckUtils]: 3: Hoare triple {4273#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, 4 + 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; {4273#true} is VALID [2022-02-20 16:47:58,374 INFO L290 TraceCheckUtils]: 4: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:47:58,374 INFO L290 TraceCheckUtils]: 5: Hoare triple {4273#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {4273#true} is VALID [2022-02-20 16:47:58,374 INFO L290 TraceCheckUtils]: 6: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:47:58,374 INFO L290 TraceCheckUtils]: 7: Hoare triple {4273#true} assume { :end_inline_dll_insert_slave } true; {4273#true} is VALID [2022-02-20 16:47:58,375 INFO L290 TraceCheckUtils]: 8: Hoare triple {4273#true} assume true; {4273#true} is VALID [2022-02-20 16:47:58,375 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {4273#true} {4273#true} #450#return; {4273#true} is VALID [2022-02-20 16:47:58,375 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-02-20 16:47:58,378 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:58,381 INFO L290 TraceCheckUtils]: 0: Hoare triple {4375#(and (= |old(#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; {4273#true} is VALID [2022-02-20 16:47:58,381 INFO L290 TraceCheckUtils]: 1: Hoare triple {4273#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; {4273#true} is VALID [2022-02-20 16:47:58,381 INFO L290 TraceCheckUtils]: 2: Hoare triple {4273#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {4273#true} is VALID [2022-02-20 16:47:58,381 INFO L290 TraceCheckUtils]: 3: Hoare triple {4273#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, 4 + 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; {4273#true} is VALID [2022-02-20 16:47:58,381 INFO L290 TraceCheckUtils]: 4: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:47:58,382 INFO L290 TraceCheckUtils]: 5: Hoare triple {4273#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {4273#true} is VALID [2022-02-20 16:47:58,382 INFO L290 TraceCheckUtils]: 6: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:47:58,382 INFO L290 TraceCheckUtils]: 7: Hoare triple {4273#true} assume { :end_inline_dll_insert_slave } true; {4273#true} is VALID [2022-02-20 16:47:58,382 INFO L290 TraceCheckUtils]: 8: Hoare triple {4273#true} assume true; {4273#true} is VALID [2022-02-20 16:47:58,382 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {4273#true} {4273#true} #452#return; {4273#true} is VALID [2022-02-20 16:47:58,382 INFO L290 TraceCheckUtils]: 0: Hoare triple {4375#(and (= |old(#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); {4273#true} is VALID [2022-02-20 16:47:58,383 INFO L272 TraceCheckUtils]: 1: Hoare triple {4273#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4375#(and (= |old(#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,383 INFO L290 TraceCheckUtils]: 2: Hoare triple {4375#(and (= |old(#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; {4273#true} is VALID [2022-02-20 16:47:58,383 INFO L290 TraceCheckUtils]: 3: Hoare triple {4273#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; {4273#true} is VALID [2022-02-20 16:47:58,383 INFO L290 TraceCheckUtils]: 4: Hoare triple {4273#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {4273#true} is VALID [2022-02-20 16:47:58,383 INFO L290 TraceCheckUtils]: 5: Hoare triple {4273#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, 4 + 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; {4273#true} is VALID [2022-02-20 16:47:58,384 INFO L290 TraceCheckUtils]: 6: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:47:58,384 INFO L290 TraceCheckUtils]: 7: Hoare triple {4273#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {4273#true} is VALID [2022-02-20 16:47:58,384 INFO L290 TraceCheckUtils]: 8: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:47:58,384 INFO L290 TraceCheckUtils]: 9: Hoare triple {4273#true} assume { :end_inline_dll_insert_slave } true; {4273#true} is VALID [2022-02-20 16:47:58,384 INFO L290 TraceCheckUtils]: 10: Hoare triple {4273#true} assume true; {4273#true} is VALID [2022-02-20 16:47:58,384 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {4273#true} {4273#true} #450#return; {4273#true} is VALID [2022-02-20 16:47:58,385 INFO L272 TraceCheckUtils]: 12: Hoare triple {4273#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4375#(and (= |old(#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,385 INFO L290 TraceCheckUtils]: 13: Hoare triple {4375#(and (= |old(#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; {4273#true} is VALID [2022-02-20 16:47:58,385 INFO L290 TraceCheckUtils]: 14: Hoare triple {4273#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; {4273#true} is VALID [2022-02-20 16:47:58,385 INFO L290 TraceCheckUtils]: 15: Hoare triple {4273#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {4273#true} is VALID [2022-02-20 16:47:58,385 INFO L290 TraceCheckUtils]: 16: Hoare triple {4273#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, 4 + 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; {4273#true} is VALID [2022-02-20 16:47:58,385 INFO L290 TraceCheckUtils]: 17: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:47:58,386 INFO L290 TraceCheckUtils]: 18: Hoare triple {4273#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {4273#true} is VALID [2022-02-20 16:47:58,386 INFO L290 TraceCheckUtils]: 19: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:47:58,386 INFO L290 TraceCheckUtils]: 20: Hoare triple {4273#true} assume { :end_inline_dll_insert_slave } true; {4273#true} is VALID [2022-02-20 16:47:58,386 INFO L290 TraceCheckUtils]: 21: Hoare triple {4273#true} assume true; {4273#true} is VALID [2022-02-20 16:47:58,386 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4273#true} {4273#true} #452#return; {4273#true} is VALID [2022-02-20 16:47:58,386 INFO L290 TraceCheckUtils]: 23: Hoare triple {4273#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {4273#true} is VALID [2022-02-20 16:47:58,386 INFO L290 TraceCheckUtils]: 24: Hoare triple {4273#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {4273#true} is VALID [2022-02-20 16:47:58,386 INFO L290 TraceCheckUtils]: 25: Hoare triple {4273#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; {4273#true} is VALID [2022-02-20 16:47:58,386 INFO L290 TraceCheckUtils]: 26: Hoare triple {4273#true} assume true; {4273#true} is VALID [2022-02-20 16:47:58,387 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {4273#true} {4375#(and (= |old(#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; {4273#true} is VALID [2022-02-20 16:47:58,387 INFO L272 TraceCheckUtils]: 0: Hoare triple {4375#(and (= |old(#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); {4375#(and (= |old(#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,387 INFO L290 TraceCheckUtils]: 1: Hoare triple {4375#(and (= |old(#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); {4273#true} is VALID [2022-02-20 16:47:58,388 INFO L272 TraceCheckUtils]: 2: Hoare triple {4273#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4375#(and (= |old(#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,388 INFO L290 TraceCheckUtils]: 3: Hoare triple {4375#(and (= |old(#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; {4273#true} is VALID [2022-02-20 16:47:58,388 INFO L290 TraceCheckUtils]: 4: Hoare triple {4273#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; {4273#true} is VALID [2022-02-20 16:47:58,388 INFO L290 TraceCheckUtils]: 5: Hoare triple {4273#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {4273#true} is VALID [2022-02-20 16:47:58,389 INFO L290 TraceCheckUtils]: 6: Hoare triple {4273#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, 4 + 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; {4273#true} is VALID [2022-02-20 16:47:58,389 INFO L290 TraceCheckUtils]: 7: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:47:58,389 INFO L290 TraceCheckUtils]: 8: Hoare triple {4273#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {4273#true} is VALID [2022-02-20 16:47:58,389 INFO L290 TraceCheckUtils]: 9: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:47:58,389 INFO L290 TraceCheckUtils]: 10: Hoare triple {4273#true} assume { :end_inline_dll_insert_slave } true; {4273#true} is VALID [2022-02-20 16:47:58,389 INFO L290 TraceCheckUtils]: 11: Hoare triple {4273#true} assume true; {4273#true} is VALID [2022-02-20 16:47:58,389 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {4273#true} {4273#true} #450#return; {4273#true} is VALID [2022-02-20 16:47:58,390 INFO L272 TraceCheckUtils]: 13: Hoare triple {4273#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4375#(and (= |old(#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,390 INFO L290 TraceCheckUtils]: 14: Hoare triple {4375#(and (= |old(#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; {4273#true} is VALID [2022-02-20 16:47:58,390 INFO L290 TraceCheckUtils]: 15: Hoare triple {4273#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; {4273#true} is VALID [2022-02-20 16:47:58,390 INFO L290 TraceCheckUtils]: 16: Hoare triple {4273#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {4273#true} is VALID [2022-02-20 16:47:58,390 INFO L290 TraceCheckUtils]: 17: Hoare triple {4273#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, 4 + 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; {4273#true} is VALID [2022-02-20 16:47:58,390 INFO L290 TraceCheckUtils]: 18: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:47:58,391 INFO L290 TraceCheckUtils]: 19: Hoare triple {4273#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {4273#true} is VALID [2022-02-20 16:47:58,391 INFO L290 TraceCheckUtils]: 20: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:47:58,391 INFO L290 TraceCheckUtils]: 21: Hoare triple {4273#true} assume { :end_inline_dll_insert_slave } true; {4273#true} is VALID [2022-02-20 16:47:58,391 INFO L290 TraceCheckUtils]: 22: Hoare triple {4273#true} assume true; {4273#true} is VALID [2022-02-20 16:47:58,391 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4273#true} {4273#true} #452#return; {4273#true} is VALID [2022-02-20 16:47:58,391 INFO L290 TraceCheckUtils]: 24: Hoare triple {4273#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {4273#true} is VALID [2022-02-20 16:47:58,391 INFO L290 TraceCheckUtils]: 25: Hoare triple {4273#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {4273#true} is VALID [2022-02-20 16:47:58,391 INFO L290 TraceCheckUtils]: 26: Hoare triple {4273#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; {4273#true} is VALID [2022-02-20 16:47:58,391 INFO L290 TraceCheckUtils]: 27: Hoare triple {4273#true} assume true; {4273#true} is VALID [2022-02-20 16:47:58,392 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4273#true} {4375#(and (= |old(#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; {4273#true} is VALID [2022-02-20 16:47:58,392 INFO L290 TraceCheckUtils]: 29: Hoare triple {4273#true} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {4273#true} is VALID [2022-02-20 16:47:58,392 INFO L290 TraceCheckUtils]: 30: Hoare triple {4273#true} assume true; {4273#true} is VALID [2022-02-20 16:47:58,392 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {4273#true} {4273#true} #448#return; {4273#true} is VALID [2022-02-20 16:47:58,392 INFO L290 TraceCheckUtils]: 0: Hoare triple {4375#(and (= |old(#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; {4273#true} is VALID [2022-02-20 16:47:58,392 INFO L290 TraceCheckUtils]: 1: Hoare triple {4273#true} assume !(alloc_or_die_master_~ptr~1#1.base == 0 && alloc_or_die_master_~ptr~1#1.offset == 0); {4273#true} is VALID [2022-02-20 16:47:58,392 INFO L290 TraceCheckUtils]: 2: Hoare triple {4273#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; {4273#true} is VALID [2022-02-20 16:47:58,392 INFO L290 TraceCheckUtils]: 3: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:47:58,393 INFO L290 TraceCheckUtils]: 4: Hoare triple {4273#true} assume !(~next~3#1.base != 0 || ~next~3#1.offset != 0); {4273#true} is VALID [2022-02-20 16:47:58,393 INFO L272 TraceCheckUtils]: 5: Hoare triple {4273#true} call #t~ret20#1.base, #t~ret20#1.offset := dll_create_slave(); {4375#(and (= |old(#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,394 INFO L272 TraceCheckUtils]: 6: Hoare triple {4375#(and (= |old(#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); {4375#(and (= |old(#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,394 INFO L290 TraceCheckUtils]: 7: Hoare triple {4375#(and (= |old(#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); {4273#true} is VALID [2022-02-20 16:47:58,394 INFO L272 TraceCheckUtils]: 8: Hoare triple {4273#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4375#(and (= |old(#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,394 INFO L290 TraceCheckUtils]: 9: Hoare triple {4375#(and (= |old(#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; {4273#true} is VALID [2022-02-20 16:47:58,395 INFO L290 TraceCheckUtils]: 10: Hoare triple {4273#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; {4273#true} is VALID [2022-02-20 16:47:58,395 INFO L290 TraceCheckUtils]: 11: Hoare triple {4273#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {4273#true} is VALID [2022-02-20 16:47:58,395 INFO L290 TraceCheckUtils]: 12: Hoare triple {4273#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, 4 + 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; {4273#true} is VALID [2022-02-20 16:47:58,395 INFO L290 TraceCheckUtils]: 13: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:47:58,395 INFO L290 TraceCheckUtils]: 14: Hoare triple {4273#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {4273#true} is VALID [2022-02-20 16:47:58,395 INFO L290 TraceCheckUtils]: 15: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:47:58,395 INFO L290 TraceCheckUtils]: 16: Hoare triple {4273#true} assume { :end_inline_dll_insert_slave } true; {4273#true} is VALID [2022-02-20 16:47:58,395 INFO L290 TraceCheckUtils]: 17: Hoare triple {4273#true} assume true; {4273#true} is VALID [2022-02-20 16:47:58,395 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4273#true} {4273#true} #450#return; {4273#true} is VALID [2022-02-20 16:47:58,396 INFO L272 TraceCheckUtils]: 19: Hoare triple {4273#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4375#(and (= |old(#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,396 INFO L290 TraceCheckUtils]: 20: Hoare triple {4375#(and (= |old(#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; {4273#true} is VALID [2022-02-20 16:47:58,396 INFO L290 TraceCheckUtils]: 21: Hoare triple {4273#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; {4273#true} is VALID [2022-02-20 16:47:58,396 INFO L290 TraceCheckUtils]: 22: Hoare triple {4273#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {4273#true} is VALID [2022-02-20 16:47:58,397 INFO L290 TraceCheckUtils]: 23: Hoare triple {4273#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, 4 + 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; {4273#true} is VALID [2022-02-20 16:47:58,397 INFO L290 TraceCheckUtils]: 24: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:47:58,397 INFO L290 TraceCheckUtils]: 25: Hoare triple {4273#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {4273#true} is VALID [2022-02-20 16:47:58,397 INFO L290 TraceCheckUtils]: 26: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:47:58,397 INFO L290 TraceCheckUtils]: 27: Hoare triple {4273#true} assume { :end_inline_dll_insert_slave } true; {4273#true} is VALID [2022-02-20 16:47:58,397 INFO L290 TraceCheckUtils]: 28: Hoare triple {4273#true} assume true; {4273#true} is VALID [2022-02-20 16:47:58,397 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {4273#true} {4273#true} #452#return; {4273#true} is VALID [2022-02-20 16:47:58,397 INFO L290 TraceCheckUtils]: 30: Hoare triple {4273#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {4273#true} is VALID [2022-02-20 16:47:58,397 INFO L290 TraceCheckUtils]: 31: Hoare triple {4273#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {4273#true} is VALID [2022-02-20 16:47:58,398 INFO L290 TraceCheckUtils]: 32: Hoare triple {4273#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; {4273#true} is VALID [2022-02-20 16:47:58,398 INFO L290 TraceCheckUtils]: 33: Hoare triple {4273#true} assume true; {4273#true} is VALID [2022-02-20 16:47:58,398 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {4273#true} {4375#(and (= |old(#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; {4273#true} is VALID [2022-02-20 16:47:58,398 INFO L290 TraceCheckUtils]: 35: Hoare triple {4273#true} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {4273#true} is VALID [2022-02-20 16:47:58,398 INFO L290 TraceCheckUtils]: 36: Hoare triple {4273#true} assume true; {4273#true} is VALID [2022-02-20 16:47:58,398 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4273#true} {4273#true} #448#return; {4273#true} is VALID [2022-02-20 16:47:58,398 INFO L290 TraceCheckUtils]: 38: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:47:58,398 INFO L290 TraceCheckUtils]: 39: Hoare triple {4273#true} assume true; {4273#true} is VALID [2022-02-20 16:47:58,398 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {4273#true} {4273#true} #456#return; {4273#true} is VALID [2022-02-20 16:47:58,430 INFO L290 TraceCheckUtils]: 0: Hoare triple {4375#(and (= |old(#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; {4273#true} is VALID [2022-02-20 16:47:58,430 INFO L290 TraceCheckUtils]: 1: Hoare triple {4273#true} assume #in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset; {4273#true} is VALID [2022-02-20 16:47:58,432 INFO L272 TraceCheckUtils]: 2: Hoare triple {4273#true} call dll_insert_master(#~10#1.base, #~10#1.offset); {4375#(and (= |old(#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,432 INFO L290 TraceCheckUtils]: 3: Hoare triple {4375#(and (= |old(#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; {4273#true} is VALID [2022-02-20 16:47:58,432 INFO L290 TraceCheckUtils]: 4: Hoare triple {4273#true} assume !(alloc_or_die_master_~ptr~1#1.base == 0 && alloc_or_die_master_~ptr~1#1.offset == 0); {4273#true} is VALID [2022-02-20 16:47:58,432 INFO L290 TraceCheckUtils]: 5: Hoare triple {4273#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; {4273#true} is VALID [2022-02-20 16:47:58,432 INFO L290 TraceCheckUtils]: 6: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:47:58,432 INFO L290 TraceCheckUtils]: 7: Hoare triple {4273#true} assume !(~next~3#1.base != 0 || ~next~3#1.offset != 0); {4273#true} is VALID [2022-02-20 16:47:58,433 INFO L272 TraceCheckUtils]: 8: Hoare triple {4273#true} call #t~ret20#1.base, #t~ret20#1.offset := dll_create_slave(); {4375#(and (= |old(#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,433 INFO L272 TraceCheckUtils]: 9: Hoare triple {4375#(and (= |old(#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); {4375#(and (= |old(#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,433 INFO L290 TraceCheckUtils]: 10: Hoare triple {4375#(and (= |old(#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); {4273#true} is VALID [2022-02-20 16:47:58,434 INFO L272 TraceCheckUtils]: 11: Hoare triple {4273#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4375#(and (= |old(#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,434 INFO L290 TraceCheckUtils]: 12: Hoare triple {4375#(and (= |old(#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; {4273#true} is VALID [2022-02-20 16:47:58,434 INFO L290 TraceCheckUtils]: 13: Hoare triple {4273#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; {4273#true} is VALID [2022-02-20 16:47:58,434 INFO L290 TraceCheckUtils]: 14: Hoare triple {4273#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {4273#true} is VALID [2022-02-20 16:47:58,434 INFO L290 TraceCheckUtils]: 15: Hoare triple {4273#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, 4 + 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; {4273#true} is VALID [2022-02-20 16:47:58,434 INFO L290 TraceCheckUtils]: 16: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:47:58,434 INFO L290 TraceCheckUtils]: 17: Hoare triple {4273#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {4273#true} is VALID [2022-02-20 16:47:58,434 INFO L290 TraceCheckUtils]: 18: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:47:58,435 INFO L290 TraceCheckUtils]: 19: Hoare triple {4273#true} assume { :end_inline_dll_insert_slave } true; {4273#true} is VALID [2022-02-20 16:47:58,435 INFO L290 TraceCheckUtils]: 20: Hoare triple {4273#true} assume true; {4273#true} is VALID [2022-02-20 16:47:58,435 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4273#true} {4273#true} #450#return; {4273#true} is VALID [2022-02-20 16:47:58,435 INFO L272 TraceCheckUtils]: 22: Hoare triple {4273#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4375#(and (= |old(#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,435 INFO L290 TraceCheckUtils]: 23: Hoare triple {4375#(and (= |old(#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; {4273#true} is VALID [2022-02-20 16:47:58,435 INFO L290 TraceCheckUtils]: 24: Hoare triple {4273#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; {4273#true} is VALID [2022-02-20 16:47:58,435 INFO L290 TraceCheckUtils]: 25: Hoare triple {4273#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {4273#true} is VALID [2022-02-20 16:47:58,436 INFO L290 TraceCheckUtils]: 26: Hoare triple {4273#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, 4 + 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; {4273#true} is VALID [2022-02-20 16:47:58,436 INFO L290 TraceCheckUtils]: 27: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:47:58,436 INFO L290 TraceCheckUtils]: 28: Hoare triple {4273#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {4273#true} is VALID [2022-02-20 16:47:58,436 INFO L290 TraceCheckUtils]: 29: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:47:58,436 INFO L290 TraceCheckUtils]: 30: Hoare triple {4273#true} assume { :end_inline_dll_insert_slave } true; {4273#true} is VALID [2022-02-20 16:47:58,436 INFO L290 TraceCheckUtils]: 31: Hoare triple {4273#true} assume true; {4273#true} is VALID [2022-02-20 16:47:58,436 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4273#true} {4273#true} #452#return; {4273#true} is VALID [2022-02-20 16:47:58,436 INFO L290 TraceCheckUtils]: 33: Hoare triple {4273#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {4273#true} is VALID [2022-02-20 16:47:58,436 INFO L290 TraceCheckUtils]: 34: Hoare triple {4273#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {4273#true} is VALID [2022-02-20 16:47:58,436 INFO L290 TraceCheckUtils]: 35: Hoare triple {4273#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; {4273#true} is VALID [2022-02-20 16:47:58,436 INFO L290 TraceCheckUtils]: 36: Hoare triple {4273#true} assume true; {4273#true} is VALID [2022-02-20 16:47:58,436 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4273#true} {4375#(and (= |old(#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; {4273#true} is VALID [2022-02-20 16:47:58,436 INFO L290 TraceCheckUtils]: 38: Hoare triple {4273#true} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {4273#true} is VALID [2022-02-20 16:47:58,436 INFO L290 TraceCheckUtils]: 39: Hoare triple {4273#true} assume true; {4273#true} is VALID [2022-02-20 16:47:58,436 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {4273#true} {4273#true} #448#return; {4273#true} is VALID [2022-02-20 16:47:58,436 INFO L290 TraceCheckUtils]: 41: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:47:58,436 INFO L290 TraceCheckUtils]: 42: Hoare triple {4273#true} assume true; {4273#true} is VALID [2022-02-20 16:47:58,437 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {4273#true} {4273#true} #456#return; {4273#true} is VALID [2022-02-20 16:47:58,437 INFO L290 TraceCheckUtils]: 44: Hoare triple {4273#true} assume true; {4273#true} is VALID [2022-02-20 16:47:58,437 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4273#true} {4273#true} #450#return; {4273#true} is VALID [2022-02-20 16:47:58,437 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 48 [2022-02-20 16:47:58,458 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:58,489 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 16:47:58,513 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:58,526 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-02-20 16:47:58,537 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:58,552 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-02-20 16:47:58,562 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:58,583 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-02-20 16:47:58,588 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:58,634 INFO L290 TraceCheckUtils]: 0: Hoare triple {4375#(and (= |old(#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; {4712#(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:47:58,635 INFO L290 TraceCheckUtils]: 1: Hoare triple {4712#(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; {4713#(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:47:58,635 INFO L290 TraceCheckUtils]: 2: Hoare triple {4713#(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); {4713#(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:47:58,636 INFO L290 TraceCheckUtils]: 3: Hoare triple {4713#(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, 4 + 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; {4714#(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:47:58,636 INFO L290 TraceCheckUtils]: 4: Hoare triple {4714#(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); {4715#(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:47:58,637 INFO L290 TraceCheckUtils]: 5: Hoare triple {4715#(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); {4715#(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:47:58,637 INFO L290 TraceCheckUtils]: 6: Hoare triple {4715#(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); {4716#(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:47:58,638 INFO L290 TraceCheckUtils]: 7: Hoare triple {4716#(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; {4716#(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:47:58,638 INFO L290 TraceCheckUtils]: 8: Hoare triple {4716#(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; {4716#(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:47:58,639 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {4716#(not (= (select (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0))} {4690#(<= (+ |#StackHeapBarrier| 1) |dll_create_generic_~#dll~0.base|)} #450#return; {4701#(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:47:58,639 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-02-20 16:47:58,646 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:58,776 INFO L290 TraceCheckUtils]: 0: Hoare triple {4375#(and (= |old(#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; {4717#(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:47:58,777 INFO L290 TraceCheckUtils]: 1: Hoare triple {4717#(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; {4718#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|)) (<= (+ 1 |##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:47:58,777 INFO L290 TraceCheckUtils]: 2: Hoare triple {4718#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|)) (<= (+ 1 |##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); {4718#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|)) (<= (+ 1 |##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:47:58,778 INFO L290 TraceCheckUtils]: 3: Hoare triple {4718#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|)) (<= (+ 1 |##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, 4 + 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; {4719#(and (or (= (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|)) (<= (+ |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base| 1) |#StackHeapBarrier|)) (= |##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|))} is VALID [2022-02-20 16:47:58,779 INFO L290 TraceCheckUtils]: 4: Hoare triple {4719#(and (or (= (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|)) (<= (+ |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base| 1) |#StackHeapBarrier|)) (= |##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|))} 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); {4720#(and (or (and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) |##fun~$Pointer$~TO~VOID_dll_insert_slave_~next~0#1.base|)) (<= (+ |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base| 1) |#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:47:58,780 INFO L290 TraceCheckUtils]: 5: Hoare triple {4720#(and (or (and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) |##fun~$Pointer$~TO~VOID_dll_insert_slave_~next~0#1.base|)) (<= (+ |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base| 1) |#StackHeapBarrier|)) (= |##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); {4721#(and (or (and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) 0)) (<= (+ |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base| 1) |#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:47:58,780 INFO L290 TraceCheckUtils]: 6: Hoare triple {4721#(and (or (and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) 0)) (<= (+ |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base| 1) |#StackHeapBarrier|)) (= |##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); {4722#(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:47:58,781 INFO L290 TraceCheckUtils]: 7: Hoare triple {4722#(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 { :end_inline_dll_insert_slave } true; {4722#(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:47:58,781 INFO L290 TraceCheckUtils]: 8: Hoare triple {4722#(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; {4722#(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:47:58,782 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {4722#(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|))} {4701#(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; {4274#false} is VALID [2022-02-20 16:47:58,783 INFO L290 TraceCheckUtils]: 0: Hoare triple {4375#(and (= |old(#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); {4690#(<= (+ |#StackHeapBarrier| 1) |dll_create_generic_~#dll~0.base|)} is VALID [2022-02-20 16:47:58,784 INFO L272 TraceCheckUtils]: 1: Hoare triple {4690#(<= (+ |#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); {4375#(and (= |old(#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,784 INFO L290 TraceCheckUtils]: 2: Hoare triple {4375#(and (= |old(#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; {4712#(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:47:58,784 INFO L290 TraceCheckUtils]: 3: Hoare triple {4712#(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; {4713#(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:47:58,785 INFO L290 TraceCheckUtils]: 4: Hoare triple {4713#(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); {4713#(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:47:58,785 INFO L290 TraceCheckUtils]: 5: Hoare triple {4713#(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, 4 + 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; {4714#(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:47:58,786 INFO L290 TraceCheckUtils]: 6: Hoare triple {4714#(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); {4715#(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:47:58,786 INFO L290 TraceCheckUtils]: 7: Hoare triple {4715#(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); {4715#(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:47:58,787 INFO L290 TraceCheckUtils]: 8: Hoare triple {4715#(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); {4716#(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:47:58,787 INFO L290 TraceCheckUtils]: 9: Hoare triple {4716#(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; {4716#(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:47:58,790 INFO L290 TraceCheckUtils]: 10: Hoare triple {4716#(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; {4716#(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:47:58,791 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {4716#(not (= (select (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0))} {4690#(<= (+ |#StackHeapBarrier| 1) |dll_create_generic_~#dll~0.base|)} #450#return; {4701#(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:47:58,793 INFO L272 TraceCheckUtils]: 12: Hoare triple {4701#(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); {4375#(and (= |old(#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,793 INFO L290 TraceCheckUtils]: 13: Hoare triple {4375#(and (= |old(#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; {4717#(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:47:58,794 INFO L290 TraceCheckUtils]: 14: Hoare triple {4717#(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; {4718#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|)) (<= (+ 1 |##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:47:58,794 INFO L290 TraceCheckUtils]: 15: Hoare triple {4718#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|)) (<= (+ 1 |##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); {4718#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|)) (<= (+ 1 |##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:47:58,795 INFO L290 TraceCheckUtils]: 16: Hoare triple {4718#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|)) (<= (+ 1 |##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, 4 + 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; {4719#(and (or (= (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|)) (<= (+ |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base| 1) |#StackHeapBarrier|)) (= |##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|))} is VALID [2022-02-20 16:47:58,796 INFO L290 TraceCheckUtils]: 17: Hoare triple {4719#(and (or (= (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|)) (<= (+ |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base| 1) |#StackHeapBarrier|)) (= |##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|))} 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); {4720#(and (or (and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) |##fun~$Pointer$~TO~VOID_dll_insert_slave_~next~0#1.base|)) (<= (+ |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base| 1) |#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:47:58,796 INFO L290 TraceCheckUtils]: 18: Hoare triple {4720#(and (or (and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) |##fun~$Pointer$~TO~VOID_dll_insert_slave_~next~0#1.base|)) (<= (+ |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base| 1) |#StackHeapBarrier|)) (= |##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); {4721#(and (or (and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) 0)) (<= (+ |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base| 1) |#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:47:58,797 INFO L290 TraceCheckUtils]: 19: Hoare triple {4721#(and (or (and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) 0)) (<= (+ |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base| 1) |#StackHeapBarrier|)) (= |##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); {4722#(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:47:58,797 INFO L290 TraceCheckUtils]: 20: Hoare triple {4722#(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 { :end_inline_dll_insert_slave } true; {4722#(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:47:58,798 INFO L290 TraceCheckUtils]: 21: Hoare triple {4722#(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; {4722#(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:47:58,799 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4722#(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|))} {4701#(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; {4274#false} is VALID [2022-02-20 16:47:58,799 INFO L290 TraceCheckUtils]: 23: Hoare triple {4274#false} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {4274#false} is VALID [2022-02-20 16:47:58,799 INFO L290 TraceCheckUtils]: 24: Hoare triple {4274#false} assume !(0 != #t~nondet9);havoc #t~nondet9; {4274#false} is VALID [2022-02-20 16:47:58,799 INFO L290 TraceCheckUtils]: 25: Hoare triple {4274#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; {4274#false} is VALID [2022-02-20 16:47:58,799 INFO L290 TraceCheckUtils]: 26: Hoare triple {4274#false} assume true; {4274#false} is VALID [2022-02-20 16:47:58,799 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {4274#false} {4375#(and (= |old(#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; {4274#false} is VALID [2022-02-20 16:47:58,800 INFO L272 TraceCheckUtils]: 0: Hoare triple {4375#(and (= |old(#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); {4375#(and (= |old(#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,801 INFO L290 TraceCheckUtils]: 1: Hoare triple {4375#(and (= |old(#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); {4690#(<= (+ |#StackHeapBarrier| 1) |dll_create_generic_~#dll~0.base|)} is VALID [2022-02-20 16:47:58,801 INFO L272 TraceCheckUtils]: 2: Hoare triple {4690#(<= (+ |#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); {4375#(and (= |old(#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,802 INFO L290 TraceCheckUtils]: 3: Hoare triple {4375#(and (= |old(#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; {4712#(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:47:58,802 INFO L290 TraceCheckUtils]: 4: Hoare triple {4712#(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; {4713#(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:47:58,803 INFO L290 TraceCheckUtils]: 5: Hoare triple {4713#(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); {4713#(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:47:58,803 INFO L290 TraceCheckUtils]: 6: Hoare triple {4713#(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, 4 + 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; {4714#(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:47:58,804 INFO L290 TraceCheckUtils]: 7: Hoare triple {4714#(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); {4715#(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:47:58,804 INFO L290 TraceCheckUtils]: 8: Hoare triple {4715#(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); {4715#(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:47:58,805 INFO L290 TraceCheckUtils]: 9: Hoare triple {4715#(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); {4716#(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:47:58,805 INFO L290 TraceCheckUtils]: 10: Hoare triple {4716#(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; {4716#(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:47:58,805 INFO L290 TraceCheckUtils]: 11: Hoare triple {4716#(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; {4716#(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:47:58,806 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {4716#(not (= (select (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0))} {4690#(<= (+ |#StackHeapBarrier| 1) |dll_create_generic_~#dll~0.base|)} #450#return; {4701#(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:47:58,807 INFO L272 TraceCheckUtils]: 13: Hoare triple {4701#(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); {4375#(and (= |old(#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,807 INFO L290 TraceCheckUtils]: 14: Hoare triple {4375#(and (= |old(#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; {4717#(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:47:58,808 INFO L290 TraceCheckUtils]: 15: Hoare triple {4717#(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; {4718#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|)) (<= (+ 1 |##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:47:58,809 INFO L290 TraceCheckUtils]: 16: Hoare triple {4718#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|)) (<= (+ 1 |##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); {4718#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|)) (<= (+ 1 |##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:47:58,809 INFO L290 TraceCheckUtils]: 17: Hoare triple {4718#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|)) (<= (+ 1 |##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, 4 + 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; {4719#(and (or (= (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|)) (<= (+ |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base| 1) |#StackHeapBarrier|)) (= |##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|))} is VALID [2022-02-20 16:47:58,810 INFO L290 TraceCheckUtils]: 18: Hoare triple {4719#(and (or (= (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|)) (<= (+ |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base| 1) |#StackHeapBarrier|)) (= |##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|))} 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); {4720#(and (or (and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) |##fun~$Pointer$~TO~VOID_dll_insert_slave_~next~0#1.base|)) (<= (+ |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base| 1) |#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:47:58,811 INFO L290 TraceCheckUtils]: 19: Hoare triple {4720#(and (or (and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) |##fun~$Pointer$~TO~VOID_dll_insert_slave_~next~0#1.base|)) (<= (+ |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base| 1) |#StackHeapBarrier|)) (= |##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); {4721#(and (or (and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) 0)) (<= (+ |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base| 1) |#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:47:58,811 INFO L290 TraceCheckUtils]: 20: Hoare triple {4721#(and (or (and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) 0)) (<= (+ |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base| 1) |#StackHeapBarrier|)) (= |##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); {4722#(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:47:58,812 INFO L290 TraceCheckUtils]: 21: Hoare triple {4722#(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 { :end_inline_dll_insert_slave } true; {4722#(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:47:58,812 INFO L290 TraceCheckUtils]: 22: Hoare triple {4722#(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; {4722#(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:47:58,813 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4722#(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|))} {4701#(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; {4274#false} is VALID [2022-02-20 16:47:58,813 INFO L290 TraceCheckUtils]: 24: Hoare triple {4274#false} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {4274#false} is VALID [2022-02-20 16:47:58,813 INFO L290 TraceCheckUtils]: 25: Hoare triple {4274#false} assume !(0 != #t~nondet9);havoc #t~nondet9; {4274#false} is VALID [2022-02-20 16:47:58,813 INFO L290 TraceCheckUtils]: 26: Hoare triple {4274#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; {4274#false} is VALID [2022-02-20 16:47:58,813 INFO L290 TraceCheckUtils]: 27: Hoare triple {4274#false} assume true; {4274#false} is VALID [2022-02-20 16:47:58,813 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4274#false} {4375#(and (= |old(#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; {4274#false} is VALID [2022-02-20 16:47:58,813 INFO L290 TraceCheckUtils]: 29: Hoare triple {4274#false} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {4274#false} is VALID [2022-02-20 16:47:58,813 INFO L290 TraceCheckUtils]: 30: Hoare triple {4274#false} assume true; {4274#false} is VALID [2022-02-20 16:47:58,813 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {4274#false} {4273#true} #448#return; {4274#false} is VALID [2022-02-20 16:47:58,814 INFO L290 TraceCheckUtils]: 0: Hoare triple {4375#(and (= |old(#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; {4273#true} is VALID [2022-02-20 16:47:58,814 INFO L290 TraceCheckUtils]: 1: Hoare triple {4273#true} assume !(alloc_or_die_master_~ptr~1#1.base == 0 && alloc_or_die_master_~ptr~1#1.offset == 0); {4273#true} is VALID [2022-02-20 16:47:58,814 INFO L290 TraceCheckUtils]: 2: Hoare triple {4273#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; {4273#true} is VALID [2022-02-20 16:47:58,814 INFO L290 TraceCheckUtils]: 3: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:47:58,814 INFO L290 TraceCheckUtils]: 4: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:47:58,819 INFO L272 TraceCheckUtils]: 5: Hoare triple {4273#true} call #t~ret20#1.base, #t~ret20#1.offset := dll_create_slave(); {4375#(and (= |old(#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,820 INFO L272 TraceCheckUtils]: 6: Hoare triple {4375#(and (= |old(#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); {4375#(and (= |old(#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,820 INFO L290 TraceCheckUtils]: 7: Hoare triple {4375#(and (= |old(#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); {4690#(<= (+ |#StackHeapBarrier| 1) |dll_create_generic_~#dll~0.base|)} is VALID [2022-02-20 16:47:58,821 INFO L272 TraceCheckUtils]: 8: Hoare triple {4690#(<= (+ |#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); {4375#(and (= |old(#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,822 INFO L290 TraceCheckUtils]: 9: Hoare triple {4375#(and (= |old(#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; {4712#(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:47:58,822 INFO L290 TraceCheckUtils]: 10: Hoare triple {4712#(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; {4713#(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:47:58,822 INFO L290 TraceCheckUtils]: 11: Hoare triple {4713#(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); {4713#(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:47:58,823 INFO L290 TraceCheckUtils]: 12: Hoare triple {4713#(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, 4 + 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; {4714#(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:47:58,824 INFO L290 TraceCheckUtils]: 13: Hoare triple {4714#(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); {4715#(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:47:58,824 INFO L290 TraceCheckUtils]: 14: Hoare triple {4715#(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); {4715#(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:47:58,824 INFO L290 TraceCheckUtils]: 15: Hoare triple {4715#(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); {4716#(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:47:58,825 INFO L290 TraceCheckUtils]: 16: Hoare triple {4716#(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; {4716#(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:47:58,825 INFO L290 TraceCheckUtils]: 17: Hoare triple {4716#(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; {4716#(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:47:58,826 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4716#(not (= (select (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0))} {4690#(<= (+ |#StackHeapBarrier| 1) |dll_create_generic_~#dll~0.base|)} #450#return; {4701#(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:47:58,827 INFO L272 TraceCheckUtils]: 19: Hoare triple {4701#(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); {4375#(and (= |old(#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,827 INFO L290 TraceCheckUtils]: 20: Hoare triple {4375#(and (= |old(#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; {4717#(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:47:58,828 INFO L290 TraceCheckUtils]: 21: Hoare triple {4717#(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; {4718#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|)) (<= (+ 1 |##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:47:58,828 INFO L290 TraceCheckUtils]: 22: Hoare triple {4718#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|)) (<= (+ 1 |##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); {4718#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|)) (<= (+ 1 |##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:47:58,829 INFO L290 TraceCheckUtils]: 23: Hoare triple {4718#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|)) (<= (+ 1 |##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, 4 + 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; {4719#(and (or (= (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|)) (<= (+ |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base| 1) |#StackHeapBarrier|)) (= |##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|))} is VALID [2022-02-20 16:47:58,830 INFO L290 TraceCheckUtils]: 24: Hoare triple {4719#(and (or (= (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|)) (<= (+ |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base| 1) |#StackHeapBarrier|)) (= |##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|))} 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); {4720#(and (or (and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) |##fun~$Pointer$~TO~VOID_dll_insert_slave_~next~0#1.base|)) (<= (+ |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base| 1) |#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:47:58,830 INFO L290 TraceCheckUtils]: 25: Hoare triple {4720#(and (or (and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) |##fun~$Pointer$~TO~VOID_dll_insert_slave_~next~0#1.base|)) (<= (+ |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base| 1) |#StackHeapBarrier|)) (= |##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); {4721#(and (or (and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) 0)) (<= (+ |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base| 1) |#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:47:58,831 INFO L290 TraceCheckUtils]: 26: Hoare triple {4721#(and (or (and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) 0)) (<= (+ |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base| 1) |#StackHeapBarrier|)) (= |##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); {4722#(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:47:58,831 INFO L290 TraceCheckUtils]: 27: Hoare triple {4722#(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 { :end_inline_dll_insert_slave } true; {4722#(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:47:58,832 INFO L290 TraceCheckUtils]: 28: Hoare triple {4722#(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; {4722#(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:47:58,833 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {4722#(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|))} {4701#(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; {4274#false} is VALID [2022-02-20 16:47:58,833 INFO L290 TraceCheckUtils]: 30: Hoare triple {4274#false} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {4274#false} is VALID [2022-02-20 16:47:58,833 INFO L290 TraceCheckUtils]: 31: Hoare triple {4274#false} assume !(0 != #t~nondet9);havoc #t~nondet9; {4274#false} is VALID [2022-02-20 16:47:58,833 INFO L290 TraceCheckUtils]: 32: Hoare triple {4274#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; {4274#false} is VALID [2022-02-20 16:47:58,833 INFO L290 TraceCheckUtils]: 33: Hoare triple {4274#false} assume true; {4274#false} is VALID [2022-02-20 16:47:58,833 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {4274#false} {4375#(and (= |old(#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; {4274#false} is VALID [2022-02-20 16:47:58,833 INFO L290 TraceCheckUtils]: 35: Hoare triple {4274#false} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {4274#false} is VALID [2022-02-20 16:47:58,833 INFO L290 TraceCheckUtils]: 36: Hoare triple {4274#false} assume true; {4274#false} is VALID [2022-02-20 16:47:58,833 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4274#false} {4273#true} #448#return; {4274#false} is VALID [2022-02-20 16:47:58,833 INFO L290 TraceCheckUtils]: 38: Hoare triple {4274#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); {4274#false} is VALID [2022-02-20 16:47:58,833 INFO L290 TraceCheckUtils]: 39: Hoare triple {4274#false} assume true; {4274#false} is VALID [2022-02-20 16:47:58,833 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {4274#false} {4273#true} #456#return; {4274#false} is VALID [2022-02-20 16:47:58,833 INFO L290 TraceCheckUtils]: 0: Hoare triple {4375#(and (= |old(#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; {4273#true} is VALID [2022-02-20 16:47:58,834 INFO L290 TraceCheckUtils]: 1: Hoare triple {4273#true} assume #in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset; {4273#true} is VALID [2022-02-20 16:47:58,834 INFO L272 TraceCheckUtils]: 2: Hoare triple {4273#true} call dll_insert_master(#~10#1.base, #~10#1.offset); {4375#(and (= |old(#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,834 INFO L290 TraceCheckUtils]: 3: Hoare triple {4375#(and (= |old(#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; {4273#true} is VALID [2022-02-20 16:47:58,834 INFO L290 TraceCheckUtils]: 4: Hoare triple {4273#true} assume !(alloc_or_die_master_~ptr~1#1.base == 0 && alloc_or_die_master_~ptr~1#1.offset == 0); {4273#true} is VALID [2022-02-20 16:47:58,834 INFO L290 TraceCheckUtils]: 5: Hoare triple {4273#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; {4273#true} is VALID [2022-02-20 16:47:58,834 INFO L290 TraceCheckUtils]: 6: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:47:58,835 INFO L290 TraceCheckUtils]: 7: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:47:58,835 INFO L272 TraceCheckUtils]: 8: Hoare triple {4273#true} call #t~ret20#1.base, #t~ret20#1.offset := dll_create_slave(); {4375#(and (= |old(#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,836 INFO L272 TraceCheckUtils]: 9: Hoare triple {4375#(and (= |old(#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); {4375#(and (= |old(#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,836 INFO L290 TraceCheckUtils]: 10: Hoare triple {4375#(and (= |old(#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); {4690#(<= (+ |#StackHeapBarrier| 1) |dll_create_generic_~#dll~0.base|)} is VALID [2022-02-20 16:47:58,837 INFO L272 TraceCheckUtils]: 11: Hoare triple {4690#(<= (+ |#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); {4375#(and (= |old(#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,838 INFO L290 TraceCheckUtils]: 12: Hoare triple {4375#(and (= |old(#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; {4712#(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:47:58,838 INFO L290 TraceCheckUtils]: 13: Hoare triple {4712#(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; {4713#(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:47:58,838 INFO L290 TraceCheckUtils]: 14: Hoare triple {4713#(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); {4713#(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:47:58,839 INFO L290 TraceCheckUtils]: 15: Hoare triple {4713#(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, 4 + 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; {4714#(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:47:58,840 INFO L290 TraceCheckUtils]: 16: Hoare triple {4714#(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); {4715#(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:47:58,840 INFO L290 TraceCheckUtils]: 17: Hoare triple {4715#(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); {4715#(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:47:58,840 INFO L290 TraceCheckUtils]: 18: Hoare triple {4715#(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); {4716#(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:47:58,841 INFO L290 TraceCheckUtils]: 19: Hoare triple {4716#(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; {4716#(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:47:58,841 INFO L290 TraceCheckUtils]: 20: Hoare triple {4716#(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; {4716#(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:47:58,842 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4716#(not (= (select (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0))} {4690#(<= (+ |#StackHeapBarrier| 1) |dll_create_generic_~#dll~0.base|)} #450#return; {4701#(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:47:58,843 INFO L272 TraceCheckUtils]: 22: Hoare triple {4701#(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); {4375#(and (= |old(#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,843 INFO L290 TraceCheckUtils]: 23: Hoare triple {4375#(and (= |old(#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; {4717#(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:47:58,844 INFO L290 TraceCheckUtils]: 24: Hoare triple {4717#(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; {4718#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|)) (<= (+ 1 |##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:47:58,844 INFO L290 TraceCheckUtils]: 25: Hoare triple {4718#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|)) (<= (+ 1 |##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); {4718#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|)) (<= (+ 1 |##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:47:58,845 INFO L290 TraceCheckUtils]: 26: Hoare triple {4718#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|)) (<= (+ 1 |##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, 4 + 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; {4719#(and (or (= (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|)) (<= (+ |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base| 1) |#StackHeapBarrier|)) (= |##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|))} is VALID [2022-02-20 16:47:58,846 INFO L290 TraceCheckUtils]: 27: Hoare triple {4719#(and (or (= (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|)) (<= (+ |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base| 1) |#StackHeapBarrier|)) (= |##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|))} 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); {4720#(and (or (and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) |##fun~$Pointer$~TO~VOID_dll_insert_slave_~next~0#1.base|)) (<= (+ |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base| 1) |#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:47:58,846 INFO L290 TraceCheckUtils]: 28: Hoare triple {4720#(and (or (and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) |##fun~$Pointer$~TO~VOID_dll_insert_slave_~next~0#1.base|)) (<= (+ |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base| 1) |#StackHeapBarrier|)) (= |##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); {4721#(and (or (and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) 0)) (<= (+ |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base| 1) |#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:47:58,847 INFO L290 TraceCheckUtils]: 29: Hoare triple {4721#(and (or (and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) 0)) (<= (+ |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base| 1) |#StackHeapBarrier|)) (= |##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); {4722#(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:47:58,847 INFO L290 TraceCheckUtils]: 30: Hoare triple {4722#(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 { :end_inline_dll_insert_slave } true; {4722#(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:47:58,848 INFO L290 TraceCheckUtils]: 31: Hoare triple {4722#(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; {4722#(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:47:58,848 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4722#(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|))} {4701#(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; {4274#false} is VALID [2022-02-20 16:47:58,849 INFO L290 TraceCheckUtils]: 33: Hoare triple {4274#false} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {4274#false} is VALID [2022-02-20 16:47:58,849 INFO L290 TraceCheckUtils]: 34: Hoare triple {4274#false} assume !(0 != #t~nondet9);havoc #t~nondet9; {4274#false} is VALID [2022-02-20 16:47:58,849 INFO L290 TraceCheckUtils]: 35: Hoare triple {4274#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; {4274#false} is VALID [2022-02-20 16:47:58,849 INFO L290 TraceCheckUtils]: 36: Hoare triple {4274#false} assume true; {4274#false} is VALID [2022-02-20 16:47:58,849 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4274#false} {4375#(and (= |old(#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; {4274#false} is VALID [2022-02-20 16:47:58,849 INFO L290 TraceCheckUtils]: 38: Hoare triple {4274#false} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {4274#false} is VALID [2022-02-20 16:47:58,849 INFO L290 TraceCheckUtils]: 39: Hoare triple {4274#false} assume true; {4274#false} is VALID [2022-02-20 16:47:58,849 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {4274#false} {4273#true} #448#return; {4274#false} is VALID [2022-02-20 16:47:58,849 INFO L290 TraceCheckUtils]: 41: Hoare triple {4274#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); {4274#false} is VALID [2022-02-20 16:47:58,849 INFO L290 TraceCheckUtils]: 42: Hoare triple {4274#false} assume true; {4274#false} is VALID [2022-02-20 16:47:58,849 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {4274#false} {4273#true} #456#return; {4274#false} is VALID [2022-02-20 16:47:58,849 INFO L290 TraceCheckUtils]: 44: Hoare triple {4274#false} assume true; {4274#false} is VALID [2022-02-20 16:47:58,849 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4274#false} {4273#true} #452#return; {4274#false} is VALID [2022-02-20 16:47:58,849 INFO L290 TraceCheckUtils]: 0: Hoare triple {4375#(and (= |old(#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); {4273#true} is VALID [2022-02-20 16:47:58,850 INFO L272 TraceCheckUtils]: 1: Hoare triple {4273#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4375#(and (= |old(#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,850 INFO L290 TraceCheckUtils]: 2: Hoare triple {4375#(and (= |old(#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; {4273#true} is VALID [2022-02-20 16:47:58,850 INFO L290 TraceCheckUtils]: 3: Hoare triple {4273#true} assume #in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset; {4273#true} is VALID [2022-02-20 16:47:58,851 INFO L272 TraceCheckUtils]: 4: Hoare triple {4273#true} call dll_insert_master(#~10#1.base, #~10#1.offset); {4375#(and (= |old(#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,851 INFO L290 TraceCheckUtils]: 5: Hoare triple {4375#(and (= |old(#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; {4273#true} is VALID [2022-02-20 16:47:58,851 INFO L290 TraceCheckUtils]: 6: Hoare triple {4273#true} assume !(alloc_or_die_master_~ptr~1#1.base == 0 && alloc_or_die_master_~ptr~1#1.offset == 0); {4273#true} is VALID [2022-02-20 16:47:58,851 INFO L290 TraceCheckUtils]: 7: Hoare triple {4273#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; {4273#true} is VALID [2022-02-20 16:47:58,851 INFO L290 TraceCheckUtils]: 8: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:47:58,851 INFO L290 TraceCheckUtils]: 9: Hoare triple {4273#true} assume !(~next~3#1.base != 0 || ~next~3#1.offset != 0); {4273#true} is VALID [2022-02-20 16:47:58,852 INFO L272 TraceCheckUtils]: 10: Hoare triple {4273#true} call #t~ret20#1.base, #t~ret20#1.offset := dll_create_slave(); {4375#(and (= |old(#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,852 INFO L272 TraceCheckUtils]: 11: Hoare triple {4375#(and (= |old(#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); {4375#(and (= |old(#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,852 INFO L290 TraceCheckUtils]: 12: Hoare triple {4375#(and (= |old(#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); {4273#true} is VALID [2022-02-20 16:47:58,853 INFO L272 TraceCheckUtils]: 13: Hoare triple {4273#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4375#(and (= |old(#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,853 INFO L290 TraceCheckUtils]: 14: Hoare triple {4375#(and (= |old(#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; {4273#true} is VALID [2022-02-20 16:47:58,853 INFO L290 TraceCheckUtils]: 15: Hoare triple {4273#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; {4273#true} is VALID [2022-02-20 16:47:58,853 INFO L290 TraceCheckUtils]: 16: Hoare triple {4273#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {4273#true} is VALID [2022-02-20 16:47:58,853 INFO L290 TraceCheckUtils]: 17: Hoare triple {4273#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, 4 + 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; {4273#true} is VALID [2022-02-20 16:47:58,854 INFO L290 TraceCheckUtils]: 18: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:47:58,854 INFO L290 TraceCheckUtils]: 19: Hoare triple {4273#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {4273#true} is VALID [2022-02-20 16:47:58,854 INFO L290 TraceCheckUtils]: 20: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:47:58,854 INFO L290 TraceCheckUtils]: 21: Hoare triple {4273#true} assume { :end_inline_dll_insert_slave } true; {4273#true} is VALID [2022-02-20 16:47:58,854 INFO L290 TraceCheckUtils]: 22: Hoare triple {4273#true} assume true; {4273#true} is VALID [2022-02-20 16:47:58,854 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4273#true} {4273#true} #450#return; {4273#true} is VALID [2022-02-20 16:47:58,855 INFO L272 TraceCheckUtils]: 24: Hoare triple {4273#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4375#(and (= |old(#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,855 INFO L290 TraceCheckUtils]: 25: Hoare triple {4375#(and (= |old(#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; {4273#true} is VALID [2022-02-20 16:47:58,855 INFO L290 TraceCheckUtils]: 26: Hoare triple {4273#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; {4273#true} is VALID [2022-02-20 16:47:58,855 INFO L290 TraceCheckUtils]: 27: Hoare triple {4273#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {4273#true} is VALID [2022-02-20 16:47:58,855 INFO L290 TraceCheckUtils]: 28: Hoare triple {4273#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, 4 + 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; {4273#true} is VALID [2022-02-20 16:47:58,855 INFO L290 TraceCheckUtils]: 29: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:47:58,855 INFO L290 TraceCheckUtils]: 30: Hoare triple {4273#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {4273#true} is VALID [2022-02-20 16:47:58,855 INFO L290 TraceCheckUtils]: 31: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:47:58,855 INFO L290 TraceCheckUtils]: 32: Hoare triple {4273#true} assume { :end_inline_dll_insert_slave } true; {4273#true} is VALID [2022-02-20 16:47:58,855 INFO L290 TraceCheckUtils]: 33: Hoare triple {4273#true} assume true; {4273#true} is VALID [2022-02-20 16:47:58,855 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {4273#true} {4273#true} #452#return; {4273#true} is VALID [2022-02-20 16:47:58,855 INFO L290 TraceCheckUtils]: 35: Hoare triple {4273#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {4273#true} is VALID [2022-02-20 16:47:58,855 INFO L290 TraceCheckUtils]: 36: Hoare triple {4273#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {4273#true} is VALID [2022-02-20 16:47:58,855 INFO L290 TraceCheckUtils]: 37: Hoare triple {4273#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; {4273#true} is VALID [2022-02-20 16:47:58,855 INFO L290 TraceCheckUtils]: 38: Hoare triple {4273#true} assume true; {4273#true} is VALID [2022-02-20 16:47:58,855 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4273#true} {4375#(and (= |old(#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; {4273#true} is VALID [2022-02-20 16:47:58,855 INFO L290 TraceCheckUtils]: 40: Hoare triple {4273#true} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {4273#true} is VALID [2022-02-20 16:47:58,855 INFO L290 TraceCheckUtils]: 41: Hoare triple {4273#true} assume true; {4273#true} is VALID [2022-02-20 16:47:58,855 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {4273#true} {4273#true} #448#return; {4273#true} is VALID [2022-02-20 16:47:58,856 INFO L290 TraceCheckUtils]: 43: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:47:58,856 INFO L290 TraceCheckUtils]: 44: Hoare triple {4273#true} assume true; {4273#true} is VALID [2022-02-20 16:47:58,856 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4273#true} {4273#true} #456#return; {4273#true} is VALID [2022-02-20 16:47:58,856 INFO L290 TraceCheckUtils]: 46: Hoare triple {4273#true} assume true; {4273#true} is VALID [2022-02-20 16:47:58,856 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {4273#true} {4273#true} #450#return; {4273#true} is VALID [2022-02-20 16:47:58,857 INFO L272 TraceCheckUtils]: 48: Hoare triple {4273#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4375#(and (= |old(#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,857 INFO L290 TraceCheckUtils]: 49: Hoare triple {4375#(and (= |old(#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; {4273#true} is VALID [2022-02-20 16:47:58,857 INFO L290 TraceCheckUtils]: 50: Hoare triple {4273#true} assume #in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset; {4273#true} is VALID [2022-02-20 16:47:58,857 INFO L272 TraceCheckUtils]: 51: Hoare triple {4273#true} call dll_insert_master(#~10#1.base, #~10#1.offset); {4375#(and (= |old(#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,857 INFO L290 TraceCheckUtils]: 52: Hoare triple {4375#(and (= |old(#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; {4273#true} is VALID [2022-02-20 16:47:58,857 INFO L290 TraceCheckUtils]: 53: Hoare triple {4273#true} assume !(alloc_or_die_master_~ptr~1#1.base == 0 && alloc_or_die_master_~ptr~1#1.offset == 0); {4273#true} is VALID [2022-02-20 16:47:58,857 INFO L290 TraceCheckUtils]: 54: Hoare triple {4273#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; {4273#true} is VALID [2022-02-20 16:47:58,857 INFO L290 TraceCheckUtils]: 55: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:47:58,858 INFO L290 TraceCheckUtils]: 56: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:47:58,858 INFO L272 TraceCheckUtils]: 57: Hoare triple {4273#true} call #t~ret20#1.base, #t~ret20#1.offset := dll_create_slave(); {4375#(and (= |old(#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,859 INFO L272 TraceCheckUtils]: 58: Hoare triple {4375#(and (= |old(#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); {4375#(and (= |old(#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,859 INFO L290 TraceCheckUtils]: 59: Hoare triple {4375#(and (= |old(#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); {4690#(<= (+ |#StackHeapBarrier| 1) |dll_create_generic_~#dll~0.base|)} is VALID [2022-02-20 16:47:58,860 INFO L272 TraceCheckUtils]: 60: Hoare triple {4690#(<= (+ |#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); {4375#(and (= |old(#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,861 INFO L290 TraceCheckUtils]: 61: Hoare triple {4375#(and (= |old(#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; {4712#(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:47:58,861 INFO L290 TraceCheckUtils]: 62: Hoare triple {4712#(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; {4713#(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:47:58,862 INFO L290 TraceCheckUtils]: 63: Hoare triple {4713#(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); {4713#(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:47:58,862 INFO L290 TraceCheckUtils]: 64: Hoare triple {4713#(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, 4 + 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; {4714#(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:47:58,863 INFO L290 TraceCheckUtils]: 65: Hoare triple {4714#(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); {4715#(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:47:58,863 INFO L290 TraceCheckUtils]: 66: Hoare triple {4715#(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); {4715#(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:47:58,864 INFO L290 TraceCheckUtils]: 67: Hoare triple {4715#(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); {4716#(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:47:58,864 INFO L290 TraceCheckUtils]: 68: Hoare triple {4716#(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; {4716#(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:47:58,864 INFO L290 TraceCheckUtils]: 69: Hoare triple {4716#(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; {4716#(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:47:58,865 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {4716#(not (= (select (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0))} {4690#(<= (+ |#StackHeapBarrier| 1) |dll_create_generic_~#dll~0.base|)} #450#return; {4701#(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:47:58,866 INFO L272 TraceCheckUtils]: 71: Hoare triple {4701#(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); {4375#(and (= |old(#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,866 INFO L290 TraceCheckUtils]: 72: Hoare triple {4375#(and (= |old(#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; {4717#(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:47:58,880 INFO L290 TraceCheckUtils]: 73: Hoare triple {4717#(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; {4718#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|)) (<= (+ 1 |##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:47:58,880 INFO L290 TraceCheckUtils]: 74: Hoare triple {4718#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|)) (<= (+ 1 |##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); {4718#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|)) (<= (+ 1 |##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:47:58,881 INFO L290 TraceCheckUtils]: 75: Hoare triple {4718#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|)) (<= (+ 1 |##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, 4 + 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; {4719#(and (or (= (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|)) (<= (+ |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base| 1) |#StackHeapBarrier|)) (= |##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|))} is VALID [2022-02-20 16:47:58,882 INFO L290 TraceCheckUtils]: 76: Hoare triple {4719#(and (or (= (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|)) (<= (+ |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base| 1) |#StackHeapBarrier|)) (= |##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|))} 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); {4720#(and (or (and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) |##fun~$Pointer$~TO~VOID_dll_insert_slave_~next~0#1.base|)) (<= (+ |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base| 1) |#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:47:58,882 INFO L290 TraceCheckUtils]: 77: Hoare triple {4720#(and (or (and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) |##fun~$Pointer$~TO~VOID_dll_insert_slave_~next~0#1.base|)) (<= (+ |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base| 1) |#StackHeapBarrier|)) (= |##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); {4721#(and (or (and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) 0)) (<= (+ |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base| 1) |#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:47:58,883 INFO L290 TraceCheckUtils]: 78: Hoare triple {4721#(and (or (and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) 0)) (<= (+ |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base| 1) |#StackHeapBarrier|)) (= |##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); {4722#(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:47:58,883 INFO L290 TraceCheckUtils]: 79: Hoare triple {4722#(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 { :end_inline_dll_insert_slave } true; {4722#(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:47:58,884 INFO L290 TraceCheckUtils]: 80: Hoare triple {4722#(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; {4722#(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:47:58,885 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {4722#(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|))} {4701#(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; {4274#false} is VALID [2022-02-20 16:47:58,885 INFO L290 TraceCheckUtils]: 82: Hoare triple {4274#false} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {4274#false} is VALID [2022-02-20 16:47:58,885 INFO L290 TraceCheckUtils]: 83: Hoare triple {4274#false} assume !(0 != #t~nondet9);havoc #t~nondet9; {4274#false} is VALID [2022-02-20 16:47:58,885 INFO L290 TraceCheckUtils]: 84: Hoare triple {4274#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; {4274#false} is VALID [2022-02-20 16:47:58,885 INFO L290 TraceCheckUtils]: 85: Hoare triple {4274#false} assume true; {4274#false} is VALID [2022-02-20 16:47:58,885 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {4274#false} {4375#(and (= |old(#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; {4274#false} is VALID [2022-02-20 16:47:58,885 INFO L290 TraceCheckUtils]: 87: Hoare triple {4274#false} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {4274#false} is VALID [2022-02-20 16:47:58,885 INFO L290 TraceCheckUtils]: 88: Hoare triple {4274#false} assume true; {4274#false} is VALID [2022-02-20 16:47:58,885 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {4274#false} {4273#true} #448#return; {4274#false} is VALID [2022-02-20 16:47:58,885 INFO L290 TraceCheckUtils]: 90: Hoare triple {4274#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); {4274#false} is VALID [2022-02-20 16:47:58,885 INFO L290 TraceCheckUtils]: 91: Hoare triple {4274#false} assume true; {4274#false} is VALID [2022-02-20 16:47:58,885 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {4274#false} {4273#true} #456#return; {4274#false} is VALID [2022-02-20 16:47:58,885 INFO L290 TraceCheckUtils]: 93: Hoare triple {4274#false} assume true; {4274#false} is VALID [2022-02-20 16:47:58,885 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {4274#false} {4273#true} #452#return; {4274#false} is VALID [2022-02-20 16:47:58,885 INFO L290 TraceCheckUtils]: 95: Hoare triple {4274#false} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {4274#false} is VALID [2022-02-20 16:47:58,885 INFO L290 TraceCheckUtils]: 96: Hoare triple {4274#false} assume !(0 != #t~nondet9);havoc #t~nondet9; {4274#false} is VALID [2022-02-20 16:47:58,885 INFO L290 TraceCheckUtils]: 97: Hoare triple {4274#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; {4274#false} is VALID [2022-02-20 16:47:58,885 INFO L290 TraceCheckUtils]: 98: Hoare triple {4274#false} assume true; {4274#false} is VALID [2022-02-20 16:47:58,885 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {4274#false} {4273#true} #470#return; {4274#false} is VALID [2022-02-20 16:47:58,886 INFO L290 TraceCheckUtils]: 0: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:47:58,886 INFO L290 TraceCheckUtils]: 1: Hoare triple {4273#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; {4273#true} is VALID [2022-02-20 16:47:58,886 INFO L272 TraceCheckUtils]: 2: Hoare triple {4273#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); {4375#(and (= |old(#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,886 INFO L290 TraceCheckUtils]: 3: Hoare triple {4375#(and (= |old(#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); {4273#true} is VALID [2022-02-20 16:47:58,887 INFO L272 TraceCheckUtils]: 4: Hoare triple {4273#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4375#(and (= |old(#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,887 INFO L290 TraceCheckUtils]: 5: Hoare triple {4375#(and (= |old(#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; {4273#true} is VALID [2022-02-20 16:47:58,887 INFO L290 TraceCheckUtils]: 6: Hoare triple {4273#true} assume #in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset; {4273#true} is VALID [2022-02-20 16:47:58,888 INFO L272 TraceCheckUtils]: 7: Hoare triple {4273#true} call dll_insert_master(#~10#1.base, #~10#1.offset); {4375#(and (= |old(#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,888 INFO L290 TraceCheckUtils]: 8: Hoare triple {4375#(and (= |old(#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; {4273#true} is VALID [2022-02-20 16:47:58,888 INFO L290 TraceCheckUtils]: 9: Hoare triple {4273#true} assume !(alloc_or_die_master_~ptr~1#1.base == 0 && alloc_or_die_master_~ptr~1#1.offset == 0); {4273#true} is VALID [2022-02-20 16:47:58,888 INFO L290 TraceCheckUtils]: 10: Hoare triple {4273#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; {4273#true} is VALID [2022-02-20 16:47:58,888 INFO L290 TraceCheckUtils]: 11: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:47:58,888 INFO L290 TraceCheckUtils]: 12: Hoare triple {4273#true} assume !(~next~3#1.base != 0 || ~next~3#1.offset != 0); {4273#true} is VALID [2022-02-20 16:47:58,888 INFO L272 TraceCheckUtils]: 13: Hoare triple {4273#true} call #t~ret20#1.base, #t~ret20#1.offset := dll_create_slave(); {4375#(and (= |old(#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,889 INFO L272 TraceCheckUtils]: 14: Hoare triple {4375#(and (= |old(#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); {4375#(and (= |old(#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,889 INFO L290 TraceCheckUtils]: 15: Hoare triple {4375#(and (= |old(#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); {4273#true} is VALID [2022-02-20 16:47:58,890 INFO L272 TraceCheckUtils]: 16: Hoare triple {4273#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4375#(and (= |old(#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,890 INFO L290 TraceCheckUtils]: 17: Hoare triple {4375#(and (= |old(#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; {4273#true} is VALID [2022-02-20 16:47:58,890 INFO L290 TraceCheckUtils]: 18: Hoare triple {4273#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; {4273#true} is VALID [2022-02-20 16:47:58,890 INFO L290 TraceCheckUtils]: 19: Hoare triple {4273#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {4273#true} is VALID [2022-02-20 16:47:58,890 INFO L290 TraceCheckUtils]: 20: Hoare triple {4273#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, 4 + 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; {4273#true} is VALID [2022-02-20 16:47:58,890 INFO L290 TraceCheckUtils]: 21: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:47:58,890 INFO L290 TraceCheckUtils]: 22: Hoare triple {4273#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {4273#true} is VALID [2022-02-20 16:47:58,890 INFO L290 TraceCheckUtils]: 23: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:47:58,890 INFO L290 TraceCheckUtils]: 24: Hoare triple {4273#true} assume { :end_inline_dll_insert_slave } true; {4273#true} is VALID [2022-02-20 16:47:58,890 INFO L290 TraceCheckUtils]: 25: Hoare triple {4273#true} assume true; {4273#true} is VALID [2022-02-20 16:47:58,890 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4273#true} {4273#true} #450#return; {4273#true} is VALID [2022-02-20 16:47:58,891 INFO L272 TraceCheckUtils]: 27: Hoare triple {4273#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4375#(and (= |old(#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,891 INFO L290 TraceCheckUtils]: 28: Hoare triple {4375#(and (= |old(#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; {4273#true} is VALID [2022-02-20 16:47:58,891 INFO L290 TraceCheckUtils]: 29: Hoare triple {4273#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; {4273#true} is VALID [2022-02-20 16:47:58,891 INFO L290 TraceCheckUtils]: 30: Hoare triple {4273#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {4273#true} is VALID [2022-02-20 16:47:58,891 INFO L290 TraceCheckUtils]: 31: Hoare triple {4273#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, 4 + 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; {4273#true} is VALID [2022-02-20 16:47:58,891 INFO L290 TraceCheckUtils]: 32: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:47:58,891 INFO L290 TraceCheckUtils]: 33: Hoare triple {4273#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {4273#true} is VALID [2022-02-20 16:47:58,891 INFO L290 TraceCheckUtils]: 34: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:47:58,891 INFO L290 TraceCheckUtils]: 35: Hoare triple {4273#true} assume { :end_inline_dll_insert_slave } true; {4273#true} is VALID [2022-02-20 16:47:58,891 INFO L290 TraceCheckUtils]: 36: Hoare triple {4273#true} assume true; {4273#true} is VALID [2022-02-20 16:47:58,891 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4273#true} {4273#true} #452#return; {4273#true} is VALID [2022-02-20 16:47:58,891 INFO L290 TraceCheckUtils]: 38: Hoare triple {4273#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {4273#true} is VALID [2022-02-20 16:47:58,891 INFO L290 TraceCheckUtils]: 39: Hoare triple {4273#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {4273#true} is VALID [2022-02-20 16:47:58,891 INFO L290 TraceCheckUtils]: 40: Hoare triple {4273#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; {4273#true} is VALID [2022-02-20 16:47:58,891 INFO L290 TraceCheckUtils]: 41: Hoare triple {4273#true} assume true; {4273#true} is VALID [2022-02-20 16:47:58,891 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {4273#true} {4375#(and (= |old(#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; {4273#true} is VALID [2022-02-20 16:47:58,891 INFO L290 TraceCheckUtils]: 43: Hoare triple {4273#true} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {4273#true} is VALID [2022-02-20 16:47:58,891 INFO L290 TraceCheckUtils]: 44: Hoare triple {4273#true} assume true; {4273#true} is VALID [2022-02-20 16:47:58,892 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4273#true} {4273#true} #448#return; {4273#true} is VALID [2022-02-20 16:47:58,892 INFO L290 TraceCheckUtils]: 46: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:47:58,892 INFO L290 TraceCheckUtils]: 47: Hoare triple {4273#true} assume true; {4273#true} is VALID [2022-02-20 16:47:58,892 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {4273#true} {4273#true} #456#return; {4273#true} is VALID [2022-02-20 16:47:58,892 INFO L290 TraceCheckUtils]: 49: Hoare triple {4273#true} assume true; {4273#true} is VALID [2022-02-20 16:47:58,892 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4273#true} {4273#true} #450#return; {4273#true} is VALID [2022-02-20 16:47:58,892 INFO L272 TraceCheckUtils]: 51: Hoare triple {4273#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4375#(and (= |old(#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,892 INFO L290 TraceCheckUtils]: 52: Hoare triple {4375#(and (= |old(#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; {4273#true} is VALID [2022-02-20 16:47:58,892 INFO L290 TraceCheckUtils]: 53: Hoare triple {4273#true} assume #in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset; {4273#true} is VALID [2022-02-20 16:47:58,893 INFO L272 TraceCheckUtils]: 54: Hoare triple {4273#true} call dll_insert_master(#~10#1.base, #~10#1.offset); {4375#(and (= |old(#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,893 INFO L290 TraceCheckUtils]: 55: Hoare triple {4375#(and (= |old(#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; {4273#true} is VALID [2022-02-20 16:47:58,893 INFO L290 TraceCheckUtils]: 56: Hoare triple {4273#true} assume !(alloc_or_die_master_~ptr~1#1.base == 0 && alloc_or_die_master_~ptr~1#1.offset == 0); {4273#true} is VALID [2022-02-20 16:47:58,893 INFO L290 TraceCheckUtils]: 57: Hoare triple {4273#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; {4273#true} is VALID [2022-02-20 16:47:58,893 INFO L290 TraceCheckUtils]: 58: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:47:58,893 INFO L290 TraceCheckUtils]: 59: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:47:58,894 INFO L272 TraceCheckUtils]: 60: Hoare triple {4273#true} call #t~ret20#1.base, #t~ret20#1.offset := dll_create_slave(); {4375#(and (= |old(#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,894 INFO L272 TraceCheckUtils]: 61: Hoare triple {4375#(and (= |old(#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); {4375#(and (= |old(#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,895 INFO L290 TraceCheckUtils]: 62: Hoare triple {4375#(and (= |old(#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); {4690#(<= (+ |#StackHeapBarrier| 1) |dll_create_generic_~#dll~0.base|)} is VALID [2022-02-20 16:47:58,896 INFO L272 TraceCheckUtils]: 63: Hoare triple {4690#(<= (+ |#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); {4375#(and (= |old(#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,896 INFO L290 TraceCheckUtils]: 64: Hoare triple {4375#(and (= |old(#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; {4712#(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:47:58,896 INFO L290 TraceCheckUtils]: 65: Hoare triple {4712#(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; {4713#(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:47:58,897 INFO L290 TraceCheckUtils]: 66: Hoare triple {4713#(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); {4713#(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:47:58,897 INFO L290 TraceCheckUtils]: 67: Hoare triple {4713#(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, 4 + 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; {4714#(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:47:58,898 INFO L290 TraceCheckUtils]: 68: Hoare triple {4714#(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); {4715#(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:47:58,898 INFO L290 TraceCheckUtils]: 69: Hoare triple {4715#(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); {4715#(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:47:58,899 INFO L290 TraceCheckUtils]: 70: Hoare triple {4715#(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); {4716#(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:47:58,899 INFO L290 TraceCheckUtils]: 71: Hoare triple {4716#(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; {4716#(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:47:58,899 INFO L290 TraceCheckUtils]: 72: Hoare triple {4716#(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; {4716#(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:47:58,900 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {4716#(not (= (select (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0))} {4690#(<= (+ |#StackHeapBarrier| 1) |dll_create_generic_~#dll~0.base|)} #450#return; {4701#(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:47:58,901 INFO L272 TraceCheckUtils]: 74: Hoare triple {4701#(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); {4375#(and (= |old(#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,901 INFO L290 TraceCheckUtils]: 75: Hoare triple {4375#(and (= |old(#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; {4717#(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:47:58,902 INFO L290 TraceCheckUtils]: 76: Hoare triple {4717#(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; {4718#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|)) (<= (+ 1 |##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:47:58,902 INFO L290 TraceCheckUtils]: 77: Hoare triple {4718#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|)) (<= (+ 1 |##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); {4718#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|)) (<= (+ 1 |##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:47:58,903 INFO L290 TraceCheckUtils]: 78: Hoare triple {4718#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|)) (<= (+ 1 |##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, 4 + 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; {4719#(and (or (= (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|)) (<= (+ |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base| 1) |#StackHeapBarrier|)) (= |##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|))} is VALID [2022-02-20 16:47:58,904 INFO L290 TraceCheckUtils]: 79: Hoare triple {4719#(and (or (= (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|)) (<= (+ |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base| 1) |#StackHeapBarrier|)) (= |##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|))} 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); {4720#(and (or (and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) |##fun~$Pointer$~TO~VOID_dll_insert_slave_~next~0#1.base|)) (<= (+ |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base| 1) |#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:47:58,905 INFO L290 TraceCheckUtils]: 80: Hoare triple {4720#(and (or (and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) |##fun~$Pointer$~TO~VOID_dll_insert_slave_~next~0#1.base|)) (<= (+ |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base| 1) |#StackHeapBarrier|)) (= |##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); {4721#(and (or (and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) 0)) (<= (+ |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base| 1) |#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:47:58,905 INFO L290 TraceCheckUtils]: 81: Hoare triple {4721#(and (or (and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) 0)) (<= (+ |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base| 1) |#StackHeapBarrier|)) (= |##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); {4722#(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:47:58,906 INFO L290 TraceCheckUtils]: 82: Hoare triple {4722#(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 { :end_inline_dll_insert_slave } true; {4722#(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:47:58,906 INFO L290 TraceCheckUtils]: 83: Hoare triple {4722#(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; {4722#(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:47:58,907 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {4722#(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|))} {4701#(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; {4274#false} is VALID [2022-02-20 16:47:58,907 INFO L290 TraceCheckUtils]: 85: Hoare triple {4274#false} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {4274#false} is VALID [2022-02-20 16:47:58,907 INFO L290 TraceCheckUtils]: 86: Hoare triple {4274#false} assume !(0 != #t~nondet9);havoc #t~nondet9; {4274#false} is VALID [2022-02-20 16:47:58,907 INFO L290 TraceCheckUtils]: 87: Hoare triple {4274#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; {4274#false} is VALID [2022-02-20 16:47:58,907 INFO L290 TraceCheckUtils]: 88: Hoare triple {4274#false} assume true; {4274#false} is VALID [2022-02-20 16:47:58,907 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {4274#false} {4375#(and (= |old(#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; {4274#false} is VALID [2022-02-20 16:47:58,907 INFO L290 TraceCheckUtils]: 90: Hoare triple {4274#false} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {4274#false} is VALID [2022-02-20 16:47:58,907 INFO L290 TraceCheckUtils]: 91: Hoare triple {4274#false} assume true; {4274#false} is VALID [2022-02-20 16:47:58,907 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {4274#false} {4273#true} #448#return; {4274#false} is VALID [2022-02-20 16:47:58,907 INFO L290 TraceCheckUtils]: 93: Hoare triple {4274#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); {4274#false} is VALID [2022-02-20 16:47:58,907 INFO L290 TraceCheckUtils]: 94: Hoare triple {4274#false} assume true; {4274#false} is VALID [2022-02-20 16:47:58,907 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {4274#false} {4273#true} #456#return; {4274#false} is VALID [2022-02-20 16:47:58,907 INFO L290 TraceCheckUtils]: 96: Hoare triple {4274#false} assume true; {4274#false} is VALID [2022-02-20 16:47:58,907 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {4274#false} {4273#true} #452#return; {4274#false} is VALID [2022-02-20 16:47:58,907 INFO L290 TraceCheckUtils]: 98: Hoare triple {4274#false} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {4274#false} is VALID [2022-02-20 16:47:58,907 INFO L290 TraceCheckUtils]: 99: Hoare triple {4274#false} assume !(0 != #t~nondet9);havoc #t~nondet9; {4274#false} is VALID [2022-02-20 16:47:58,907 INFO L290 TraceCheckUtils]: 100: Hoare triple {4274#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; {4274#false} is VALID [2022-02-20 16:47:58,908 INFO L290 TraceCheckUtils]: 101: Hoare triple {4274#false} assume true; {4274#false} is VALID [2022-02-20 16:47:58,908 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {4274#false} {4273#true} #470#return; {4274#false} is VALID [2022-02-20 16:47:58,908 INFO L290 TraceCheckUtils]: 103: Hoare triple {4274#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; {4274#false} is VALID [2022-02-20 16:47:58,908 INFO L290 TraceCheckUtils]: 104: Hoare triple {4274#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; {4274#false} is VALID [2022-02-20 16:47:58,908 INFO L272 TraceCheckUtils]: 105: Hoare triple {4274#false} call inspect_base(inspect_full_~dll#1.base, inspect_full_~dll#1.offset); {4274#false} is VALID [2022-02-20 16:47:58,908 INFO L290 TraceCheckUtils]: 106: Hoare triple {4274#false} ~dll.base, ~dll.offset := #in~dll.base, #in~dll.offset; {4274#false} is VALID [2022-02-20 16:47:58,908 INFO L290 TraceCheckUtils]: 107: Hoare triple {4274#false} assume !(~dll.base == 0 && ~dll.offset == 0); {4274#false} is VALID [2022-02-20 16:47:58,908 INFO L290 TraceCheckUtils]: 108: Hoare triple {4274#false} goto; {4274#false} is VALID [2022-02-20 16:47:58,908 INFO L290 TraceCheckUtils]: 109: Hoare triple {4274#false} call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~dll.base, ~dll.offset, 4); {4274#false} is VALID [2022-02-20 16:47:58,908 INFO L290 TraceCheckUtils]: 110: Hoare triple {4274#false} assume #t~mem22.base == 0 && #t~mem22.offset == 0;havoc #t~mem22.base, #t~mem22.offset; {4274#false} is VALID [2022-02-20 16:47:58,908 INFO L272 TraceCheckUtils]: 111: Hoare triple {4274#false} call fail(); {4274#false} is VALID [2022-02-20 16:47:58,908 INFO L290 TraceCheckUtils]: 112: Hoare triple {4274#false} assume !false; {4274#false} is VALID [2022-02-20 16:47:58,909 INFO L134 CoverageAnalysis]: Checked inductivity of 134 backedges. 75 proven. 8 refuted. 0 times theorem prover too weak. 51 trivial. 0 not checked. [2022-02-20 16:47:58,909 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:47:58,909 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1178971914] [2022-02-20 16:47:58,909 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1178971914] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:47:58,909 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [90983176] [2022-02-20 16:47:58,909 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:47:58,909 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:47:58,909 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:47:58,910 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:47:58,911 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:47:59,210 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:59,214 INFO L263 TraceCheckSpWp]: Trace formula consists of 979 conjuncts, 55 conjunts are in the unsatisfiable core [2022-02-20 16:47:59,248 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:59,251 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:47:59,495 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:47:59,564 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:47:59,793 WARN L860 $PredicateComparison]: unable to prove that (exists ((|##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| Int) (v_ArrVal_2828 (Array Int Int))) (and (= |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_2828) |c_##fun~$Pointer$~TO~VOID_#in~10#1.base|) |c_##fun~$Pointer$~TO~VOID_#in~10#1.offset|)) (< |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| |c_#StackHeapBarrier|))) is different from true [2022-02-20 16:47:59,853 WARN L860 $PredicateComparison]: unable to prove that (exists ((|##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| Int) (v_ArrVal_2828 (Array Int Int))) (and (= (select (select (store |c_old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| v_ArrVal_2828) |c_##fun~$Pointer$~TO~VOID_#in~10#1.base|) |c_##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0) (< |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| |c_#StackHeapBarrier|))) is different from true [2022-02-20 16:48:00,045 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:48:00,077 INFO L290 TraceCheckUtils]: 0: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:48:00,077 INFO L290 TraceCheckUtils]: 1: Hoare triple {4273#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; {4273#true} is VALID [2022-02-20 16:48:00,077 INFO L272 TraceCheckUtils]: 2: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:48:00,077 INFO L290 TraceCheckUtils]: 3: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:48:00,078 INFO L272 TraceCheckUtils]: 4: Hoare triple {4273#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4273#true} is VALID [2022-02-20 16:48:00,078 INFO L290 TraceCheckUtils]: 5: Hoare triple {4273#true} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {4273#true} is VALID [2022-02-20 16:48:00,078 INFO L290 TraceCheckUtils]: 6: Hoare triple {4273#true} assume #in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset; {4273#true} is VALID [2022-02-20 16:48:00,078 INFO L272 TraceCheckUtils]: 7: Hoare triple {4273#true} call dll_insert_master(#~10#1.base, #~10#1.offset); {4273#true} is VALID [2022-02-20 16:48:00,078 INFO L290 TraceCheckUtils]: 8: Hoare triple {4273#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; {4273#true} is VALID [2022-02-20 16:48:00,078 INFO L290 TraceCheckUtils]: 9: Hoare triple {4273#true} assume !(alloc_or_die_master_~ptr~1#1.base == 0 && alloc_or_die_master_~ptr~1#1.offset == 0); {4273#true} is VALID [2022-02-20 16:48:00,078 INFO L290 TraceCheckUtils]: 10: Hoare triple {4273#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; {4273#true} is VALID [2022-02-20 16:48:00,078 INFO L290 TraceCheckUtils]: 11: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:48:00,078 INFO L290 TraceCheckUtils]: 12: Hoare triple {4273#true} assume !(~next~3#1.base != 0 || ~next~3#1.offset != 0); {4273#true} is VALID [2022-02-20 16:48:00,079 INFO L272 TraceCheckUtils]: 13: Hoare triple {4273#true} call #t~ret20#1.base, #t~ret20#1.offset := dll_create_slave(); {4273#true} is VALID [2022-02-20 16:48:00,079 INFO L272 TraceCheckUtils]: 14: Hoare triple {4273#true} call #t~ret12.base, #t~ret12.offset := dll_create_generic(#funAddr~dll_insert_slave.base, #funAddr~dll_insert_slave.offset); {4273#true} is VALID [2022-02-20 16:48:00,079 INFO L290 TraceCheckUtils]: 15: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:48:00,079 INFO L272 TraceCheckUtils]: 16: Hoare triple {4273#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4273#true} is VALID [2022-02-20 16:48:00,079 INFO L290 TraceCheckUtils]: 17: Hoare triple {4273#true} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {4273#true} is VALID [2022-02-20 16:48:00,079 INFO L290 TraceCheckUtils]: 18: Hoare triple {4273#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; {4273#true} is VALID [2022-02-20 16:48:00,079 INFO L290 TraceCheckUtils]: 19: Hoare triple {4273#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {4273#true} is VALID [2022-02-20 16:48:00,079 INFO L290 TraceCheckUtils]: 20: Hoare triple {4273#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, 4 + 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; {4273#true} is VALID [2022-02-20 16:48:00,079 INFO L290 TraceCheckUtils]: 21: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:48:00,080 INFO L290 TraceCheckUtils]: 22: Hoare triple {4273#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {4273#true} is VALID [2022-02-20 16:48:00,080 INFO L290 TraceCheckUtils]: 23: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:48:00,080 INFO L290 TraceCheckUtils]: 24: Hoare triple {4273#true} assume { :end_inline_dll_insert_slave } true; {4273#true} is VALID [2022-02-20 16:48:00,080 INFO L290 TraceCheckUtils]: 25: Hoare triple {4273#true} assume true; {4273#true} is VALID [2022-02-20 16:48:00,080 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4273#true} {4273#true} #450#return; {4273#true} is VALID [2022-02-20 16:48:00,080 INFO L272 TraceCheckUtils]: 27: Hoare triple {4273#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4273#true} is VALID [2022-02-20 16:48:00,080 INFO L290 TraceCheckUtils]: 28: Hoare triple {4273#true} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {4273#true} is VALID [2022-02-20 16:48:00,080 INFO L290 TraceCheckUtils]: 29: Hoare triple {4273#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; {4273#true} is VALID [2022-02-20 16:48:00,080 INFO L290 TraceCheckUtils]: 30: Hoare triple {4273#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {4273#true} is VALID [2022-02-20 16:48:00,081 INFO L290 TraceCheckUtils]: 31: Hoare triple {4273#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, 4 + 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; {4273#true} is VALID [2022-02-20 16:48:00,081 INFO L290 TraceCheckUtils]: 32: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:48:00,081 INFO L290 TraceCheckUtils]: 33: Hoare triple {4273#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {4273#true} is VALID [2022-02-20 16:48:00,081 INFO L290 TraceCheckUtils]: 34: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:48:00,081 INFO L290 TraceCheckUtils]: 35: Hoare triple {4273#true} assume { :end_inline_dll_insert_slave } true; {4273#true} is VALID [2022-02-20 16:48:00,081 INFO L290 TraceCheckUtils]: 36: Hoare triple {4273#true} assume true; {4273#true} is VALID [2022-02-20 16:48:00,081 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4273#true} {4273#true} #452#return; {4273#true} is VALID [2022-02-20 16:48:00,081 INFO L290 TraceCheckUtils]: 38: Hoare triple {4273#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {4273#true} is VALID [2022-02-20 16:48:00,081 INFO L290 TraceCheckUtils]: 39: Hoare triple {4273#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {4273#true} is VALID [2022-02-20 16:48:00,081 INFO L290 TraceCheckUtils]: 40: Hoare triple {4273#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; {4273#true} is VALID [2022-02-20 16:48:00,082 INFO L290 TraceCheckUtils]: 41: Hoare triple {4273#true} assume true; {4273#true} is VALID [2022-02-20 16:48:00,082 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {4273#true} {4273#true} #446#return; {4273#true} is VALID [2022-02-20 16:48:00,082 INFO L290 TraceCheckUtils]: 43: Hoare triple {4273#true} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {4273#true} is VALID [2022-02-20 16:48:00,082 INFO L290 TraceCheckUtils]: 44: Hoare triple {4273#true} assume true; {4273#true} is VALID [2022-02-20 16:48:00,082 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4273#true} {4273#true} #448#return; {4273#true} is VALID [2022-02-20 16:48:00,082 INFO L290 TraceCheckUtils]: 46: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:48:00,082 INFO L290 TraceCheckUtils]: 47: Hoare triple {4273#true} assume true; {4273#true} is VALID [2022-02-20 16:48:00,082 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {4273#true} {4273#true} #456#return; {4273#true} is VALID [2022-02-20 16:48:00,082 INFO L290 TraceCheckUtils]: 49: Hoare triple {4273#true} assume true; {4273#true} is VALID [2022-02-20 16:48:00,083 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4273#true} {4273#true} #450#return; {4273#true} is VALID [2022-02-20 16:48:00,083 INFO L272 TraceCheckUtils]: 51: Hoare triple {4273#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4273#true} is VALID [2022-02-20 16:48:00,083 INFO L290 TraceCheckUtils]: 52: Hoare triple {4273#true} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {4273#true} is VALID [2022-02-20 16:48:00,083 INFO L290 TraceCheckUtils]: 53: Hoare triple {4273#true} assume #in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset; {4273#true} is VALID [2022-02-20 16:48:00,083 INFO L272 TraceCheckUtils]: 54: Hoare triple {4273#true} call dll_insert_master(#~10#1.base, #~10#1.offset); {4273#true} is VALID [2022-02-20 16:48:00,083 INFO L290 TraceCheckUtils]: 55: Hoare triple {4273#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; {4273#true} is VALID [2022-02-20 16:48:00,083 INFO L290 TraceCheckUtils]: 56: Hoare triple {4273#true} assume !(alloc_or_die_master_~ptr~1#1.base == 0 && alloc_or_die_master_~ptr~1#1.offset == 0); {4273#true} is VALID [2022-02-20 16:48:00,083 INFO L290 TraceCheckUtils]: 57: Hoare triple {4273#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; {4273#true} is VALID [2022-02-20 16:48:00,083 INFO L290 TraceCheckUtils]: 58: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:48:00,083 INFO L290 TraceCheckUtils]: 59: Hoare triple {4273#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); {4273#true} is VALID [2022-02-20 16:48:00,084 INFO L272 TraceCheckUtils]: 60: Hoare triple {4273#true} call #t~ret20#1.base, #t~ret20#1.offset := dll_create_slave(); {4273#true} is VALID [2022-02-20 16:48:00,084 INFO L272 TraceCheckUtils]: 61: Hoare triple {4273#true} call #t~ret12.base, #t~ret12.offset := dll_create_generic(#funAddr~dll_insert_slave.base, #funAddr~dll_insert_slave.offset); {4273#true} is VALID [2022-02-20 16:48:00,084 INFO L290 TraceCheckUtils]: 62: Hoare triple {4273#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); {4912#(and (< |#StackHeapBarrier| |dll_create_generic_~#dll~0.base|) (= |dll_create_generic_~#dll~0.offset| 0))} is VALID [2022-02-20 16:48:00,084 INFO L272 TraceCheckUtils]: 63: Hoare triple {4912#(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); {4273#true} is VALID [2022-02-20 16:48:00,085 INFO L290 TraceCheckUtils]: 64: Hoare triple {4273#true} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {4712#(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:00,085 INFO L290 TraceCheckUtils]: 65: Hoare triple {4712#(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; {4713#(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:00,086 INFO L290 TraceCheckUtils]: 66: Hoare triple {4713#(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); {4713#(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:00,086 INFO L290 TraceCheckUtils]: 67: Hoare triple {4713#(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, 4 + 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; {4714#(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:00,087 INFO L290 TraceCheckUtils]: 68: Hoare triple {4714#(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); {4715#(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:00,087 INFO L290 TraceCheckUtils]: 69: Hoare triple {4715#(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); {4715#(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:00,088 INFO L290 TraceCheckUtils]: 70: Hoare triple {4715#(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); {4716#(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:00,088 INFO L290 TraceCheckUtils]: 71: Hoare triple {4716#(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; {4716#(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:00,088 INFO L290 TraceCheckUtils]: 72: Hoare triple {4716#(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; {4716#(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:00,089 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {4716#(not (= (select (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0))} {4912#(and (< |#StackHeapBarrier| |dll_create_generic_~#dll~0.base|) (= |dll_create_generic_~#dll~0.offset| 0))} #450#return; {4946#(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:00,090 INFO L272 TraceCheckUtils]: 74: Hoare triple {4946#(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); {4950#(= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)} is VALID [2022-02-20 16:48:00,090 INFO L290 TraceCheckUtils]: 75: Hoare triple {4950#(= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {4717#(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:00,091 INFO L290 TraceCheckUtils]: 76: Hoare triple {4717#(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:00,091 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:00,092 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, 4 + 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 ((|##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| Int) (v_ArrVal_2828 (Array Int 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|) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| v_ArrVal_2828)) (< |##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:00,093 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 ((|##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| Int) (v_ArrVal_2828 (Array Int 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|) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| v_ArrVal_2828)) (< |##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|))} 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 ((|##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| Int) (v_ArrVal_2828 (Array Int 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_2828) |##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:00,094 INFO L290 TraceCheckUtils]: 80: Hoare triple {4968#(exists ((|##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| Int) (v_ArrVal_2828 (Array Int 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_2828) |##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 ((|##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| Int) (v_ArrVal_2828 (Array Int 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_2828) |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0)))} is VALID [2022-02-20 16:48:00,094 INFO L290 TraceCheckUtils]: 81: Hoare triple {4972#(exists ((|##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| Int) (v_ArrVal_2828 (Array Int 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_2828) |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0)))} 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 ((|##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| Int) (v_ArrVal_2828 (Array Int 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_2828) |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0)))} is VALID [2022-02-20 16:48:00,095 INFO L290 TraceCheckUtils]: 82: Hoare triple {4972#(exists ((|##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| Int) (v_ArrVal_2828 (Array Int 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_2828) |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0)))} assume { :end_inline_dll_insert_slave } true; {4972#(exists ((|##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| Int) (v_ArrVal_2828 (Array Int 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_2828) |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0)))} is VALID [2022-02-20 16:48:00,095 INFO L290 TraceCheckUtils]: 83: Hoare triple {4972#(exists ((|##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| Int) (v_ArrVal_2828 (Array Int 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_2828) |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0)))} assume true; {4972#(exists ((|##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| Int) (v_ArrVal_2828 (Array Int 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_2828) |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0)))} is VALID [2022-02-20 16:48:00,096 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {4972#(exists ((|##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| Int) (v_ArrVal_2828 (Array Int 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_2828) |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0)))} {4946#(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; {4274#false} is VALID [2022-02-20 16:48:00,097 INFO L290 TraceCheckUtils]: 85: Hoare triple {4274#false} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {4274#false} is VALID [2022-02-20 16:48:00,097 INFO L290 TraceCheckUtils]: 86: Hoare triple {4274#false} assume !(0 != #t~nondet9);havoc #t~nondet9; {4274#false} is VALID [2022-02-20 16:48:00,097 INFO L290 TraceCheckUtils]: 87: Hoare triple {4274#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; {4274#false} is VALID [2022-02-20 16:48:00,097 INFO L290 TraceCheckUtils]: 88: Hoare triple {4274#false} assume true; {4274#false} is VALID [2022-02-20 16:48:00,097 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {4274#false} {4273#true} #446#return; {4274#false} is VALID [2022-02-20 16:48:00,097 INFO L290 TraceCheckUtils]: 90: Hoare triple {4274#false} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {4274#false} is VALID [2022-02-20 16:48:00,097 INFO L290 TraceCheckUtils]: 91: Hoare triple {4274#false} assume true; {4274#false} is VALID [2022-02-20 16:48:00,097 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {4274#false} {4273#true} #448#return; {4274#false} is VALID [2022-02-20 16:48:00,097 INFO L290 TraceCheckUtils]: 93: Hoare triple {4274#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); {4274#false} is VALID [2022-02-20 16:48:00,098 INFO L290 TraceCheckUtils]: 94: Hoare triple {4274#false} assume true; {4274#false} is VALID [2022-02-20 16:48:00,098 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {4274#false} {4273#true} #456#return; {4274#false} is VALID [2022-02-20 16:48:00,098 INFO L290 TraceCheckUtils]: 96: Hoare triple {4274#false} assume true; {4274#false} is VALID [2022-02-20 16:48:00,098 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {4274#false} {4273#true} #452#return; {4274#false} is VALID [2022-02-20 16:48:00,098 INFO L290 TraceCheckUtils]: 98: Hoare triple {4274#false} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {4274#false} is VALID [2022-02-20 16:48:00,098 INFO L290 TraceCheckUtils]: 99: Hoare triple {4274#false} assume !(0 != #t~nondet9);havoc #t~nondet9; {4274#false} is VALID [2022-02-20 16:48:00,098 INFO L290 TraceCheckUtils]: 100: Hoare triple {4274#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; {4274#false} is VALID [2022-02-20 16:48:00,098 INFO L290 TraceCheckUtils]: 101: Hoare triple {4274#false} assume true; {4274#false} is VALID [2022-02-20 16:48:00,098 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {4274#false} {4273#true} #470#return; {4274#false} is VALID [2022-02-20 16:48:00,099 INFO L290 TraceCheckUtils]: 103: Hoare triple {4274#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; {4274#false} is VALID [2022-02-20 16:48:00,099 INFO L290 TraceCheckUtils]: 104: Hoare triple {4274#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; {4274#false} is VALID [2022-02-20 16:48:00,099 INFO L272 TraceCheckUtils]: 105: Hoare triple {4274#false} call inspect_base(inspect_full_~dll#1.base, inspect_full_~dll#1.offset); {4274#false} is VALID [2022-02-20 16:48:00,099 INFO L290 TraceCheckUtils]: 106: Hoare triple {4274#false} ~dll.base, ~dll.offset := #in~dll.base, #in~dll.offset; {4274#false} is VALID [2022-02-20 16:48:00,099 INFO L290 TraceCheckUtils]: 107: Hoare triple {4274#false} assume !(~dll.base == 0 && ~dll.offset == 0); {4274#false} is VALID [2022-02-20 16:48:00,099 INFO L290 TraceCheckUtils]: 108: Hoare triple {4274#false} goto; {4274#false} is VALID [2022-02-20 16:48:00,099 INFO L290 TraceCheckUtils]: 109: Hoare triple {4274#false} call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~dll.base, ~dll.offset, 4); {4274#false} is VALID [2022-02-20 16:48:00,099 INFO L290 TraceCheckUtils]: 110: Hoare triple {4274#false} assume #t~mem22.base == 0 && #t~mem22.offset == 0;havoc #t~mem22.base, #t~mem22.offset; {4274#false} is VALID [2022-02-20 16:48:00,099 INFO L272 TraceCheckUtils]: 111: Hoare triple {4274#false} call fail(); {4274#false} is VALID [2022-02-20 16:48:00,100 INFO L290 TraceCheckUtils]: 112: Hoare triple {4274#false} assume !false; {4274#false} is VALID [2022-02-20 16:48:00,100 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:00,100 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:48:00,441 WARN L756 TransFormulaUtils]: predicate-based correctness check returned UNKNOWN, hence correctness of interprocedural sequential composition was not checked. [2022-02-20 16:48:00,828 WARN L756 TransFormulaUtils]: predicate-based correctness check returned UNKNOWN, hence correctness of interprocedural sequential composition was not checked. [2022-02-20 16:48:01,213 WARN L756 TransFormulaUtils]: predicate-based correctness check returned UNKNOWN, hence correctness of interprocedural sequential composition was not checked. [2022-02-20 16:48:01,541 WARN L756 TransFormulaUtils]: predicate-based correctness check returned UNKNOWN, hence correctness of interprocedural sequential composition was not checked. [2022-02-20 16:48:01,891 WARN L756 TransFormulaUtils]: predicate-based correctness check returned UNKNOWN, hence correctness of interprocedural sequential composition was not checked. [2022-02-20 16:48:02,135 WARN L756 TransFormulaUtils]: predicate-based correctness check returned UNKNOWN, hence correctness of interprocedural sequential composition was not checked. [2022-02-20 16:48:02,224 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_2868 (Array Int Int)) (|v_##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base_139| 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_2868) |c_dll_create_generic_~#dll~0.base|) |c_dll_create_generic_~#dll~0.offset|) 0)))) is different from false [2022-02-20 16:48:02,226 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [90983176] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:48:02,226 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 16:48:02,226 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 15] total 23 [2022-02-20 16:48:02,226 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [167260969] [2022-02-20 16:48:02,226 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 16:48:02,227 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 19 states have (on average 4.052631578947368) internal successors, (77), 19 states have internal predecessors, (77), 7 states have call successors, (18), 4 states have call predecessors, (18), 5 states have return successors, (16), 4 states have call predecessors, (16), 6 states have call successors, (16) Word has length 113 [2022-02-20 16:48:02,305 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:48:02,305 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 23 states, 19 states have (on average 4.052631578947368) internal successors, (77), 19 states have internal predecessors, (77), 7 states have call successors, (18), 4 states have call predecessors, (18), 5 states have return successors, (16), 4 states have call predecessors, (16), 6 states have call successors, (16) [2022-02-20 16:48:02,386 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 111 edges. 111 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:48:02,386 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-02-20 16:48:02,386 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:48:02,386 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-02-20 16:48:02,386 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=59, Invalid=370, Unknown=3, NotChecked=120, Total=552 [2022-02-20 16:48:02,387 INFO L87 Difference]: Start difference. First operand 166 states and 204 transitions. Second operand has 23 states, 19 states have (on average 4.052631578947368) internal successors, (77), 19 states have internal predecessors, (77), 7 states have call successors, (18), 4 states have call predecessors, (18), 5 states have return successors, (16), 4 states have call predecessors, (16), 6 states have call successors, (16) [2022-02-20 16:48:04,446 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:48:04,446 INFO L93 Difference]: Finished difference Result 337 states and 425 transitions. [2022-02-20 16:48:04,446 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-02-20 16:48:04,446 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 19 states have (on average 4.052631578947368) internal successors, (77), 19 states have internal predecessors, (77), 7 states have call successors, (18), 4 states have call predecessors, (18), 5 states have return successors, (16), 4 states have call predecessors, (16), 6 states have call successors, (16) Word has length 113 [2022-02-20 16:48:04,447 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:48:04,447 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 19 states have (on average 4.052631578947368) internal successors, (77), 19 states have internal predecessors, (77), 7 states have call successors, (18), 4 states have call predecessors, (18), 5 states have return successors, (16), 4 states have call predecessors, (16), 6 states have call successors, (16) [2022-02-20 16:48:04,450 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 325 transitions. [2022-02-20 16:48:04,450 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 19 states have (on average 4.052631578947368) internal successors, (77), 19 states have internal predecessors, (77), 7 states have call successors, (18), 4 states have call predecessors, (18), 5 states have return successors, (16), 4 states have call predecessors, (16), 6 states have call successors, (16) [2022-02-20 16:48:04,453 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 325 transitions. [2022-02-20 16:48:04,454 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 325 transitions. [2022-02-20 16:48:04,663 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 325 edges. 325 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:48:04,666 INFO L225 Difference]: With dead ends: 337 [2022-02-20 16:48:04,666 INFO L226 Difference]: Without dead ends: 179 [2022-02-20 16:48:04,667 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 198 GetRequests, 166 SyntacticMatches, 0 SemanticMatches, 32 ConstructedPredicates, 3 IntricatePredicates, 0 DeprecatedPredicates, 137 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=124, Invalid=815, Unknown=3, NotChecked=180, Total=1122 [2022-02-20 16:48:04,668 INFO L933 BasicCegarLoop]: 130 mSDtfsCounter, 46 mSDsluCounter, 1091 mSDsCounter, 0 mSdLazyCounter, 906 mSolverCounterSat, 36 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 46 SdHoareTripleChecker+Valid, 1221 SdHoareTripleChecker+Invalid, 1329 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 36 IncrementalHoareTripleChecker+Valid, 906 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 387 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-02-20 16:48:04,668 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [46 Valid, 1221 Invalid, 1329 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [36 Valid, 906 Invalid, 0 Unknown, 387 Unchecked, 0.7s Time] [2022-02-20 16:48:04,668 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 179 states. [2022-02-20 16:48:04,697 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 179 to 171. [2022-02-20 16:48:04,697 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:48:04,697 INFO L82 GeneralOperation]: Start isEquivalent. First operand 179 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, (21), 14 states have call predecessors, (21), 16 states have call successors, (21) [2022-02-20 16:48:04,698 INFO L74 IsIncluded]: Start isIncluded. First operand 179 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, (21), 14 states have call predecessors, (21), 16 states have call successors, (21) [2022-02-20 16:48:04,698 INFO L87 Difference]: Start difference. First operand 179 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, (21), 14 states have call predecessors, (21), 16 states have call successors, (21) [2022-02-20 16:48:04,702 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:48:04,702 INFO L93 Difference]: Finished difference Result 179 states and 223 transitions. [2022-02-20 16:48:04,702 INFO L276 IsEmpty]: Start isEmpty. Operand 179 states and 223 transitions. [2022-02-20 16:48:04,703 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:48:04,703 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:48:04,703 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, (21), 14 states have call predecessors, (21), 16 states have call successors, (21) Second operand 179 states. [2022-02-20 16:48:04,704 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, (21), 14 states have call predecessors, (21), 16 states have call successors, (21) Second operand 179 states. [2022-02-20 16:48:04,707 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:48:04,707 INFO L93 Difference]: Finished difference Result 179 states and 223 transitions. [2022-02-20 16:48:04,708 INFO L276 IsEmpty]: Start isEmpty. Operand 179 states and 223 transitions. [2022-02-20 16:48:04,708 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:48:04,708 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:48:04,708 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:48:04,708 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:48:04,709 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, (21), 14 states have call predecessors, (21), 16 states have call successors, (21) [2022-02-20 16:48:04,712 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 171 states to 171 states and 212 transitions. [2022-02-20 16:48:04,713 INFO L78 Accepts]: Start accepts. Automaton has 171 states and 212 transitions. Word has length 113 [2022-02-20 16:48:04,713 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:48:04,713 INFO L470 AbstractCegarLoop]: Abstraction has 171 states and 212 transitions. [2022-02-20 16:48:04,713 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 23 states, 19 states have (on average 4.052631578947368) internal successors, (77), 19 states have internal predecessors, (77), 7 states have call successors, (18), 4 states have call predecessors, (18), 5 states have return successors, (16), 4 states have call predecessors, (16), 6 states have call successors, (16) [2022-02-20 16:48:04,713 INFO L276 IsEmpty]: Start isEmpty. Operand 171 states and 212 transitions. [2022-02-20 16:48:04,714 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 114 [2022-02-20 16:48:04,714 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:48:04,715 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, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:48:04,735 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:04,933 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:04,933 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting failErr0ASSERT_VIOLATIONERROR_FUNCTION === [failErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:48:04,933 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:48:04,934 INFO L85 PathProgramCache]: Analyzing trace with hash 1829442305, now seen corresponding path program 1 times [2022-02-20 16:48:04,934 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:48:04,934 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1651553606] [2022-02-20 16:48:04,934 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:48:04,934 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:48:04,983 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:05,024 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 16:48:05,062 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:05,099 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-02-20 16:48:05,117 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:05,196 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 16:48:05,213 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:05,347 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-02-20 16:48:05,363 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:05,373 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-02-20 16:48:05,397 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:05,411 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-02-20 16:48:05,414 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:05,417 INFO L290 TraceCheckUtils]: 0: Hoare triple {6342#(and (= |old(#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; {6240#true} is VALID [2022-02-20 16:48:05,417 INFO L290 TraceCheckUtils]: 1: Hoare triple {6240#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; {6240#true} is VALID [2022-02-20 16:48:05,418 INFO L290 TraceCheckUtils]: 2: Hoare triple {6240#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {6240#true} is VALID [2022-02-20 16:48:05,418 INFO L290 TraceCheckUtils]: 3: Hoare triple {6240#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, 4 + 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; {6240#true} is VALID [2022-02-20 16:48:05,418 INFO L290 TraceCheckUtils]: 4: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,418 INFO L290 TraceCheckUtils]: 5: Hoare triple {6240#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {6240#true} is VALID [2022-02-20 16:48:05,418 INFO L290 TraceCheckUtils]: 6: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,418 INFO L290 TraceCheckUtils]: 7: Hoare triple {6240#true} assume { :end_inline_dll_insert_slave } true; {6240#true} is VALID [2022-02-20 16:48:05,418 INFO L290 TraceCheckUtils]: 8: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,418 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {6240#true} {6240#true} #450#return; {6240#true} is VALID [2022-02-20 16:48:05,419 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-02-20 16:48:05,422 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:05,426 INFO L290 TraceCheckUtils]: 0: Hoare triple {6342#(and (= |old(#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; {6240#true} is VALID [2022-02-20 16:48:05,426 INFO L290 TraceCheckUtils]: 1: Hoare triple {6240#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; {6240#true} is VALID [2022-02-20 16:48:05,426 INFO L290 TraceCheckUtils]: 2: Hoare triple {6240#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {6240#true} is VALID [2022-02-20 16:48:05,426 INFO L290 TraceCheckUtils]: 3: Hoare triple {6240#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, 4 + 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; {6240#true} is VALID [2022-02-20 16:48:05,426 INFO L290 TraceCheckUtils]: 4: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,426 INFO L290 TraceCheckUtils]: 5: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,427 INFO L290 TraceCheckUtils]: 6: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,427 INFO L290 TraceCheckUtils]: 7: Hoare triple {6240#true} assume { :end_inline_dll_insert_slave } true; {6240#true} is VALID [2022-02-20 16:48:05,427 INFO L290 TraceCheckUtils]: 8: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,427 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {6240#true} {6240#true} #452#return; {6240#true} is VALID [2022-02-20 16:48:05,427 INFO L290 TraceCheckUtils]: 0: Hoare triple {6342#(and (= |old(#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); {6240#true} is VALID [2022-02-20 16:48:05,428 INFO L272 TraceCheckUtils]: 1: Hoare triple {6240#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {6342#(and (= |old(#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:05,428 INFO L290 TraceCheckUtils]: 2: Hoare triple {6342#(and (= |old(#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; {6240#true} is VALID [2022-02-20 16:48:05,428 INFO L290 TraceCheckUtils]: 3: Hoare triple {6240#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; {6240#true} is VALID [2022-02-20 16:48:05,428 INFO L290 TraceCheckUtils]: 4: Hoare triple {6240#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {6240#true} is VALID [2022-02-20 16:48:05,428 INFO L290 TraceCheckUtils]: 5: Hoare triple {6240#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, 4 + 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; {6240#true} is VALID [2022-02-20 16:48:05,428 INFO L290 TraceCheckUtils]: 6: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,429 INFO L290 TraceCheckUtils]: 7: Hoare triple {6240#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {6240#true} is VALID [2022-02-20 16:48:05,429 INFO L290 TraceCheckUtils]: 8: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,429 INFO L290 TraceCheckUtils]: 9: Hoare triple {6240#true} assume { :end_inline_dll_insert_slave } true; {6240#true} is VALID [2022-02-20 16:48:05,429 INFO L290 TraceCheckUtils]: 10: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,429 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {6240#true} {6240#true} #450#return; {6240#true} is VALID [2022-02-20 16:48:05,430 INFO L272 TraceCheckUtils]: 12: Hoare triple {6240#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {6342#(and (= |old(#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:05,430 INFO L290 TraceCheckUtils]: 13: Hoare triple {6342#(and (= |old(#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; {6240#true} is VALID [2022-02-20 16:48:05,430 INFO L290 TraceCheckUtils]: 14: Hoare triple {6240#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; {6240#true} is VALID [2022-02-20 16:48:05,430 INFO L290 TraceCheckUtils]: 15: Hoare triple {6240#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {6240#true} is VALID [2022-02-20 16:48:05,430 INFO L290 TraceCheckUtils]: 16: Hoare triple {6240#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, 4 + 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; {6240#true} is VALID [2022-02-20 16:48:05,430 INFO L290 TraceCheckUtils]: 17: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,430 INFO L290 TraceCheckUtils]: 18: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,431 INFO L290 TraceCheckUtils]: 19: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,431 INFO L290 TraceCheckUtils]: 20: Hoare triple {6240#true} assume { :end_inline_dll_insert_slave } true; {6240#true} is VALID [2022-02-20 16:48:05,431 INFO L290 TraceCheckUtils]: 21: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,431 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6240#true} {6240#true} #452#return; {6240#true} is VALID [2022-02-20 16:48:05,431 INFO L290 TraceCheckUtils]: 23: Hoare triple {6240#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {6240#true} is VALID [2022-02-20 16:48:05,431 INFO L290 TraceCheckUtils]: 24: Hoare triple {6240#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {6240#true} is VALID [2022-02-20 16:48:05,431 INFO L290 TraceCheckUtils]: 25: Hoare triple {6240#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; {6240#true} is VALID [2022-02-20 16:48:05,431 INFO L290 TraceCheckUtils]: 26: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,431 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {6240#true} {6342#(and (= |old(#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; {6240#true} is VALID [2022-02-20 16:48:05,432 INFO L272 TraceCheckUtils]: 0: Hoare triple {6342#(and (= |old(#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); {6342#(and (= |old(#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:05,432 INFO L290 TraceCheckUtils]: 1: Hoare triple {6342#(and (= |old(#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); {6240#true} is VALID [2022-02-20 16:48:05,433 INFO L272 TraceCheckUtils]: 2: Hoare triple {6240#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {6342#(and (= |old(#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:05,433 INFO L290 TraceCheckUtils]: 3: Hoare triple {6342#(and (= |old(#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; {6240#true} is VALID [2022-02-20 16:48:05,433 INFO L290 TraceCheckUtils]: 4: Hoare triple {6240#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; {6240#true} is VALID [2022-02-20 16:48:05,433 INFO L290 TraceCheckUtils]: 5: Hoare triple {6240#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {6240#true} is VALID [2022-02-20 16:48:05,433 INFO L290 TraceCheckUtils]: 6: Hoare triple {6240#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, 4 + 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; {6240#true} is VALID [2022-02-20 16:48:05,434 INFO L290 TraceCheckUtils]: 7: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,434 INFO L290 TraceCheckUtils]: 8: Hoare triple {6240#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {6240#true} is VALID [2022-02-20 16:48:05,434 INFO L290 TraceCheckUtils]: 9: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,434 INFO L290 TraceCheckUtils]: 10: Hoare triple {6240#true} assume { :end_inline_dll_insert_slave } true; {6240#true} is VALID [2022-02-20 16:48:05,434 INFO L290 TraceCheckUtils]: 11: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,434 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {6240#true} {6240#true} #450#return; {6240#true} is VALID [2022-02-20 16:48:05,435 INFO L272 TraceCheckUtils]: 13: Hoare triple {6240#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {6342#(and (= |old(#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:05,435 INFO L290 TraceCheckUtils]: 14: Hoare triple {6342#(and (= |old(#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; {6240#true} is VALID [2022-02-20 16:48:05,435 INFO L290 TraceCheckUtils]: 15: Hoare triple {6240#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; {6240#true} is VALID [2022-02-20 16:48:05,435 INFO L290 TraceCheckUtils]: 16: Hoare triple {6240#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {6240#true} is VALID [2022-02-20 16:48:05,435 INFO L290 TraceCheckUtils]: 17: Hoare triple {6240#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, 4 + 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; {6240#true} is VALID [2022-02-20 16:48:05,435 INFO L290 TraceCheckUtils]: 18: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,436 INFO L290 TraceCheckUtils]: 19: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,436 INFO L290 TraceCheckUtils]: 20: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,436 INFO L290 TraceCheckUtils]: 21: Hoare triple {6240#true} assume { :end_inline_dll_insert_slave } true; {6240#true} is VALID [2022-02-20 16:48:05,436 INFO L290 TraceCheckUtils]: 22: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,436 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6240#true} {6240#true} #452#return; {6240#true} is VALID [2022-02-20 16:48:05,436 INFO L290 TraceCheckUtils]: 24: Hoare triple {6240#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {6240#true} is VALID [2022-02-20 16:48:05,436 INFO L290 TraceCheckUtils]: 25: Hoare triple {6240#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {6240#true} is VALID [2022-02-20 16:48:05,436 INFO L290 TraceCheckUtils]: 26: Hoare triple {6240#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; {6240#true} is VALID [2022-02-20 16:48:05,436 INFO L290 TraceCheckUtils]: 27: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,436 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6240#true} {6342#(and (= |old(#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; {6240#true} is VALID [2022-02-20 16:48:05,437 INFO L290 TraceCheckUtils]: 29: Hoare triple {6240#true} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {6240#true} is VALID [2022-02-20 16:48:05,437 INFO L290 TraceCheckUtils]: 30: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,437 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {6240#true} {6482#(or (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|)) (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|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|)))} #448#return; {6482#(or (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|)) (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|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|)))} is VALID [2022-02-20 16:48:05,438 INFO L290 TraceCheckUtils]: 0: Hoare triple {6342#(and (= |old(#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; {6479#(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:05,439 INFO L290 TraceCheckUtils]: 1: Hoare triple {6479#(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); {6479#(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:05,440 INFO L290 TraceCheckUtils]: 2: Hoare triple {6479#(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; {6480#(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:05,440 INFO L290 TraceCheckUtils]: 3: Hoare triple {6480#(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); {6481#(and (or (= |dll_insert_master_~next~3#1.offset| 0) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|) (= (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|)) (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:05,441 INFO L290 TraceCheckUtils]: 4: Hoare triple {6481#(and (or (= |dll_insert_master_~next~3#1.offset| 0) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|) (= (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|)) (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;call write~$Pointer$(~item~1#1.base, ~item~1#1.offset, ~next~3#1.base, 4 + ~next~3#1.offset, 4); {6482#(or (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|)) (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|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|)))} is VALID [2022-02-20 16:48:05,442 INFO L272 TraceCheckUtils]: 5: Hoare triple {6482#(or (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|)) (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|)) (= |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(); {6342#(and (= |old(#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:05,443 INFO L272 TraceCheckUtils]: 6: Hoare triple {6342#(and (= |old(#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); {6342#(and (= |old(#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:05,443 INFO L290 TraceCheckUtils]: 7: Hoare triple {6342#(and (= |old(#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); {6240#true} is VALID [2022-02-20 16:48:05,444 INFO L272 TraceCheckUtils]: 8: Hoare triple {6240#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {6342#(and (= |old(#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:05,444 INFO L290 TraceCheckUtils]: 9: Hoare triple {6342#(and (= |old(#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; {6240#true} is VALID [2022-02-20 16:48:05,444 INFO L290 TraceCheckUtils]: 10: Hoare triple {6240#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; {6240#true} is VALID [2022-02-20 16:48:05,444 INFO L290 TraceCheckUtils]: 11: Hoare triple {6240#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {6240#true} is VALID [2022-02-20 16:48:05,444 INFO L290 TraceCheckUtils]: 12: Hoare triple {6240#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, 4 + 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; {6240#true} is VALID [2022-02-20 16:48:05,444 INFO L290 TraceCheckUtils]: 13: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,444 INFO L290 TraceCheckUtils]: 14: Hoare triple {6240#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {6240#true} is VALID [2022-02-20 16:48:05,444 INFO L290 TraceCheckUtils]: 15: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,444 INFO L290 TraceCheckUtils]: 16: Hoare triple {6240#true} assume { :end_inline_dll_insert_slave } true; {6240#true} is VALID [2022-02-20 16:48:05,445 INFO L290 TraceCheckUtils]: 17: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,445 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {6240#true} {6240#true} #450#return; {6240#true} is VALID [2022-02-20 16:48:05,445 INFO L272 TraceCheckUtils]: 19: Hoare triple {6240#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {6342#(and (= |old(#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:05,445 INFO L290 TraceCheckUtils]: 20: Hoare triple {6342#(and (= |old(#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; {6240#true} is VALID [2022-02-20 16:48:05,446 INFO L290 TraceCheckUtils]: 21: Hoare triple {6240#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; {6240#true} is VALID [2022-02-20 16:48:05,446 INFO L290 TraceCheckUtils]: 22: Hoare triple {6240#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {6240#true} is VALID [2022-02-20 16:48:05,446 INFO L290 TraceCheckUtils]: 23: Hoare triple {6240#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, 4 + 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; {6240#true} is VALID [2022-02-20 16:48:05,446 INFO L290 TraceCheckUtils]: 24: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,446 INFO L290 TraceCheckUtils]: 25: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,446 INFO L290 TraceCheckUtils]: 26: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,446 INFO L290 TraceCheckUtils]: 27: Hoare triple {6240#true} assume { :end_inline_dll_insert_slave } true; {6240#true} is VALID [2022-02-20 16:48:05,446 INFO L290 TraceCheckUtils]: 28: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,446 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {6240#true} {6240#true} #452#return; {6240#true} is VALID [2022-02-20 16:48:05,447 INFO L290 TraceCheckUtils]: 30: Hoare triple {6240#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {6240#true} is VALID [2022-02-20 16:48:05,447 INFO L290 TraceCheckUtils]: 31: Hoare triple {6240#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {6240#true} is VALID [2022-02-20 16:48:05,447 INFO L290 TraceCheckUtils]: 32: Hoare triple {6240#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; {6240#true} is VALID [2022-02-20 16:48:05,447 INFO L290 TraceCheckUtils]: 33: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,447 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {6240#true} {6342#(and (= |old(#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; {6240#true} is VALID [2022-02-20 16:48:05,447 INFO L290 TraceCheckUtils]: 35: Hoare triple {6240#true} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {6240#true} is VALID [2022-02-20 16:48:05,447 INFO L290 TraceCheckUtils]: 36: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,448 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6240#true} {6482#(or (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|)) (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|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|)))} #448#return; {6482#(or (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|)) (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|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|)))} is VALID [2022-02-20 16:48:05,449 INFO L290 TraceCheckUtils]: 38: Hoare triple {6482#(or (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|)) (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|)) (= |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); {6515#(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:05,449 INFO L290 TraceCheckUtils]: 39: Hoare triple {6515#(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; {6515#(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:05,450 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {6515#(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)))} {6436#(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; {6478#(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:05,451 INFO L290 TraceCheckUtils]: 0: Hoare triple {6342#(and (= |old(#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; {6436#(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:05,451 INFO L290 TraceCheckUtils]: 1: Hoare triple {6436#(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; {6436#(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:05,452 INFO L272 TraceCheckUtils]: 2: Hoare triple {6436#(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); {6342#(and (= |old(#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:05,452 INFO L290 TraceCheckUtils]: 3: Hoare triple {6342#(and (= |old(#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; {6479#(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:05,453 INFO L290 TraceCheckUtils]: 4: Hoare triple {6479#(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); {6479#(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:05,454 INFO L290 TraceCheckUtils]: 5: Hoare triple {6479#(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; {6480#(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:05,455 INFO L290 TraceCheckUtils]: 6: Hoare triple {6480#(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); {6481#(and (or (= |dll_insert_master_~next~3#1.offset| 0) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|) (= (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|)) (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:05,455 INFO L290 TraceCheckUtils]: 7: Hoare triple {6481#(and (or (= |dll_insert_master_~next~3#1.offset| 0) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|) (= (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|)) (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;call write~$Pointer$(~item~1#1.base, ~item~1#1.offset, ~next~3#1.base, 4 + ~next~3#1.offset, 4); {6482#(or (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|)) (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|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|)))} is VALID [2022-02-20 16:48:05,456 INFO L272 TraceCheckUtils]: 8: Hoare triple {6482#(or (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|)) (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|)) (= |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(); {6342#(and (= |old(#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:05,457 INFO L272 TraceCheckUtils]: 9: Hoare triple {6342#(and (= |old(#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); {6342#(and (= |old(#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:05,457 INFO L290 TraceCheckUtils]: 10: Hoare triple {6342#(and (= |old(#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); {6240#true} is VALID [2022-02-20 16:48:05,458 INFO L272 TraceCheckUtils]: 11: Hoare triple {6240#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {6342#(and (= |old(#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:05,458 INFO L290 TraceCheckUtils]: 12: Hoare triple {6342#(and (= |old(#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; {6240#true} is VALID [2022-02-20 16:48:05,458 INFO L290 TraceCheckUtils]: 13: Hoare triple {6240#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; {6240#true} is VALID [2022-02-20 16:48:05,458 INFO L290 TraceCheckUtils]: 14: Hoare triple {6240#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {6240#true} is VALID [2022-02-20 16:48:05,458 INFO L290 TraceCheckUtils]: 15: Hoare triple {6240#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, 4 + 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; {6240#true} is VALID [2022-02-20 16:48:05,458 INFO L290 TraceCheckUtils]: 16: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,458 INFO L290 TraceCheckUtils]: 17: Hoare triple {6240#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {6240#true} is VALID [2022-02-20 16:48:05,458 INFO L290 TraceCheckUtils]: 18: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,459 INFO L290 TraceCheckUtils]: 19: Hoare triple {6240#true} assume { :end_inline_dll_insert_slave } true; {6240#true} is VALID [2022-02-20 16:48:05,459 INFO L290 TraceCheckUtils]: 20: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,459 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6240#true} {6240#true} #450#return; {6240#true} is VALID [2022-02-20 16:48:05,459 INFO L272 TraceCheckUtils]: 22: Hoare triple {6240#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {6342#(and (= |old(#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:05,460 INFO L290 TraceCheckUtils]: 23: Hoare triple {6342#(and (= |old(#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; {6240#true} is VALID [2022-02-20 16:48:05,460 INFO L290 TraceCheckUtils]: 24: Hoare triple {6240#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; {6240#true} is VALID [2022-02-20 16:48:05,460 INFO L290 TraceCheckUtils]: 25: Hoare triple {6240#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {6240#true} is VALID [2022-02-20 16:48:05,460 INFO L290 TraceCheckUtils]: 26: Hoare triple {6240#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, 4 + 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; {6240#true} is VALID [2022-02-20 16:48:05,460 INFO L290 TraceCheckUtils]: 27: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,460 INFO L290 TraceCheckUtils]: 28: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,460 INFO L290 TraceCheckUtils]: 29: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,460 INFO L290 TraceCheckUtils]: 30: Hoare triple {6240#true} assume { :end_inline_dll_insert_slave } true; {6240#true} is VALID [2022-02-20 16:48:05,460 INFO L290 TraceCheckUtils]: 31: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,461 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6240#true} {6240#true} #452#return; {6240#true} is VALID [2022-02-20 16:48:05,461 INFO L290 TraceCheckUtils]: 33: Hoare triple {6240#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {6240#true} is VALID [2022-02-20 16:48:05,461 INFO L290 TraceCheckUtils]: 34: Hoare triple {6240#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {6240#true} is VALID [2022-02-20 16:48:05,461 INFO L290 TraceCheckUtils]: 35: Hoare triple {6240#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; {6240#true} is VALID [2022-02-20 16:48:05,461 INFO L290 TraceCheckUtils]: 36: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,461 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6240#true} {6342#(and (= |old(#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; {6240#true} is VALID [2022-02-20 16:48:05,461 INFO L290 TraceCheckUtils]: 38: Hoare triple {6240#true} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {6240#true} is VALID [2022-02-20 16:48:05,461 INFO L290 TraceCheckUtils]: 39: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,462 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {6240#true} {6482#(or (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|)) (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|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|)))} #448#return; {6482#(or (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|)) (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|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|)))} is VALID [2022-02-20 16:48:05,463 INFO L290 TraceCheckUtils]: 41: Hoare triple {6482#(or (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|)) (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|)) (= |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); {6515#(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:05,463 INFO L290 TraceCheckUtils]: 42: Hoare triple {6515#(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; {6515#(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:05,464 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {6515#(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)))} {6436#(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; {6478#(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:05,465 INFO L290 TraceCheckUtils]: 44: Hoare triple {6478#(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; {6478#(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:05,465 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6478#(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|))} {6343#(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; {6241#false} is VALID [2022-02-20 16:48:05,466 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 48 [2022-02-20 16:48:05,480 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:05,488 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 16:48:05,499 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:05,507 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-02-20 16:48:05,514 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:05,521 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-02-20 16:48:05,529 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:05,535 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-02-20 16:48:05,539 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:05,542 INFO L290 TraceCheckUtils]: 0: Hoare triple {6342#(and (= |old(#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; {6240#true} is VALID [2022-02-20 16:48:05,542 INFO L290 TraceCheckUtils]: 1: Hoare triple {6240#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; {6240#true} is VALID [2022-02-20 16:48:05,542 INFO L290 TraceCheckUtils]: 2: Hoare triple {6240#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {6240#true} is VALID [2022-02-20 16:48:05,542 INFO L290 TraceCheckUtils]: 3: Hoare triple {6240#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, 4 + 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; {6240#true} is VALID [2022-02-20 16:48:05,542 INFO L290 TraceCheckUtils]: 4: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,542 INFO L290 TraceCheckUtils]: 5: Hoare triple {6240#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {6240#true} is VALID [2022-02-20 16:48:05,543 INFO L290 TraceCheckUtils]: 6: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,543 INFO L290 TraceCheckUtils]: 7: Hoare triple {6240#true} assume { :end_inline_dll_insert_slave } true; {6240#true} is VALID [2022-02-20 16:48:05,543 INFO L290 TraceCheckUtils]: 8: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,543 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {6240#true} {6240#true} #450#return; {6240#true} is VALID [2022-02-20 16:48:05,543 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-02-20 16:48:05,546 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:05,550 INFO L290 TraceCheckUtils]: 0: Hoare triple {6342#(and (= |old(#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; {6240#true} is VALID [2022-02-20 16:48:05,550 INFO L290 TraceCheckUtils]: 1: Hoare triple {6240#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; {6240#true} is VALID [2022-02-20 16:48:05,550 INFO L290 TraceCheckUtils]: 2: Hoare triple {6240#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {6240#true} is VALID [2022-02-20 16:48:05,550 INFO L290 TraceCheckUtils]: 3: Hoare triple {6240#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, 4 + 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; {6240#true} is VALID [2022-02-20 16:48:05,550 INFO L290 TraceCheckUtils]: 4: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,550 INFO L290 TraceCheckUtils]: 5: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,551 INFO L290 TraceCheckUtils]: 6: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,551 INFO L290 TraceCheckUtils]: 7: Hoare triple {6240#true} assume { :end_inline_dll_insert_slave } true; {6240#true} is VALID [2022-02-20 16:48:05,551 INFO L290 TraceCheckUtils]: 8: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,551 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {6240#true} {6240#true} #452#return; {6240#true} is VALID [2022-02-20 16:48:05,551 INFO L290 TraceCheckUtils]: 0: Hoare triple {6342#(and (= |old(#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); {6240#true} is VALID [2022-02-20 16:48:05,552 INFO L272 TraceCheckUtils]: 1: Hoare triple {6240#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {6342#(and (= |old(#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:05,552 INFO L290 TraceCheckUtils]: 2: Hoare triple {6342#(and (= |old(#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; {6240#true} is VALID [2022-02-20 16:48:05,552 INFO L290 TraceCheckUtils]: 3: Hoare triple {6240#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; {6240#true} is VALID [2022-02-20 16:48:05,552 INFO L290 TraceCheckUtils]: 4: Hoare triple {6240#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {6240#true} is VALID [2022-02-20 16:48:05,552 INFO L290 TraceCheckUtils]: 5: Hoare triple {6240#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, 4 + 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; {6240#true} is VALID [2022-02-20 16:48:05,553 INFO L290 TraceCheckUtils]: 6: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,553 INFO L290 TraceCheckUtils]: 7: Hoare triple {6240#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {6240#true} is VALID [2022-02-20 16:48:05,553 INFO L290 TraceCheckUtils]: 8: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,553 INFO L290 TraceCheckUtils]: 9: Hoare triple {6240#true} assume { :end_inline_dll_insert_slave } true; {6240#true} is VALID [2022-02-20 16:48:05,553 INFO L290 TraceCheckUtils]: 10: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,553 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {6240#true} {6240#true} #450#return; {6240#true} is VALID [2022-02-20 16:48:05,554 INFO L272 TraceCheckUtils]: 12: Hoare triple {6240#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {6342#(and (= |old(#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:05,554 INFO L290 TraceCheckUtils]: 13: Hoare triple {6342#(and (= |old(#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; {6240#true} is VALID [2022-02-20 16:48:05,554 INFO L290 TraceCheckUtils]: 14: Hoare triple {6240#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; {6240#true} is VALID [2022-02-20 16:48:05,554 INFO L290 TraceCheckUtils]: 15: Hoare triple {6240#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {6240#true} is VALID [2022-02-20 16:48:05,554 INFO L290 TraceCheckUtils]: 16: Hoare triple {6240#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, 4 + 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; {6240#true} is VALID [2022-02-20 16:48:05,554 INFO L290 TraceCheckUtils]: 17: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,555 INFO L290 TraceCheckUtils]: 18: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,555 INFO L290 TraceCheckUtils]: 19: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,555 INFO L290 TraceCheckUtils]: 20: Hoare triple {6240#true} assume { :end_inline_dll_insert_slave } true; {6240#true} is VALID [2022-02-20 16:48:05,555 INFO L290 TraceCheckUtils]: 21: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,555 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6240#true} {6240#true} #452#return; {6240#true} is VALID [2022-02-20 16:48:05,555 INFO L290 TraceCheckUtils]: 23: Hoare triple {6240#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {6240#true} is VALID [2022-02-20 16:48:05,555 INFO L290 TraceCheckUtils]: 24: Hoare triple {6240#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {6240#true} is VALID [2022-02-20 16:48:05,555 INFO L290 TraceCheckUtils]: 25: Hoare triple {6240#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; {6240#true} is VALID [2022-02-20 16:48:05,555 INFO L290 TraceCheckUtils]: 26: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,556 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {6240#true} {6342#(and (= |old(#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; {6240#true} is VALID [2022-02-20 16:48:05,556 INFO L272 TraceCheckUtils]: 0: Hoare triple {6342#(and (= |old(#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); {6342#(and (= |old(#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:05,556 INFO L290 TraceCheckUtils]: 1: Hoare triple {6342#(and (= |old(#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); {6240#true} is VALID [2022-02-20 16:48:05,557 INFO L272 TraceCheckUtils]: 2: Hoare triple {6240#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {6342#(and (= |old(#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:05,557 INFO L290 TraceCheckUtils]: 3: Hoare triple {6342#(and (= |old(#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; {6240#true} is VALID [2022-02-20 16:48:05,557 INFO L290 TraceCheckUtils]: 4: Hoare triple {6240#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; {6240#true} is VALID [2022-02-20 16:48:05,558 INFO L290 TraceCheckUtils]: 5: Hoare triple {6240#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {6240#true} is VALID [2022-02-20 16:48:05,558 INFO L290 TraceCheckUtils]: 6: Hoare triple {6240#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, 4 + 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; {6240#true} is VALID [2022-02-20 16:48:05,558 INFO L290 TraceCheckUtils]: 7: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,558 INFO L290 TraceCheckUtils]: 8: Hoare triple {6240#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {6240#true} is VALID [2022-02-20 16:48:05,558 INFO L290 TraceCheckUtils]: 9: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,558 INFO L290 TraceCheckUtils]: 10: Hoare triple {6240#true} assume { :end_inline_dll_insert_slave } true; {6240#true} is VALID [2022-02-20 16:48:05,558 INFO L290 TraceCheckUtils]: 11: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,558 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {6240#true} {6240#true} #450#return; {6240#true} is VALID [2022-02-20 16:48:05,559 INFO L272 TraceCheckUtils]: 13: Hoare triple {6240#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {6342#(and (= |old(#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:05,559 INFO L290 TraceCheckUtils]: 14: Hoare triple {6342#(and (= |old(#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; {6240#true} is VALID [2022-02-20 16:48:05,559 INFO L290 TraceCheckUtils]: 15: Hoare triple {6240#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; {6240#true} is VALID [2022-02-20 16:48:05,560 INFO L290 TraceCheckUtils]: 16: Hoare triple {6240#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {6240#true} is VALID [2022-02-20 16:48:05,560 INFO L290 TraceCheckUtils]: 17: Hoare triple {6240#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, 4 + 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; {6240#true} is VALID [2022-02-20 16:48:05,560 INFO L290 TraceCheckUtils]: 18: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,560 INFO L290 TraceCheckUtils]: 19: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,560 INFO L290 TraceCheckUtils]: 20: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,560 INFO L290 TraceCheckUtils]: 21: Hoare triple {6240#true} assume { :end_inline_dll_insert_slave } true; {6240#true} is VALID [2022-02-20 16:48:05,560 INFO L290 TraceCheckUtils]: 22: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,560 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6240#true} {6240#true} #452#return; {6240#true} is VALID [2022-02-20 16:48:05,560 INFO L290 TraceCheckUtils]: 24: Hoare triple {6240#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {6240#true} is VALID [2022-02-20 16:48:05,561 INFO L290 TraceCheckUtils]: 25: Hoare triple {6240#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {6240#true} is VALID [2022-02-20 16:48:05,561 INFO L290 TraceCheckUtils]: 26: Hoare triple {6240#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; {6240#true} is VALID [2022-02-20 16:48:05,561 INFO L290 TraceCheckUtils]: 27: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,561 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6240#true} {6342#(and (= |old(#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; {6240#true} is VALID [2022-02-20 16:48:05,561 INFO L290 TraceCheckUtils]: 29: Hoare triple {6240#true} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {6240#true} is VALID [2022-02-20 16:48:05,561 INFO L290 TraceCheckUtils]: 30: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,561 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {6240#true} {6240#true} #448#return; {6240#true} is VALID [2022-02-20 16:48:05,561 INFO L290 TraceCheckUtils]: 0: Hoare triple {6342#(and (= |old(#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; {6240#true} is VALID [2022-02-20 16:48:05,562 INFO L290 TraceCheckUtils]: 1: Hoare triple {6240#true} assume !(alloc_or_die_master_~ptr~1#1.base == 0 && alloc_or_die_master_~ptr~1#1.offset == 0); {6240#true} is VALID [2022-02-20 16:48:05,562 INFO L290 TraceCheckUtils]: 2: Hoare triple {6240#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; {6240#true} is VALID [2022-02-20 16:48:05,562 INFO L290 TraceCheckUtils]: 3: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,562 INFO L290 TraceCheckUtils]: 4: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,562 INFO L272 TraceCheckUtils]: 5: Hoare triple {6240#true} call #t~ret20#1.base, #t~ret20#1.offset := dll_create_slave(); {6342#(and (= |old(#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:05,563 INFO L272 TraceCheckUtils]: 6: Hoare triple {6342#(and (= |old(#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); {6342#(and (= |old(#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:05,563 INFO L290 TraceCheckUtils]: 7: Hoare triple {6342#(and (= |old(#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); {6240#true} is VALID [2022-02-20 16:48:05,564 INFO L272 TraceCheckUtils]: 8: Hoare triple {6240#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {6342#(and (= |old(#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:05,564 INFO L290 TraceCheckUtils]: 9: Hoare triple {6342#(and (= |old(#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; {6240#true} is VALID [2022-02-20 16:48:05,564 INFO L290 TraceCheckUtils]: 10: Hoare triple {6240#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; {6240#true} is VALID [2022-02-20 16:48:05,564 INFO L290 TraceCheckUtils]: 11: Hoare triple {6240#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {6240#true} is VALID [2022-02-20 16:48:05,564 INFO L290 TraceCheckUtils]: 12: Hoare triple {6240#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, 4 + 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; {6240#true} is VALID [2022-02-20 16:48:05,565 INFO L290 TraceCheckUtils]: 13: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,565 INFO L290 TraceCheckUtils]: 14: Hoare triple {6240#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {6240#true} is VALID [2022-02-20 16:48:05,565 INFO L290 TraceCheckUtils]: 15: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,565 INFO L290 TraceCheckUtils]: 16: Hoare triple {6240#true} assume { :end_inline_dll_insert_slave } true; {6240#true} is VALID [2022-02-20 16:48:05,565 INFO L290 TraceCheckUtils]: 17: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,565 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {6240#true} {6240#true} #450#return; {6240#true} is VALID [2022-02-20 16:48:05,566 INFO L272 TraceCheckUtils]: 19: Hoare triple {6240#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {6342#(and (= |old(#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:05,566 INFO L290 TraceCheckUtils]: 20: Hoare triple {6342#(and (= |old(#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; {6240#true} is VALID [2022-02-20 16:48:05,566 INFO L290 TraceCheckUtils]: 21: Hoare triple {6240#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; {6240#true} is VALID [2022-02-20 16:48:05,566 INFO L290 TraceCheckUtils]: 22: Hoare triple {6240#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {6240#true} is VALID [2022-02-20 16:48:05,566 INFO L290 TraceCheckUtils]: 23: Hoare triple {6240#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, 4 + 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; {6240#true} is VALID [2022-02-20 16:48:05,566 INFO L290 TraceCheckUtils]: 24: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,567 INFO L290 TraceCheckUtils]: 25: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,567 INFO L290 TraceCheckUtils]: 26: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,567 INFO L290 TraceCheckUtils]: 27: Hoare triple {6240#true} assume { :end_inline_dll_insert_slave } true; {6240#true} is VALID [2022-02-20 16:48:05,567 INFO L290 TraceCheckUtils]: 28: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,567 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {6240#true} {6240#true} #452#return; {6240#true} is VALID [2022-02-20 16:48:05,567 INFO L290 TraceCheckUtils]: 30: Hoare triple {6240#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {6240#true} is VALID [2022-02-20 16:48:05,567 INFO L290 TraceCheckUtils]: 31: Hoare triple {6240#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {6240#true} is VALID [2022-02-20 16:48:05,567 INFO L290 TraceCheckUtils]: 32: Hoare triple {6240#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; {6240#true} is VALID [2022-02-20 16:48:05,567 INFO L290 TraceCheckUtils]: 33: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,568 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {6240#true} {6342#(and (= |old(#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; {6240#true} is VALID [2022-02-20 16:48:05,568 INFO L290 TraceCheckUtils]: 35: Hoare triple {6240#true} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {6240#true} is VALID [2022-02-20 16:48:05,568 INFO L290 TraceCheckUtils]: 36: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,568 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6240#true} {6240#true} #448#return; {6240#true} is VALID [2022-02-20 16:48:05,568 INFO L290 TraceCheckUtils]: 38: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,568 INFO L290 TraceCheckUtils]: 39: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,568 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {6240#true} {6240#true} #456#return; {6240#true} is VALID [2022-02-20 16:48:05,568 INFO L290 TraceCheckUtils]: 0: Hoare triple {6342#(and (= |old(#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; {6240#true} is VALID [2022-02-20 16:48:05,569 INFO L290 TraceCheckUtils]: 1: Hoare triple {6240#true} assume #in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset; {6240#true} is VALID [2022-02-20 16:48:05,569 INFO L272 TraceCheckUtils]: 2: Hoare triple {6240#true} call dll_insert_master(#~10#1.base, #~10#1.offset); {6342#(and (= |old(#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:05,569 INFO L290 TraceCheckUtils]: 3: Hoare triple {6342#(and (= |old(#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; {6240#true} is VALID [2022-02-20 16:48:05,569 INFO L290 TraceCheckUtils]: 4: Hoare triple {6240#true} assume !(alloc_or_die_master_~ptr~1#1.base == 0 && alloc_or_die_master_~ptr~1#1.offset == 0); {6240#true} is VALID [2022-02-20 16:48:05,570 INFO L290 TraceCheckUtils]: 5: Hoare triple {6240#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; {6240#true} is VALID [2022-02-20 16:48:05,570 INFO L290 TraceCheckUtils]: 6: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,570 INFO L290 TraceCheckUtils]: 7: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,570 INFO L272 TraceCheckUtils]: 8: Hoare triple {6240#true} call #t~ret20#1.base, #t~ret20#1.offset := dll_create_slave(); {6342#(and (= |old(#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:05,571 INFO L272 TraceCheckUtils]: 9: Hoare triple {6342#(and (= |old(#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); {6342#(and (= |old(#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:05,571 INFO L290 TraceCheckUtils]: 10: Hoare triple {6342#(and (= |old(#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); {6240#true} is VALID [2022-02-20 16:48:05,572 INFO L272 TraceCheckUtils]: 11: Hoare triple {6240#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {6342#(and (= |old(#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:05,572 INFO L290 TraceCheckUtils]: 12: Hoare triple {6342#(and (= |old(#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; {6240#true} is VALID [2022-02-20 16:48:05,572 INFO L290 TraceCheckUtils]: 13: Hoare triple {6240#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; {6240#true} is VALID [2022-02-20 16:48:05,572 INFO L290 TraceCheckUtils]: 14: Hoare triple {6240#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {6240#true} is VALID [2022-02-20 16:48:05,572 INFO L290 TraceCheckUtils]: 15: Hoare triple {6240#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, 4 + 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; {6240#true} is VALID [2022-02-20 16:48:05,572 INFO L290 TraceCheckUtils]: 16: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,574 INFO L290 TraceCheckUtils]: 17: Hoare triple {6240#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {6240#true} is VALID [2022-02-20 16:48:05,574 INFO L290 TraceCheckUtils]: 18: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,574 INFO L290 TraceCheckUtils]: 19: Hoare triple {6240#true} assume { :end_inline_dll_insert_slave } true; {6240#true} is VALID [2022-02-20 16:48:05,574 INFO L290 TraceCheckUtils]: 20: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,574 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6240#true} {6240#true} #450#return; {6240#true} is VALID [2022-02-20 16:48:05,575 INFO L272 TraceCheckUtils]: 22: Hoare triple {6240#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {6342#(and (= |old(#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:05,575 INFO L290 TraceCheckUtils]: 23: Hoare triple {6342#(and (= |old(#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; {6240#true} is VALID [2022-02-20 16:48:05,575 INFO L290 TraceCheckUtils]: 24: Hoare triple {6240#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; {6240#true} is VALID [2022-02-20 16:48:05,576 INFO L290 TraceCheckUtils]: 25: Hoare triple {6240#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {6240#true} is VALID [2022-02-20 16:48:05,576 INFO L290 TraceCheckUtils]: 26: Hoare triple {6240#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, 4 + 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; {6240#true} is VALID [2022-02-20 16:48:05,576 INFO L290 TraceCheckUtils]: 27: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,576 INFO L290 TraceCheckUtils]: 28: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,576 INFO L290 TraceCheckUtils]: 29: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,576 INFO L290 TraceCheckUtils]: 30: Hoare triple {6240#true} assume { :end_inline_dll_insert_slave } true; {6240#true} is VALID [2022-02-20 16:48:05,576 INFO L290 TraceCheckUtils]: 31: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,576 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6240#true} {6240#true} #452#return; {6240#true} is VALID [2022-02-20 16:48:05,576 INFO L290 TraceCheckUtils]: 33: Hoare triple {6240#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {6240#true} is VALID [2022-02-20 16:48:05,577 INFO L290 TraceCheckUtils]: 34: Hoare triple {6240#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {6240#true} is VALID [2022-02-20 16:48:05,577 INFO L290 TraceCheckUtils]: 35: Hoare triple {6240#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; {6240#true} is VALID [2022-02-20 16:48:05,577 INFO L290 TraceCheckUtils]: 36: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,577 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6240#true} {6342#(and (= |old(#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; {6240#true} is VALID [2022-02-20 16:48:05,577 INFO L290 TraceCheckUtils]: 38: Hoare triple {6240#true} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {6240#true} is VALID [2022-02-20 16:48:05,577 INFO L290 TraceCheckUtils]: 39: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,577 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {6240#true} {6240#true} #448#return; {6240#true} is VALID [2022-02-20 16:48:05,577 INFO L290 TraceCheckUtils]: 41: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,577 INFO L290 TraceCheckUtils]: 42: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,578 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {6240#true} {6240#true} #456#return; {6240#true} is VALID [2022-02-20 16:48:05,578 INFO L290 TraceCheckUtils]: 44: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,578 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6240#true} {6241#false} #452#return; {6241#false} is VALID [2022-02-20 16:48:05,579 INFO L290 TraceCheckUtils]: 0: Hoare triple {6342#(and (= |old(#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); {6343#(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:05,580 INFO L272 TraceCheckUtils]: 1: Hoare triple {6343#(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); {6342#(and (= |old(#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:05,580 INFO L290 TraceCheckUtils]: 2: Hoare triple {6342#(and (= |old(#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; {6436#(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:05,580 INFO L290 TraceCheckUtils]: 3: Hoare triple {6436#(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; {6436#(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:05,581 INFO L272 TraceCheckUtils]: 4: Hoare triple {6436#(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); {6342#(and (= |old(#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:05,582 INFO L290 TraceCheckUtils]: 5: Hoare triple {6342#(and (= |old(#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; {6479#(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:05,582 INFO L290 TraceCheckUtils]: 6: Hoare triple {6479#(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); {6479#(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:05,583 INFO L290 TraceCheckUtils]: 7: Hoare triple {6479#(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; {6480#(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:05,584 INFO L290 TraceCheckUtils]: 8: Hoare triple {6480#(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); {6481#(and (or (= |dll_insert_master_~next~3#1.offset| 0) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|) (= (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|)) (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:05,585 INFO L290 TraceCheckUtils]: 9: Hoare triple {6481#(and (or (= |dll_insert_master_~next~3#1.offset| 0) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|) (= (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|)) (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;call write~$Pointer$(~item~1#1.base, ~item~1#1.offset, ~next~3#1.base, 4 + ~next~3#1.offset, 4); {6482#(or (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|)) (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|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|)))} is VALID [2022-02-20 16:48:05,586 INFO L272 TraceCheckUtils]: 10: Hoare triple {6482#(or (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|)) (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|)) (= |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(); {6342#(and (= |old(#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:05,586 INFO L272 TraceCheckUtils]: 11: Hoare triple {6342#(and (= |old(#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); {6342#(and (= |old(#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:05,587 INFO L290 TraceCheckUtils]: 12: Hoare triple {6342#(and (= |old(#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); {6240#true} is VALID [2022-02-20 16:48:05,587 INFO L272 TraceCheckUtils]: 13: Hoare triple {6240#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {6342#(and (= |old(#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:05,588 INFO L290 TraceCheckUtils]: 14: Hoare triple {6342#(and (= |old(#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; {6240#true} is VALID [2022-02-20 16:48:05,588 INFO L290 TraceCheckUtils]: 15: Hoare triple {6240#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; {6240#true} is VALID [2022-02-20 16:48:05,588 INFO L290 TraceCheckUtils]: 16: Hoare triple {6240#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {6240#true} is VALID [2022-02-20 16:48:05,588 INFO L290 TraceCheckUtils]: 17: Hoare triple {6240#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, 4 + 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; {6240#true} is VALID [2022-02-20 16:48:05,588 INFO L290 TraceCheckUtils]: 18: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,588 INFO L290 TraceCheckUtils]: 19: Hoare triple {6240#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {6240#true} is VALID [2022-02-20 16:48:05,588 INFO L290 TraceCheckUtils]: 20: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,588 INFO L290 TraceCheckUtils]: 21: Hoare triple {6240#true} assume { :end_inline_dll_insert_slave } true; {6240#true} is VALID [2022-02-20 16:48:05,588 INFO L290 TraceCheckUtils]: 22: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,588 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6240#true} {6240#true} #450#return; {6240#true} is VALID [2022-02-20 16:48:05,589 INFO L272 TraceCheckUtils]: 24: Hoare triple {6240#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {6342#(and (= |old(#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:05,589 INFO L290 TraceCheckUtils]: 25: Hoare triple {6342#(and (= |old(#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; {6240#true} is VALID [2022-02-20 16:48:05,590 INFO L290 TraceCheckUtils]: 26: Hoare triple {6240#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; {6240#true} is VALID [2022-02-20 16:48:05,590 INFO L290 TraceCheckUtils]: 27: Hoare triple {6240#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {6240#true} is VALID [2022-02-20 16:48:05,590 INFO L290 TraceCheckUtils]: 28: Hoare triple {6240#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, 4 + 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; {6240#true} is VALID [2022-02-20 16:48:05,590 INFO L290 TraceCheckUtils]: 29: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,590 INFO L290 TraceCheckUtils]: 30: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,590 INFO L290 TraceCheckUtils]: 31: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,590 INFO L290 TraceCheckUtils]: 32: Hoare triple {6240#true} assume { :end_inline_dll_insert_slave } true; {6240#true} is VALID [2022-02-20 16:48:05,590 INFO L290 TraceCheckUtils]: 33: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,590 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {6240#true} {6240#true} #452#return; {6240#true} is VALID [2022-02-20 16:48:05,590 INFO L290 TraceCheckUtils]: 35: Hoare triple {6240#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {6240#true} is VALID [2022-02-20 16:48:05,591 INFO L290 TraceCheckUtils]: 36: Hoare triple {6240#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {6240#true} is VALID [2022-02-20 16:48:05,591 INFO L290 TraceCheckUtils]: 37: Hoare triple {6240#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; {6240#true} is VALID [2022-02-20 16:48:05,591 INFO L290 TraceCheckUtils]: 38: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,591 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {6240#true} {6342#(and (= |old(#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; {6240#true} is VALID [2022-02-20 16:48:05,591 INFO L290 TraceCheckUtils]: 40: Hoare triple {6240#true} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {6240#true} is VALID [2022-02-20 16:48:05,591 INFO L290 TraceCheckUtils]: 41: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,592 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {6240#true} {6482#(or (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|)) (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|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|)))} #448#return; {6482#(or (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|)) (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|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|)))} is VALID [2022-02-20 16:48:05,593 INFO L290 TraceCheckUtils]: 43: Hoare triple {6482#(or (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|)) (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|)) (= |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); {6515#(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:05,593 INFO L290 TraceCheckUtils]: 44: Hoare triple {6515#(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; {6515#(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:05,594 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6515#(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)))} {6436#(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; {6478#(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:05,595 INFO L290 TraceCheckUtils]: 46: Hoare triple {6478#(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; {6478#(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:05,596 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {6478#(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|))} {6343#(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; {6241#false} is VALID [2022-02-20 16:48:05,596 INFO L272 TraceCheckUtils]: 48: Hoare triple {6241#false} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {6342#(and (= |old(#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:05,596 INFO L290 TraceCheckUtils]: 49: Hoare triple {6342#(and (= |old(#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; {6240#true} is VALID [2022-02-20 16:48:05,596 INFO L290 TraceCheckUtils]: 50: Hoare triple {6240#true} assume #in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset; {6240#true} is VALID [2022-02-20 16:48:05,597 INFO L272 TraceCheckUtils]: 51: Hoare triple {6240#true} call dll_insert_master(#~10#1.base, #~10#1.offset); {6342#(and (= |old(#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:05,597 INFO L290 TraceCheckUtils]: 52: Hoare triple {6342#(and (= |old(#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; {6240#true} is VALID [2022-02-20 16:48:05,597 INFO L290 TraceCheckUtils]: 53: Hoare triple {6240#true} assume !(alloc_or_die_master_~ptr~1#1.base == 0 && alloc_or_die_master_~ptr~1#1.offset == 0); {6240#true} is VALID [2022-02-20 16:48:05,597 INFO L290 TraceCheckUtils]: 54: Hoare triple {6240#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; {6240#true} is VALID [2022-02-20 16:48:05,597 INFO L290 TraceCheckUtils]: 55: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,597 INFO L290 TraceCheckUtils]: 56: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,598 INFO L272 TraceCheckUtils]: 57: Hoare triple {6240#true} call #t~ret20#1.base, #t~ret20#1.offset := dll_create_slave(); {6342#(and (= |old(#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:05,598 INFO L272 TraceCheckUtils]: 58: Hoare triple {6342#(and (= |old(#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); {6342#(and (= |old(#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:05,598 INFO L290 TraceCheckUtils]: 59: Hoare triple {6342#(and (= |old(#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); {6240#true} is VALID [2022-02-20 16:48:05,599 INFO L272 TraceCheckUtils]: 60: Hoare triple {6240#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {6342#(and (= |old(#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:05,599 INFO L290 TraceCheckUtils]: 61: Hoare triple {6342#(and (= |old(#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; {6240#true} is VALID [2022-02-20 16:48:05,599 INFO L290 TraceCheckUtils]: 62: Hoare triple {6240#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; {6240#true} is VALID [2022-02-20 16:48:05,599 INFO L290 TraceCheckUtils]: 63: Hoare triple {6240#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {6240#true} is VALID [2022-02-20 16:48:05,600 INFO L290 TraceCheckUtils]: 64: Hoare triple {6240#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, 4 + 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; {6240#true} is VALID [2022-02-20 16:48:05,600 INFO L290 TraceCheckUtils]: 65: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,600 INFO L290 TraceCheckUtils]: 66: Hoare triple {6240#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {6240#true} is VALID [2022-02-20 16:48:05,600 INFO L290 TraceCheckUtils]: 67: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,600 INFO L290 TraceCheckUtils]: 68: Hoare triple {6240#true} assume { :end_inline_dll_insert_slave } true; {6240#true} is VALID [2022-02-20 16:48:05,600 INFO L290 TraceCheckUtils]: 69: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,600 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {6240#true} {6240#true} #450#return; {6240#true} is VALID [2022-02-20 16:48:05,601 INFO L272 TraceCheckUtils]: 71: Hoare triple {6240#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {6342#(and (= |old(#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:05,601 INFO L290 TraceCheckUtils]: 72: Hoare triple {6342#(and (= |old(#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; {6240#true} is VALID [2022-02-20 16:48:05,601 INFO L290 TraceCheckUtils]: 73: Hoare triple {6240#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; {6240#true} is VALID [2022-02-20 16:48:05,601 INFO L290 TraceCheckUtils]: 74: Hoare triple {6240#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {6240#true} is VALID [2022-02-20 16:48:05,601 INFO L290 TraceCheckUtils]: 75: Hoare triple {6240#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, 4 + 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; {6240#true} is VALID [2022-02-20 16:48:05,601 INFO L290 TraceCheckUtils]: 76: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,602 INFO L290 TraceCheckUtils]: 77: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,602 INFO L290 TraceCheckUtils]: 78: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,602 INFO L290 TraceCheckUtils]: 79: Hoare triple {6240#true} assume { :end_inline_dll_insert_slave } true; {6240#true} is VALID [2022-02-20 16:48:05,602 INFO L290 TraceCheckUtils]: 80: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,602 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {6240#true} {6240#true} #452#return; {6240#true} is VALID [2022-02-20 16:48:05,602 INFO L290 TraceCheckUtils]: 82: Hoare triple {6240#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {6240#true} is VALID [2022-02-20 16:48:05,602 INFO L290 TraceCheckUtils]: 83: Hoare triple {6240#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {6240#true} is VALID [2022-02-20 16:48:05,602 INFO L290 TraceCheckUtils]: 84: Hoare triple {6240#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; {6240#true} is VALID [2022-02-20 16:48:05,602 INFO L290 TraceCheckUtils]: 85: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,603 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {6240#true} {6342#(and (= |old(#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; {6240#true} is VALID [2022-02-20 16:48:05,603 INFO L290 TraceCheckUtils]: 87: Hoare triple {6240#true} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {6240#true} is VALID [2022-02-20 16:48:05,603 INFO L290 TraceCheckUtils]: 88: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,603 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {6240#true} {6240#true} #448#return; {6240#true} is VALID [2022-02-20 16:48:05,603 INFO L290 TraceCheckUtils]: 90: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,603 INFO L290 TraceCheckUtils]: 91: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,603 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {6240#true} {6240#true} #456#return; {6240#true} is VALID [2022-02-20 16:48:05,603 INFO L290 TraceCheckUtils]: 93: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,603 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {6240#true} {6241#false} #452#return; {6241#false} is VALID [2022-02-20 16:48:05,603 INFO L290 TraceCheckUtils]: 95: Hoare triple {6241#false} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {6241#false} is VALID [2022-02-20 16:48:05,604 INFO L290 TraceCheckUtils]: 96: Hoare triple {6241#false} assume !(0 != #t~nondet9);havoc #t~nondet9; {6241#false} is VALID [2022-02-20 16:48:05,604 INFO L290 TraceCheckUtils]: 97: Hoare triple {6241#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; {6241#false} is VALID [2022-02-20 16:48:05,604 INFO L290 TraceCheckUtils]: 98: Hoare triple {6241#false} assume true; {6241#false} is VALID [2022-02-20 16:48:05,604 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {6241#false} {6240#true} #470#return; {6241#false} is VALID [2022-02-20 16:48:05,604 INFO L290 TraceCheckUtils]: 0: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,604 INFO L290 TraceCheckUtils]: 1: Hoare triple {6240#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; {6240#true} is VALID [2022-02-20 16:48:05,605 INFO L272 TraceCheckUtils]: 2: Hoare triple {6240#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); {6342#(and (= |old(#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:05,606 INFO L290 TraceCheckUtils]: 3: Hoare triple {6342#(and (= |old(#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); {6343#(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:05,607 INFO L272 TraceCheckUtils]: 4: Hoare triple {6343#(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); {6342#(and (= |old(#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:05,607 INFO L290 TraceCheckUtils]: 5: Hoare triple {6342#(and (= |old(#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; {6436#(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:05,608 INFO L290 TraceCheckUtils]: 6: Hoare triple {6436#(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; {6436#(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:05,608 INFO L272 TraceCheckUtils]: 7: Hoare triple {6436#(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); {6342#(and (= |old(#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:05,609 INFO L290 TraceCheckUtils]: 8: Hoare triple {6342#(and (= |old(#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; {6479#(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:05,610 INFO L290 TraceCheckUtils]: 9: Hoare triple {6479#(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); {6479#(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:05,611 INFO L290 TraceCheckUtils]: 10: Hoare triple {6479#(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; {6480#(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:05,611 INFO L290 TraceCheckUtils]: 11: Hoare triple {6480#(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); {6481#(and (or (= |dll_insert_master_~next~3#1.offset| 0) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|) (= (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|)) (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:05,612 INFO L290 TraceCheckUtils]: 12: Hoare triple {6481#(and (or (= |dll_insert_master_~next~3#1.offset| 0) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|) (= (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|)) (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;call write~$Pointer$(~item~1#1.base, ~item~1#1.offset, ~next~3#1.base, 4 + ~next~3#1.offset, 4); {6482#(or (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|)) (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|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|)))} is VALID [2022-02-20 16:48:05,613 INFO L272 TraceCheckUtils]: 13: Hoare triple {6482#(or (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|)) (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|)) (= |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(); {6342#(and (= |old(#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:05,614 INFO L272 TraceCheckUtils]: 14: Hoare triple {6342#(and (= |old(#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); {6342#(and (= |old(#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:05,614 INFO L290 TraceCheckUtils]: 15: Hoare triple {6342#(and (= |old(#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); {6240#true} is VALID [2022-02-20 16:48:05,615 INFO L272 TraceCheckUtils]: 16: Hoare triple {6240#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {6342#(and (= |old(#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:05,615 INFO L290 TraceCheckUtils]: 17: Hoare triple {6342#(and (= |old(#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; {6240#true} is VALID [2022-02-20 16:48:05,615 INFO L290 TraceCheckUtils]: 18: Hoare triple {6240#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; {6240#true} is VALID [2022-02-20 16:48:05,615 INFO L290 TraceCheckUtils]: 19: Hoare triple {6240#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {6240#true} is VALID [2022-02-20 16:48:05,615 INFO L290 TraceCheckUtils]: 20: Hoare triple {6240#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, 4 + 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; {6240#true} is VALID [2022-02-20 16:48:05,615 INFO L290 TraceCheckUtils]: 21: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,615 INFO L290 TraceCheckUtils]: 22: Hoare triple {6240#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {6240#true} is VALID [2022-02-20 16:48:05,615 INFO L290 TraceCheckUtils]: 23: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,616 INFO L290 TraceCheckUtils]: 24: Hoare triple {6240#true} assume { :end_inline_dll_insert_slave } true; {6240#true} is VALID [2022-02-20 16:48:05,616 INFO L290 TraceCheckUtils]: 25: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,616 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6240#true} {6240#true} #450#return; {6240#true} is VALID [2022-02-20 16:48:05,617 INFO L272 TraceCheckUtils]: 27: Hoare triple {6240#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {6342#(and (= |old(#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:05,617 INFO L290 TraceCheckUtils]: 28: Hoare triple {6342#(and (= |old(#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; {6240#true} is VALID [2022-02-20 16:48:05,617 INFO L290 TraceCheckUtils]: 29: Hoare triple {6240#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; {6240#true} is VALID [2022-02-20 16:48:05,617 INFO L290 TraceCheckUtils]: 30: Hoare triple {6240#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {6240#true} is VALID [2022-02-20 16:48:05,617 INFO L290 TraceCheckUtils]: 31: Hoare triple {6240#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, 4 + 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; {6240#true} is VALID [2022-02-20 16:48:05,617 INFO L290 TraceCheckUtils]: 32: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,617 INFO L290 TraceCheckUtils]: 33: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,617 INFO L290 TraceCheckUtils]: 34: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,618 INFO L290 TraceCheckUtils]: 35: Hoare triple {6240#true} assume { :end_inline_dll_insert_slave } true; {6240#true} is VALID [2022-02-20 16:48:05,618 INFO L290 TraceCheckUtils]: 36: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,618 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6240#true} {6240#true} #452#return; {6240#true} is VALID [2022-02-20 16:48:05,618 INFO L290 TraceCheckUtils]: 38: Hoare triple {6240#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {6240#true} is VALID [2022-02-20 16:48:05,618 INFO L290 TraceCheckUtils]: 39: Hoare triple {6240#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {6240#true} is VALID [2022-02-20 16:48:05,618 INFO L290 TraceCheckUtils]: 40: Hoare triple {6240#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; {6240#true} is VALID [2022-02-20 16:48:05,618 INFO L290 TraceCheckUtils]: 41: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,618 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {6240#true} {6342#(and (= |old(#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; {6240#true} is VALID [2022-02-20 16:48:05,618 INFO L290 TraceCheckUtils]: 43: Hoare triple {6240#true} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {6240#true} is VALID [2022-02-20 16:48:05,618 INFO L290 TraceCheckUtils]: 44: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,619 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6240#true} {6482#(or (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|)) (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|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|)))} #448#return; {6482#(or (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|)) (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|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|)))} is VALID [2022-02-20 16:48:05,620 INFO L290 TraceCheckUtils]: 46: Hoare triple {6482#(or (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|)) (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|)) (= |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); {6515#(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:05,621 INFO L290 TraceCheckUtils]: 47: Hoare triple {6515#(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; {6515#(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:05,621 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {6515#(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)))} {6436#(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; {6478#(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:05,622 INFO L290 TraceCheckUtils]: 49: Hoare triple {6478#(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; {6478#(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:05,623 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6478#(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|))} {6343#(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; {6241#false} is VALID [2022-02-20 16:48:05,623 INFO L272 TraceCheckUtils]: 51: Hoare triple {6241#false} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {6342#(and (= |old(#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:05,623 INFO L290 TraceCheckUtils]: 52: Hoare triple {6342#(and (= |old(#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; {6240#true} is VALID [2022-02-20 16:48:05,623 INFO L290 TraceCheckUtils]: 53: Hoare triple {6240#true} assume #in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset; {6240#true} is VALID [2022-02-20 16:48:05,624 INFO L272 TraceCheckUtils]: 54: Hoare triple {6240#true} call dll_insert_master(#~10#1.base, #~10#1.offset); {6342#(and (= |old(#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:05,624 INFO L290 TraceCheckUtils]: 55: Hoare triple {6342#(and (= |old(#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; {6240#true} is VALID [2022-02-20 16:48:05,624 INFO L290 TraceCheckUtils]: 56: Hoare triple {6240#true} assume !(alloc_or_die_master_~ptr~1#1.base == 0 && alloc_or_die_master_~ptr~1#1.offset == 0); {6240#true} is VALID [2022-02-20 16:48:05,624 INFO L290 TraceCheckUtils]: 57: Hoare triple {6240#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; {6240#true} is VALID [2022-02-20 16:48:05,624 INFO L290 TraceCheckUtils]: 58: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,624 INFO L290 TraceCheckUtils]: 59: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,625 INFO L272 TraceCheckUtils]: 60: Hoare triple {6240#true} call #t~ret20#1.base, #t~ret20#1.offset := dll_create_slave(); {6342#(and (= |old(#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:05,626 INFO L272 TraceCheckUtils]: 61: Hoare triple {6342#(and (= |old(#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); {6342#(and (= |old(#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:05,626 INFO L290 TraceCheckUtils]: 62: Hoare triple {6342#(and (= |old(#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); {6240#true} is VALID [2022-02-20 16:48:05,626 INFO L272 TraceCheckUtils]: 63: Hoare triple {6240#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {6342#(and (= |old(#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:05,627 INFO L290 TraceCheckUtils]: 64: Hoare triple {6342#(and (= |old(#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; {6240#true} is VALID [2022-02-20 16:48:05,627 INFO L290 TraceCheckUtils]: 65: Hoare triple {6240#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; {6240#true} is VALID [2022-02-20 16:48:05,627 INFO L290 TraceCheckUtils]: 66: Hoare triple {6240#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {6240#true} is VALID [2022-02-20 16:48:05,627 INFO L290 TraceCheckUtils]: 67: Hoare triple {6240#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, 4 + 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; {6240#true} is VALID [2022-02-20 16:48:05,627 INFO L290 TraceCheckUtils]: 68: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,627 INFO L290 TraceCheckUtils]: 69: Hoare triple {6240#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {6240#true} is VALID [2022-02-20 16:48:05,627 INFO L290 TraceCheckUtils]: 70: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,627 INFO L290 TraceCheckUtils]: 71: Hoare triple {6240#true} assume { :end_inline_dll_insert_slave } true; {6240#true} is VALID [2022-02-20 16:48:05,628 INFO L290 TraceCheckUtils]: 72: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,628 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {6240#true} {6240#true} #450#return; {6240#true} is VALID [2022-02-20 16:48:05,628 INFO L272 TraceCheckUtils]: 74: Hoare triple {6240#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {6342#(and (= |old(#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:05,629 INFO L290 TraceCheckUtils]: 75: Hoare triple {6342#(and (= |old(#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; {6240#true} is VALID [2022-02-20 16:48:05,629 INFO L290 TraceCheckUtils]: 76: Hoare triple {6240#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; {6240#true} is VALID [2022-02-20 16:48:05,629 INFO L290 TraceCheckUtils]: 77: Hoare triple {6240#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {6240#true} is VALID [2022-02-20 16:48:05,629 INFO L290 TraceCheckUtils]: 78: Hoare triple {6240#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, 4 + 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; {6240#true} is VALID [2022-02-20 16:48:05,629 INFO L290 TraceCheckUtils]: 79: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,629 INFO L290 TraceCheckUtils]: 80: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,629 INFO L290 TraceCheckUtils]: 81: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,629 INFO L290 TraceCheckUtils]: 82: Hoare triple {6240#true} assume { :end_inline_dll_insert_slave } true; {6240#true} is VALID [2022-02-20 16:48:05,629 INFO L290 TraceCheckUtils]: 83: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,629 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {6240#true} {6240#true} #452#return; {6240#true} is VALID [2022-02-20 16:48:05,630 INFO L290 TraceCheckUtils]: 85: Hoare triple {6240#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {6240#true} is VALID [2022-02-20 16:48:05,630 INFO L290 TraceCheckUtils]: 86: Hoare triple {6240#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {6240#true} is VALID [2022-02-20 16:48:05,630 INFO L290 TraceCheckUtils]: 87: Hoare triple {6240#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; {6240#true} is VALID [2022-02-20 16:48:05,630 INFO L290 TraceCheckUtils]: 88: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,630 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {6240#true} {6342#(and (= |old(#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; {6240#true} is VALID [2022-02-20 16:48:05,630 INFO L290 TraceCheckUtils]: 90: Hoare triple {6240#true} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {6240#true} is VALID [2022-02-20 16:48:05,630 INFO L290 TraceCheckUtils]: 91: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,635 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {6240#true} {6240#true} #448#return; {6240#true} is VALID [2022-02-20 16:48:05,635 INFO L290 TraceCheckUtils]: 93: Hoare triple {6240#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); {6240#true} is VALID [2022-02-20 16:48:05,635 INFO L290 TraceCheckUtils]: 94: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,635 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {6240#true} {6240#true} #456#return; {6240#true} is VALID [2022-02-20 16:48:05,636 INFO L290 TraceCheckUtils]: 96: Hoare triple {6240#true} assume true; {6240#true} is VALID [2022-02-20 16:48:05,636 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {6240#true} {6241#false} #452#return; {6241#false} is VALID [2022-02-20 16:48:05,636 INFO L290 TraceCheckUtils]: 98: Hoare triple {6241#false} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {6241#false} is VALID [2022-02-20 16:48:05,636 INFO L290 TraceCheckUtils]: 99: Hoare triple {6241#false} assume !(0 != #t~nondet9);havoc #t~nondet9; {6241#false} is VALID [2022-02-20 16:48:05,636 INFO L290 TraceCheckUtils]: 100: Hoare triple {6241#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; {6241#false} is VALID [2022-02-20 16:48:05,636 INFO L290 TraceCheckUtils]: 101: Hoare triple {6241#false} assume true; {6241#false} is VALID [2022-02-20 16:48:05,636 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {6241#false} {6240#true} #470#return; {6241#false} is VALID [2022-02-20 16:48:05,636 INFO L290 TraceCheckUtils]: 103: Hoare triple {6241#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; {6241#false} is VALID [2022-02-20 16:48:05,636 INFO L290 TraceCheckUtils]: 104: Hoare triple {6241#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; {6241#false} is VALID [2022-02-20 16:48:05,636 INFO L272 TraceCheckUtils]: 105: Hoare triple {6241#false} call inspect_base(inspect_full_~dll#1.base, inspect_full_~dll#1.offset); {6241#false} is VALID [2022-02-20 16:48:05,637 INFO L290 TraceCheckUtils]: 106: Hoare triple {6241#false} ~dll.base, ~dll.offset := #in~dll.base, #in~dll.offset; {6241#false} is VALID [2022-02-20 16:48:05,637 INFO L290 TraceCheckUtils]: 107: Hoare triple {6241#false} assume !(~dll.base == 0 && ~dll.offset == 0); {6241#false} is VALID [2022-02-20 16:48:05,637 INFO L290 TraceCheckUtils]: 108: Hoare triple {6241#false} goto; {6241#false} is VALID [2022-02-20 16:48:05,637 INFO L290 TraceCheckUtils]: 109: Hoare triple {6241#false} call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~dll.base, ~dll.offset, 4); {6241#false} is VALID [2022-02-20 16:48:05,637 INFO L290 TraceCheckUtils]: 110: Hoare triple {6241#false} assume #t~mem22.base == 0 && #t~mem22.offset == 0;havoc #t~mem22.base, #t~mem22.offset; {6241#false} is VALID [2022-02-20 16:48:05,637 INFO L272 TraceCheckUtils]: 111: Hoare triple {6241#false} call fail(); {6241#false} is VALID [2022-02-20 16:48:05,637 INFO L290 TraceCheckUtils]: 112: Hoare triple {6241#false} assume !false; {6241#false} is VALID [2022-02-20 16:48:05,638 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:05,638 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:48:05,638 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1651553606] [2022-02-20 16:48:05,638 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1651553606] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:48:05,638 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2088773655] [2022-02-20 16:48:05,638 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:48:05,638 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:48:05,639 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:48:05,640 INFO L229 MonitoredProcess]: Starting monitored process 5 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:05,641 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-02-20 16:48:05,991 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:06,008 INFO L263 TraceCheckSpWp]: Trace formula consists of 1006 conjuncts, 216 conjunts are in the unsatisfiable core [2022-02-20 16:48:06,039 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:06,046 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:48:06,183 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 6 treesize of output 5 [2022-02-20 16:48:06,277 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:06,287 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:06,373 INFO L356 Elim1Store]: treesize reduction 37, result has 15.9 percent of original size [2022-02-20 16:48:06,373 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 53 treesize of output 43 [2022-02-20 16:48:06,385 INFO L356 Elim1Store]: treesize reduction 15, result has 46.4 percent of original size [2022-02-20 16:48:06,386 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 45 treesize of output 53 [2022-02-20 16:48:06,396 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 18 [2022-02-20 16:48:06,435 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 15 treesize of output 13 [2022-02-20 16:48:11,569 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:48:11,570 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 4 new quantified variables, introduced 3 case distinctions, treesize of input 75 treesize of output 81 [2022-02-20 16:48:11,598 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 81 treesize of output 69 [2022-02-20 16:48:11,628 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 5 treesize of output 3 [2022-02-20 16:48:11,937 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 7 treesize of output 3 [2022-02-20 16:48:11,948 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 7 treesize of output 3 [2022-02-20 16:48:12,511 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 10 treesize of output 8 [2022-02-20 16:48:12,539 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 7 treesize of output 3 [2022-02-20 16:48:12,551 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 7 treesize of output 3 [2022-02-20 16:48:18,663 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:48:18,687 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:48:18,688 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:48:18,688 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:48:18,690 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:48:18,691 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:48:18,692 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:48:18,693 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:48:18,693 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:48:18,694 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 16:48:18,696 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 9 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 127 treesize of output 116 [2022-02-20 16:48:18,786 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:48:18,793 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:48:18,815 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:48:18,816 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:48:18,817 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:48:18,819 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:48:18,820 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:48:18,821 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:48:18,822 WARN L325 FreeRefinementEngine]: Global settings require throwing the following exception [2022-02-20 16:48:18,842 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-02-20 16:48:19,022 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:48:19,022 FATAL L? ?]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.AssertionError: var is still there: |v_#memory_$Pointer$.base_BEFORE_CALL_22| at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.arrays.Elim1Store.elim1(Elim1Store.java:285) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.arrays.ElimStorePlain.applyComplexEliminationRules(ElimStorePlain.java:427) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.DualJunctionSaa.tryToEliminate(DualJunctionSaa.java:184) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.DualJunctionSaa.tryToEliminateOne3(DualJunctionSaa.java:166) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.DualJunctionSaa.tryToEliminateOne2(DualJunctionSaa.java:154) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.DualJunctionSaa.tryToEliminateOne1(DualJunctionSaa.java:142) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.DualJunctionSaa.tryToEliminateOne0(DualJunctionSaa.java:126) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.DualJunctionSaa.tryToEliminateOne(DualJunctionSaa.java:110) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.DualJunctionSaa.tryExhaustivelyToEliminate(DualJunctionSaa.java:95) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.DualJunctionSaa.tryToEliminate(DualJunctionSaa.java:90) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.tryToEliminateOne(QuantifierPusher.java:904) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.applyNewEliminationTechniquesExhaustively(QuantifierPusher.java:865) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.applyDualJunctionEliminationTechniques(QuantifierPusher.java:783) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.tryToPushOverDualFiniteConnective2(QuantifierPusher.java:425) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.tryToPushOverDualFiniteConnective(QuantifierPusher.java:355) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.QuantifierPushTermWalker.convert(QuantifierPushTermWalker.java:172) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.QuantifierPushTermWalker.convert(QuantifierPushTermWalker.java:1) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.TermContextTransformationEngine$ApplicationTermTask.doStep(TermContextTransformationEngine.java:169) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.TermContextTransformationEngine.transform(TermContextTransformationEngine.java:77) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.TermContextTransformationEngine.transform(TermContextTransformationEngine.java:61) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.QuantifierPushTermWalker.eliminate(QuantifierPushTermWalker.java:261) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.QuantifierPushTermWalker.eliminate(QuantifierPushTermWalker.java:247) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.PartialQuantifierElimination.eliminate(PartialQuantifierElimination.java:92) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.predicates.IterativePredicateTransformer$QuantifierEliminationPostprocessor.postprocess(IterativePredicateTransformer.java:238) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.predicates.IterativePredicateTransformer.applyPostprocessors(IterativePredicateTransformer.java:420) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.predicates.IterativePredicateTransformer.computeStrongestPostconditionSequence(IterativePredicateTransformer.java:199) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.TraceCheckSpWp.computeInterpolantsUsingUnsatCore(TraceCheckSpWp.java:299) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.TraceCheckSpWp.computeInterpolants(TraceCheckSpWp.java:185) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.TraceCheckSpWp.(TraceCheckSpWp.java:163) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleSpWp.construct(IpTcStrategyModuleSpWp.java:108) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleSpWp.construct(IpTcStrategyModuleSpWp.java:1) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleBase.getOrConstruct(IpTcStrategyModuleBase.java:100) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleBase.getInterpolantComputationStatus(IpTcStrategyModuleBase.java:76) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.AutomatonFreeRefinementEngine.tryExecuteInterpolantGenerator(AutomatonFreeRefinementEngine.java:273) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.AutomatonFreeRefinementEngine.generateProof(AutomatonFreeRefinementEngine.java:155) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.AutomatonFreeRefinementEngine.executeStrategy(AutomatonFreeRefinementEngine.java:145) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.AutomatonFreeRefinementEngine.(AutomatonFreeRefinementEngine.java:93) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceAbstractionRefinementEngine.(TraceAbstractionRefinementEngine.java:79) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.isCounterexampleFeasible(BasicCegarLoop.java:610) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:413) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.startCegar(AbstractCegarLoop.java:348) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.runCegar(AbstractCegarLoop.java:330) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.CegarLoopUtils.getCegarLoopResult(CegarLoopUtils.java:56) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.executeCegarLoop(TraceAbstractionStarter.java:414) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseProgram(TraceAbstractionStarter.java:304) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseSequentialProgram(TraceAbstractionStarter.java:264) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:177) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:156) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:123) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:320) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) [2022-02-20 16:48:19,030 INFO L158 Benchmark]: Toolchain (without parser) took 34919.55ms. Allocated memory was 104.9MB in the beginning and 358.6MB in the end (delta: 253.8MB). Free memory was 64.1MB in the beginning and 207.6MB in the end (delta: -143.5MB). Peak memory consumption was 108.5MB. Max. memory is 16.1GB. [2022-02-20 16:48:19,030 INFO L158 Benchmark]: CDTParser took 0.14ms. Allocated memory is still 104.9MB. Free memory is still 81.8MB. There was no memory consumed. Max. memory is 16.1GB. [2022-02-20 16:48:19,031 INFO L158 Benchmark]: CACSL2BoogieTranslator took 360.38ms. Allocated memory is still 104.9MB. Free memory was 63.9MB in the beginning and 67.2MB in the end (delta: -3.4MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2022-02-20 16:48:19,031 INFO L158 Benchmark]: Boogie Procedure Inliner took 65.82ms. Allocated memory is still 104.9MB. Free memory was 67.2MB in the beginning and 64.2MB in the end (delta: 3.0MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2022-02-20 16:48:19,031 INFO L158 Benchmark]: Boogie Preprocessor took 55.08ms. Allocated memory is still 104.9MB. Free memory was 64.2MB in the beginning and 60.4MB in the end (delta: 3.8MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. [2022-02-20 16:48:19,031 INFO L158 Benchmark]: RCFGBuilder took 630.49ms. Allocated memory was 104.9MB in the beginning and 140.5MB in the end (delta: 35.7MB). Free memory was 60.4MB in the beginning and 109.0MB in the end (delta: -48.6MB). Peak memory consumption was 35.1MB. Max. memory is 16.1GB. [2022-02-20 16:48:19,031 INFO L158 Benchmark]: TraceAbstraction took 33802.72ms. Allocated memory was 140.5MB in the beginning and 358.6MB in the end (delta: 218.1MB). Free memory was 107.8MB in the beginning and 207.6MB in the end (delta: -99.8MB). Peak memory consumption was 117.1MB. Max. memory is 16.1GB. [2022-02-20 16:48:19,032 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.14ms. Allocated memory is still 104.9MB. Free memory is still 81.8MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 360.38ms. Allocated memory is still 104.9MB. Free memory was 63.9MB in the beginning and 67.2MB in the end (delta: -3.4MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 65.82ms. Allocated memory is still 104.9MB. Free memory was 67.2MB in the beginning and 64.2MB in the end (delta: 3.0MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * Boogie Preprocessor took 55.08ms. Allocated memory is still 104.9MB. Free memory was 64.2MB in the beginning and 60.4MB in the end (delta: 3.8MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. * RCFGBuilder took 630.49ms. Allocated memory was 104.9MB in the beginning and 140.5MB in the end (delta: 35.7MB). Free memory was 60.4MB in the beginning and 109.0MB in the end (delta: -48.6MB). Peak memory consumption was 35.1MB. Max. memory is 16.1GB. * TraceAbstraction took 33802.72ms. Allocated memory was 140.5MB in the beginning and 358.6MB in the end (delta: 218.1MB). Free memory was 107.8MB in the beginning and 207.6MB in the end (delta: -99.8MB). Peak memory consumption was 117.1MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: AssertionError: var is still there: |v_#memory_$Pointer$.base_BEFORE_CALL_22| de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: AssertionError: var is still there: |v_#memory_$Pointer$.base_BEFORE_CALL_22|: de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.arrays.Elim1Store.elim1(Elim1Store.java:285) RESULT: Ultimate could not prove your program: Toolchain returned no result. [2022-02-20 16:48:19,050 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Ended with exit code 0 Received shutdown request... --- End real Ultimate output --- Execution finished normally Using bit-precise analysis Retrying with bit-precise analysis ### Bit-precise run ### 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-1.i -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Bitvector.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 0e14b8baad7c8f50637b16b3adcb891ef363d7563e7c4e0e74695e7b8e3d1787 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 16:48:20,668 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 16:48:20,670 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 16:48:20,692 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 16:48:20,693 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 16:48:20,696 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 16:48:20,697 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 16:48:20,701 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 16:48:20,703 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 16:48:20,707 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 16:48:20,708 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 16:48:20,711 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 16:48:20,711 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 16:48:20,713 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 16:48:20,714 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 16:48:20,717 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 16:48:20,718 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 16:48:20,719 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 16:48:20,721 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 16:48:20,723 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 16:48:20,725 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 16:48:20,726 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 16:48:20,727 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 16:48:20,728 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 16:48:20,731 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 16:48:20,732 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 16:48:20,732 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 16:48:20,733 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 16:48:20,734 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 16:48:20,734 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 16:48:20,735 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 16:48:20,736 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 16:48:20,737 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 16:48:20,737 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 16:48:20,739 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 16:48:20,740 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 16:48:20,740 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 16:48:20,740 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 16:48:20,740 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 16:48:20,742 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 16:48:20,742 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 16:48:20,744 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Bitvector.epf [2022-02-20 16:48:20,765 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 16:48:20,766 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 16:48:20,766 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 16:48:20,766 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 16:48:20,766 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 16:48:20,766 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 16:48:20,767 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 16:48:20,767 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 16:48:20,767 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 16:48:20,767 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 16:48:20,767 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 16:48:20,767 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 16:48:20,767 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 16:48:20,767 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 16:48:20,768 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 16:48:20,768 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 16:48:20,768 INFO L138 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2022-02-20 16:48:20,768 INFO L138 SettingsManager]: * Use bitvectors instead of ints=true [2022-02-20 16:48:20,768 INFO L138 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2022-02-20 16:48:20,768 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 16:48:20,768 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 16:48:20,768 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 16:48:20,768 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 16:48:20,768 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 16:48:20,768 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 16:48:20,768 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 16:48:20,783 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 16:48:20,783 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 16:48:20,784 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 16:48:20,784 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 16:48:20,784 INFO L138 SettingsManager]: * Trace refinement strategy=WOLF [2022-02-20 16:48:20,784 INFO L138 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2022-02-20 16:48:20,784 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 16:48:20,784 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 16:48:20,784 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 16:48:20,785 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2022-02-20 16:48:20,785 INFO L138 SettingsManager]: * Logic for external solver=AUFBV 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 -> 0e14b8baad7c8f50637b16b3adcb891ef363d7563e7c4e0e74695e7b8e3d1787 [2022-02-20 16:48:21,006 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 16:48:21,025 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 16:48:21,027 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 16:48:21,027 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 16:48:21,028 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 16:48:21,029 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/heap-manipulation/dll_of_dll-1.i [2022-02-20 16:48:21,073 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b1f4b2bdb/b57c735604ea47d6b65cc278c2a6101e/FLAG4508ad3b4 [2022-02-20 16:48:21,463 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 16:48:21,463 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/heap-manipulation/dll_of_dll-1.i [2022-02-20 16:48:21,477 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b1f4b2bdb/b57c735604ea47d6b65cc278c2a6101e/FLAG4508ad3b4 [2022-02-20 16:48:21,830 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b1f4b2bdb/b57c735604ea47d6b65cc278c2a6101e [2022-02-20 16:48:21,832 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 16:48:21,832 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 16:48:21,834 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 16:48:21,834 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 16:48:21,837 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 16:48:21,837 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 04:48:21" (1/1) ... [2022-02-20 16:48:21,839 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@3081b60c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:48:21, skipping insertion in model container [2022-02-20 16:48:21,839 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 04:48:21" (1/1) ... [2022-02-20 16:48:21,844 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 16:48:21,880 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 16:48:22,120 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-1.i[22634,22647] [2022-02-20 16:48:22,177 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 16:48:22,187 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 16:48:22,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-1.i[22634,22647] [2022-02-20 16:48:22,253 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 16:48:22,280 INFO L208 MainTranslator]: Completed translation [2022-02-20 16:48:22,281 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:48:22 WrapperNode [2022-02-20 16:48:22,281 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 16:48:22,282 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 16:48:22,282 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 16:48:22,282 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 16:48:22,286 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:48:22" (1/1) ... [2022-02-20 16:48:22,314 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:48:22" (1/1) ... [2022-02-20 16:48:22,352 INFO L137 Inliner]: procedures = 141, calls = 94, calls flagged for inlining = 13, calls inlined = 13, statements flattened = 229 [2022-02-20 16:48:22,352 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 16:48:22,353 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 16:48:22,353 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 16:48:22,353 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 16:48:22,358 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:48:22" (1/1) ... [2022-02-20 16:48:22,359 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:48:22" (1/1) ... [2022-02-20 16:48:22,372 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:48:22" (1/1) ... [2022-02-20 16:48:22,373 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:48:22" (1/1) ... [2022-02-20 16:48:22,387 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:48:22" (1/1) ... [2022-02-20 16:48:22,400 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:48:22" (1/1) ... [2022-02-20 16:48:22,407 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:48:22" (1/1) ... [2022-02-20 16:48:22,413 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 16:48:22,413 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 16:48:22,413 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 16:48:22,413 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 16:48:22,414 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:48:22" (1/1) ... [2022-02-20 16:48:22,420 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 16:48:22,426 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:48:22,435 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:48:22,441 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:48:22,462 INFO L130 BoogieDeclarations]: Found specification of procedure fail [2022-02-20 16:48:22,462 INFO L138 BoogieDeclarations]: Found implementation of procedure fail [2022-02-20 16:48:22,462 INFO L130 BoogieDeclarations]: Found specification of procedure inspect_base [2022-02-20 16:48:22,462 INFO L138 BoogieDeclarations]: Found implementation of procedure inspect_base [2022-02-20 16:48:22,462 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2022-02-20 16:48:22,462 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 16:48:22,463 INFO L130 BoogieDeclarations]: Found specification of procedure dll_insert_master [2022-02-20 16:48:22,463 INFO L138 BoogieDeclarations]: Found implementation of procedure dll_insert_master [2022-02-20 16:48:22,463 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-02-20 16:48:22,463 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2022-02-20 16:48:22,463 INFO L130 BoogieDeclarations]: Found specification of procedure ##fun~$Pointer$~TO~VOID [2022-02-20 16:48:22,463 INFO L138 BoogieDeclarations]: Found implementation of procedure ##fun~$Pointer$~TO~VOID [2022-02-20 16:48:22,463 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2022-02-20 16:48:22,463 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 16:48:22,463 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~$Pointer$ [2022-02-20 16:48:22,463 INFO L130 BoogieDeclarations]: Found specification of procedure dll_create_generic [2022-02-20 16:48:22,463 INFO L138 BoogieDeclarations]: Found implementation of procedure dll_create_generic [2022-02-20 16:48:22,463 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1 [2022-02-20 16:48:22,464 INFO L130 BoogieDeclarations]: Found specification of procedure dll_create_slave [2022-02-20 16:48:22,464 INFO L138 BoogieDeclarations]: Found implementation of procedure dll_create_slave [2022-02-20 16:48:22,464 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 16:48:22,464 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 16:48:22,554 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 16:48:22,555 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 16:48:22,899 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 16:48:22,904 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 16:48:22,904 INFO L299 CfgBuilder]: Removed 38 assume(true) statements. [2022-02-20 16:48:22,905 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 04:48:22 BoogieIcfgContainer [2022-02-20 16:48:22,906 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 16:48:22,907 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 16:48:22,907 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 16:48:22,909 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 16:48:22,909 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 04:48:21" (1/3) ... [2022-02-20 16:48:22,909 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7aea3c8f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 04:48:22, skipping insertion in model container [2022-02-20 16:48:22,909 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:48:22" (2/3) ... [2022-02-20 16:48:22,910 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7aea3c8f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 04:48:22, skipping insertion in model container [2022-02-20 16:48:22,910 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 04:48:22" (3/3) ... [2022-02-20 16:48:22,911 INFO L111 eAbstractionObserver]: Analyzing ICFG dll_of_dll-1.i [2022-02-20 16:48:22,914 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 16:48:22,914 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 16:48:22,942 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 16:48:22,947 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:48:22,947 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-02-20 16:48:22,964 INFO L276 IsEmpty]: Start isEmpty. Operand has 127 states, 95 states have (on average 1.7157894736842105) internal successors, (163), 115 states have internal predecessors, (163), 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:48:22,969 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-02-20 16:48:22,969 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:48:22,970 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:48:22,970 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting failErr0ASSERT_VIOLATIONERROR_FUNCTION === [failErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:48:22,977 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:48:22,977 INFO L85 PathProgramCache]: Analyzing trace with hash -1604000671, now seen corresponding path program 1 times [2022-02-20 16:48:22,987 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:48:22,988 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [294587448] [2022-02-20 16:48:22,989 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:48:22,989 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:48:22,989 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:48:23,006 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 16:48:23,046 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (2)] Waiting until timeout for monitored process [2022-02-20 16:48:23,173 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:23,179 INFO L263 TraceCheckSpWp]: Trace formula consists of 228 conjuncts, 1 conjunts are in the unsatisfiable core [2022-02-20 16:48:23,200 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:23,203 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:48:23,290 INFO L290 TraceCheckUtils]: 0: Hoare triple {130#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(15bv32, 2bv32); {130#true} is VALID [2022-02-20 16:48:23,291 INFO L290 TraceCheckUtils]: 1: Hoare triple {130#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; {130#true} is VALID [2022-02-20 16:48:23,291 INFO L272 TraceCheckUtils]: 2: Hoare triple {130#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); {130#true} is VALID [2022-02-20 16:48:23,291 INFO L290 TraceCheckUtils]: 3: Hoare triple {130#true} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#dll~0.base, ~#dll~0.offset, 4bv32); {130#true} is VALID [2022-02-20 16:48:23,291 INFO L272 TraceCheckUtils]: 4: Hoare triple {130#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {130#true} is VALID [2022-02-20 16:48:23,292 INFO L290 TraceCheckUtils]: 5: Hoare triple {130#true} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {130#true} is VALID [2022-02-20 16:48:23,292 INFO L290 TraceCheckUtils]: 6: Hoare triple {130#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(8bv32);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; {130#true} is VALID [2022-02-20 16:48:23,292 INFO L290 TraceCheckUtils]: 7: Hoare triple {130#true} assume alloc_or_die_slave_~ptr~0#1.base == 0bv32 && alloc_or_die_slave_~ptr~0#1.offset == 0bv32;assume false; {131#false} is VALID [2022-02-20 16:48:23,293 INFO L290 TraceCheckUtils]: 8: Hoare triple {131#false} call write~$Pointer$(0bv32, 0bv32, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4bv32);call write~$Pointer$(0bv32, 0bv32, alloc_or_die_slave_~ptr~0#1.base, ~bvadd32(4bv32, alloc_or_die_slave_~ptr~0#1.offset), 4bv32);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; {131#false} is VALID [2022-02-20 16:48:23,293 INFO L290 TraceCheckUtils]: 9: Hoare triple {131#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, 4bv32);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, 4bv32); {131#false} is VALID [2022-02-20 16:48:23,293 INFO L290 TraceCheckUtils]: 10: Hoare triple {131#false} assume dll_insert_slave_~next~0#1.base != 0bv32 || dll_insert_slave_~next~0#1.offset != 0bv32;call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, ~bvadd32(4bv32, dll_insert_slave_~next~0#1.offset), 4bv32); {131#false} is VALID [2022-02-20 16:48:23,293 INFO L290 TraceCheckUtils]: 11: Hoare triple {131#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, 4bv32); {131#false} is VALID [2022-02-20 16:48:23,293 INFO L290 TraceCheckUtils]: 12: Hoare triple {131#false} assume { :end_inline_dll_insert_slave } true; {131#false} is VALID [2022-02-20 16:48:23,294 INFO L290 TraceCheckUtils]: 13: Hoare triple {131#false} assume true; {131#false} is VALID [2022-02-20 16:48:23,294 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {131#false} {130#true} #449#return; {131#false} is VALID [2022-02-20 16:48:23,294 INFO L272 TraceCheckUtils]: 15: Hoare triple {131#false} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {131#false} is VALID [2022-02-20 16:48:23,294 INFO L290 TraceCheckUtils]: 16: Hoare triple {131#false} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {131#false} is VALID [2022-02-20 16:48:23,294 INFO L290 TraceCheckUtils]: 17: Hoare triple {131#false} 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(8bv32);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#false} is VALID [2022-02-20 16:48:23,295 INFO L290 TraceCheckUtils]: 18: Hoare triple {131#false} assume alloc_or_die_slave_~ptr~0#1.base == 0bv32 && alloc_or_die_slave_~ptr~0#1.offset == 0bv32;assume false; {131#false} is VALID [2022-02-20 16:48:23,295 INFO L290 TraceCheckUtils]: 19: Hoare triple {131#false} call write~$Pointer$(0bv32, 0bv32, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4bv32);call write~$Pointer$(0bv32, 0bv32, alloc_or_die_slave_~ptr~0#1.base, ~bvadd32(4bv32, alloc_or_die_slave_~ptr~0#1.offset), 4bv32);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; {131#false} is VALID [2022-02-20 16:48:23,295 INFO L290 TraceCheckUtils]: 20: Hoare triple {131#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, 4bv32);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, 4bv32); {131#false} is VALID [2022-02-20 16:48:23,295 INFO L290 TraceCheckUtils]: 21: Hoare triple {131#false} assume dll_insert_slave_~next~0#1.base != 0bv32 || dll_insert_slave_~next~0#1.offset != 0bv32;call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, ~bvadd32(4bv32, dll_insert_slave_~next~0#1.offset), 4bv32); {131#false} is VALID [2022-02-20 16:48:23,295 INFO L290 TraceCheckUtils]: 22: Hoare triple {131#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, 4bv32); {131#false} is VALID [2022-02-20 16:48:23,295 INFO L290 TraceCheckUtils]: 23: Hoare triple {131#false} assume { :end_inline_dll_insert_slave } true; {131#false} is VALID [2022-02-20 16:48:23,296 INFO L290 TraceCheckUtils]: 24: Hoare triple {131#false} assume true; {131#false} is VALID [2022-02-20 16:48:23,296 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {131#false} {131#false} #451#return; {131#false} is VALID [2022-02-20 16:48:23,296 INFO L290 TraceCheckUtils]: 26: Hoare triple {131#false} assume !true; {131#false} is VALID [2022-02-20 16:48:23,296 INFO L290 TraceCheckUtils]: 27: Hoare triple {131#false} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4bv32);#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; {131#false} is VALID [2022-02-20 16:48:23,296 INFO L290 TraceCheckUtils]: 28: Hoare triple {131#false} assume true; {131#false} is VALID [2022-02-20 16:48:23,297 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {131#false} {130#true} #469#return; {131#false} is VALID [2022-02-20 16:48:23,297 INFO L290 TraceCheckUtils]: 30: Hoare triple {131#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; {131#false} is VALID [2022-02-20 16:48:23,297 INFO L290 TraceCheckUtils]: 31: Hoare triple {131#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; {131#false} is VALID [2022-02-20 16:48:23,297 INFO L272 TraceCheckUtils]: 32: Hoare triple {131#false} call inspect_base(inspect_full_~dll#1.base, inspect_full_~dll#1.offset); {131#false} is VALID [2022-02-20 16:48:23,297 INFO L290 TraceCheckUtils]: 33: Hoare triple {131#false} ~dll.base, ~dll.offset := #in~dll.base, #in~dll.offset; {131#false} is VALID [2022-02-20 16:48:23,298 INFO L290 TraceCheckUtils]: 34: Hoare triple {131#false} assume ~dll.base == 0bv32 && ~dll.offset == 0bv32; {131#false} is VALID [2022-02-20 16:48:23,298 INFO L272 TraceCheckUtils]: 35: Hoare triple {131#false} call fail(); {131#false} is VALID [2022-02-20 16:48:23,298 INFO L290 TraceCheckUtils]: 36: Hoare triple {131#false} assume !false; {131#false} is VALID [2022-02-20 16:48:23,299 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-02-20 16:48:23,299 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 16:48:23,300 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:48:23,300 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [294587448] [2022-02-20 16:48:23,300 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [294587448] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:48:23,301 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:48:23,301 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 16:48:23,302 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [311276162] [2022-02-20 16:48:23,302 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:48:23,306 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 11.5) internal successors, (23), 2 states have internal predecessors, (23), 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:48:23,307 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:48:23,309 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 2 states, 2 states have (on average 11.5) internal successors, (23), 2 states have internal predecessors, (23), 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:48:23,348 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:48:23,348 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 16:48:23,348 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:48:23,361 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 16:48:23,362 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 16:48:23,364 INFO L87 Difference]: Start difference. First operand has 127 states, 95 states have (on average 1.7157894736842105) internal successors, (163), 115 states have internal predecessors, (163), 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 2 states, 2 states have (on average 11.5) internal successors, (23), 2 states have internal predecessors, (23), 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:48:23,638 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:48:23,638 INFO L93 Difference]: Finished difference Result 249 states and 427 transitions. [2022-02-20 16:48:23,638 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 16:48:23,639 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 11.5) internal successors, (23), 2 states have internal predecessors, (23), 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:48:23,639 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:48:23,640 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 11.5) internal successors, (23), 2 states have internal predecessors, (23), 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:48:23,656 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 427 transitions. [2022-02-20 16:48:23,656 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 11.5) internal successors, (23), 2 states have internal predecessors, (23), 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:48:23,665 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 427 transitions. [2022-02-20 16:48:23,665 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 427 transitions. [2022-02-20 16:48:24,059 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 427 edges. 427 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:48:24,075 INFO L225 Difference]: With dead ends: 249 [2022-02-20 16:48:24,075 INFO L226 Difference]: Without dead ends: 119 [2022-02-20 16:48:24,082 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 36 GetRequests, 36 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 16:48:24,085 INFO L933 BasicCegarLoop]: 155 mSDtfsCounter, 0 mSDsluCounter, 0 mSDsCounter, 0 mSdLazyCounter, 0 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 155 SdHoareTripleChecker+Invalid, 0 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 0 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 16:48:24,087 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 155 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:48:24,098 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 119 states. [2022-02-20 16:48:24,109 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 119 to 119. [2022-02-20 16:48:24,109 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:48:24,110 INFO L82 GeneralOperation]: Start isEquivalent. First operand 119 states. Second operand has 119 states, 89 states have (on average 1.2808988764044944) internal successors, (114), 107 states have internal predecessors, (114), 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:48:24,111 INFO L74 IsIncluded]: Start isIncluded. First operand 119 states. Second operand has 119 states, 89 states have (on average 1.2808988764044944) internal successors, (114), 107 states have internal predecessors, (114), 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:48:24,112 INFO L87 Difference]: Start difference. First operand 119 states. Second operand has 119 states, 89 states have (on average 1.2808988764044944) internal successors, (114), 107 states have internal predecessors, (114), 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:48:24,118 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:48:24,118 INFO L93 Difference]: Finished difference Result 119 states and 148 transitions. [2022-02-20 16:48:24,125 INFO L276 IsEmpty]: Start isEmpty. Operand 119 states and 148 transitions. [2022-02-20 16:48:24,127 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:48:24,127 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:48:24,128 INFO L74 IsIncluded]: Start isIncluded. First operand has 119 states, 89 states have (on average 1.2808988764044944) internal successors, (114), 107 states have internal predecessors, (114), 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 119 states. [2022-02-20 16:48:24,129 INFO L87 Difference]: Start difference. First operand has 119 states, 89 states have (on average 1.2808988764044944) internal successors, (114), 107 states have internal predecessors, (114), 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 119 states. [2022-02-20 16:48:24,134 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:48:24,134 INFO L93 Difference]: Finished difference Result 119 states and 148 transitions. [2022-02-20 16:48:24,135 INFO L276 IsEmpty]: Start isEmpty. Operand 119 states and 148 transitions. [2022-02-20 16:48:24,136 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:48:24,136 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:48:24,136 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:48:24,136 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:48:24,137 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 119 states, 89 states have (on average 1.2808988764044944) internal successors, (114), 107 states have internal predecessors, (114), 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:48:24,141 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 119 states to 119 states and 148 transitions. [2022-02-20 16:48:24,142 INFO L78 Accepts]: Start accepts. Automaton has 119 states and 148 transitions. Word has length 37 [2022-02-20 16:48:24,142 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:48:24,142 INFO L470 AbstractCegarLoop]: Abstraction has 119 states and 148 transitions. [2022-02-20 16:48:24,143 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 11.5) internal successors, (23), 2 states have internal predecessors, (23), 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:48:24,143 INFO L276 IsEmpty]: Start isEmpty. Operand 119 states and 148 transitions. [2022-02-20 16:48:24,144 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-02-20 16:48:24,144 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:48:24,144 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:48:24,156 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (2)] Forceful destruction successful, exit code 0 [2022-02-20 16:48:24,353 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 16:48:24,353 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting failErr0ASSERT_VIOLATIONERROR_FUNCTION === [failErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:48:24,354 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:48:24,354 INFO L85 PathProgramCache]: Analyzing trace with hash 1419477340, now seen corresponding path program 1 times [2022-02-20 16:48:24,354 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:48:24,355 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1974155441] [2022-02-20 16:48:24,355 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:48:24,355 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:48:24,355 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:48:24,356 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 16:48:24,358 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (3)] Waiting until timeout for monitored process [2022-02-20 16:48:24,457 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:24,462 INFO L263 TraceCheckSpWp]: Trace formula consists of 228 conjuncts, 7 conjunts are in the unsatisfiable core [2022-02-20 16:48:24,491 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:24,493 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:48:24,748 INFO L290 TraceCheckUtils]: 0: Hoare triple {992#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(15bv32, 2bv32); {992#true} is VALID [2022-02-20 16:48:24,748 INFO L290 TraceCheckUtils]: 1: Hoare triple {992#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; {992#true} is VALID [2022-02-20 16:48:24,748 INFO L272 TraceCheckUtils]: 2: Hoare triple {992#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); {992#true} is VALID [2022-02-20 16:48:24,749 INFO L290 TraceCheckUtils]: 3: Hoare triple {992#true} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#dll~0.base, ~#dll~0.offset, 4bv32); {1006#(and (= dll_create_generic_~insert_fnc.offset |dll_create_generic_#in~insert_fnc.offset|) (= |dll_create_generic_#in~insert_fnc.base| dll_create_generic_~insert_fnc.base))} is VALID [2022-02-20 16:48:24,749 INFO L272 TraceCheckUtils]: 4: Hoare triple {1006#(and (= dll_create_generic_~insert_fnc.offset |dll_create_generic_#in~insert_fnc.offset|) (= |dll_create_generic_#in~insert_fnc.base| dll_create_generic_~insert_fnc.base))} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {992#true} is VALID [2022-02-20 16:48:24,749 INFO L290 TraceCheckUtils]: 5: Hoare triple {992#true} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {992#true} is VALID [2022-02-20 16:48:24,749 INFO L290 TraceCheckUtils]: 6: Hoare triple {992#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(8bv32);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; {1016#(or (not (= |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset| |#funAddr~dll_insert_master.offset|)) (not (= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)))} is VALID [2022-02-20 16:48:24,750 INFO L290 TraceCheckUtils]: 7: Hoare triple {1016#(or (not (= |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset| |#funAddr~dll_insert_master.offset|)) (not (= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)))} assume !(alloc_or_die_slave_~ptr~0#1.base == 0bv32 && alloc_or_die_slave_~ptr~0#1.offset == 0bv32); {1016#(or (not (= |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset| |#funAddr~dll_insert_master.offset|)) (not (= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)))} is VALID [2022-02-20 16:48:24,750 INFO L290 TraceCheckUtils]: 8: Hoare triple {1016#(or (not (= |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset| |#funAddr~dll_insert_master.offset|)) (not (= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)))} call write~$Pointer$(0bv32, 0bv32, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4bv32);call write~$Pointer$(0bv32, 0bv32, alloc_or_die_slave_~ptr~0#1.base, ~bvadd32(4bv32, alloc_or_die_slave_~ptr~0#1.offset), 4bv32);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; {1016#(or (not (= |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset| |#funAddr~dll_insert_master.offset|)) (not (= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)))} is VALID [2022-02-20 16:48:24,751 INFO L290 TraceCheckUtils]: 9: Hoare triple {1016#(or (not (= |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset| |#funAddr~dll_insert_master.offset|)) (not (= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#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, 4bv32);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, 4bv32); {1016#(or (not (= |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset| |#funAddr~dll_insert_master.offset|)) (not (= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)))} is VALID [2022-02-20 16:48:24,751 INFO L290 TraceCheckUtils]: 10: Hoare triple {1016#(or (not (= |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset| |#funAddr~dll_insert_master.offset|)) (not (= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)))} assume dll_insert_slave_~next~0#1.base != 0bv32 || dll_insert_slave_~next~0#1.offset != 0bv32;call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, ~bvadd32(4bv32, dll_insert_slave_~next~0#1.offset), 4bv32); {1016#(or (not (= |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset| |#funAddr~dll_insert_master.offset|)) (not (= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)))} is VALID [2022-02-20 16:48:24,751 INFO L290 TraceCheckUtils]: 11: Hoare triple {1016#(or (not (= |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset| |#funAddr~dll_insert_master.offset|)) (not (= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#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, 4bv32); {1016#(or (not (= |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset| |#funAddr~dll_insert_master.offset|)) (not (= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)))} is VALID [2022-02-20 16:48:24,752 INFO L290 TraceCheckUtils]: 12: Hoare triple {1016#(or (not (= |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset| |#funAddr~dll_insert_master.offset|)) (not (= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)))} assume { :end_inline_dll_insert_slave } true; {1016#(or (not (= |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset| |#funAddr~dll_insert_master.offset|)) (not (= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)))} is VALID [2022-02-20 16:48:24,752 INFO L290 TraceCheckUtils]: 13: Hoare triple {1016#(or (not (= |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset| |#funAddr~dll_insert_master.offset|)) (not (= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)))} assume true; {1016#(or (not (= |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset| |#funAddr~dll_insert_master.offset|)) (not (= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)))} is VALID [2022-02-20 16:48:24,753 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {1016#(or (not (= |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset| |#funAddr~dll_insert_master.offset|)) (not (= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)))} {1006#(and (= dll_create_generic_~insert_fnc.offset |dll_create_generic_#in~insert_fnc.offset|) (= |dll_create_generic_#in~insert_fnc.base| dll_create_generic_~insert_fnc.base))} #449#return; {1041#(or (not (= |#funAddr~dll_insert_master.offset| |dll_create_generic_#in~insert_fnc.offset|)) (not (= |#funAddr~dll_insert_master.base| |dll_create_generic_#in~insert_fnc.base|)))} is VALID [2022-02-20 16:48:24,753 INFO L272 TraceCheckUtils]: 15: Hoare triple {1041#(or (not (= |#funAddr~dll_insert_master.offset| |dll_create_generic_#in~insert_fnc.offset|)) (not (= |#funAddr~dll_insert_master.base| |dll_create_generic_#in~insert_fnc.base|)))} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {992#true} is VALID [2022-02-20 16:48:24,753 INFO L290 TraceCheckUtils]: 16: Hoare triple {992#true} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {992#true} is VALID [2022-02-20 16:48:24,754 INFO L290 TraceCheckUtils]: 17: Hoare triple {992#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(8bv32);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; {992#true} is VALID [2022-02-20 16:48:24,754 INFO L290 TraceCheckUtils]: 18: Hoare triple {992#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0bv32 && alloc_or_die_slave_~ptr~0#1.offset == 0bv32); {992#true} is VALID [2022-02-20 16:48:24,754 INFO L290 TraceCheckUtils]: 19: Hoare triple {992#true} call write~$Pointer$(0bv32, 0bv32, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4bv32);call write~$Pointer$(0bv32, 0bv32, alloc_or_die_slave_~ptr~0#1.base, ~bvadd32(4bv32, alloc_or_die_slave_~ptr~0#1.offset), 4bv32);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; {992#true} is VALID [2022-02-20 16:48:24,754 INFO L290 TraceCheckUtils]: 20: Hoare triple {992#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, 4bv32);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, 4bv32); {992#true} is VALID [2022-02-20 16:48:24,754 INFO L290 TraceCheckUtils]: 21: Hoare triple {992#true} assume dll_insert_slave_~next~0#1.base != 0bv32 || dll_insert_slave_~next~0#1.offset != 0bv32;call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, ~bvadd32(4bv32, dll_insert_slave_~next~0#1.offset), 4bv32); {992#true} is VALID [2022-02-20 16:48:24,754 INFO L290 TraceCheckUtils]: 22: Hoare triple {992#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, 4bv32); {992#true} is VALID [2022-02-20 16:48:24,755 INFO L290 TraceCheckUtils]: 23: Hoare triple {992#true} assume { :end_inline_dll_insert_slave } true; {992#true} is VALID [2022-02-20 16:48:24,759 INFO L290 TraceCheckUtils]: 24: Hoare triple {992#true} assume true; {992#true} is VALID [2022-02-20 16:48:24,760 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {992#true} {1041#(or (not (= |#funAddr~dll_insert_master.offset| |dll_create_generic_#in~insert_fnc.offset|)) (not (= |#funAddr~dll_insert_master.base| |dll_create_generic_#in~insert_fnc.base|)))} #451#return; {1041#(or (not (= |#funAddr~dll_insert_master.offset| |dll_create_generic_#in~insert_fnc.offset|)) (not (= |#funAddr~dll_insert_master.base| |dll_create_generic_#in~insert_fnc.base|)))} is VALID [2022-02-20 16:48:24,760 INFO L290 TraceCheckUtils]: 26: Hoare triple {1041#(or (not (= |#funAddr~dll_insert_master.offset| |dll_create_generic_#in~insert_fnc.offset|)) (not (= |#funAddr~dll_insert_master.base| |dll_create_generic_#in~insert_fnc.base|)))} assume !(0bv32 != #t~nondet9);havoc #t~nondet9; {1041#(or (not (= |#funAddr~dll_insert_master.offset| |dll_create_generic_#in~insert_fnc.offset|)) (not (= |#funAddr~dll_insert_master.base| |dll_create_generic_#in~insert_fnc.base|)))} is VALID [2022-02-20 16:48:24,761 INFO L290 TraceCheckUtils]: 27: Hoare triple {1041#(or (not (= |#funAddr~dll_insert_master.offset| |dll_create_generic_#in~insert_fnc.offset|)) (not (= |#funAddr~dll_insert_master.base| |dll_create_generic_#in~insert_fnc.base|)))} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4bv32);#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; {1041#(or (not (= |#funAddr~dll_insert_master.offset| |dll_create_generic_#in~insert_fnc.offset|)) (not (= |#funAddr~dll_insert_master.base| |dll_create_generic_#in~insert_fnc.base|)))} is VALID [2022-02-20 16:48:24,761 INFO L290 TraceCheckUtils]: 28: Hoare triple {1041#(or (not (= |#funAddr~dll_insert_master.offset| |dll_create_generic_#in~insert_fnc.offset|)) (not (= |#funAddr~dll_insert_master.base| |dll_create_generic_#in~insert_fnc.base|)))} assume true; {1041#(or (not (= |#funAddr~dll_insert_master.offset| |dll_create_generic_#in~insert_fnc.offset|)) (not (= |#funAddr~dll_insert_master.base| |dll_create_generic_#in~insert_fnc.base|)))} is VALID [2022-02-20 16:48:24,762 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {1041#(or (not (= |#funAddr~dll_insert_master.offset| |dll_create_generic_#in~insert_fnc.offset|)) (not (= |#funAddr~dll_insert_master.base| |dll_create_generic_#in~insert_fnc.base|)))} {992#true} #469#return; {993#false} is VALID [2022-02-20 16:48:24,762 INFO L290 TraceCheckUtils]: 30: Hoare triple {993#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; {993#false} is VALID [2022-02-20 16:48:24,762 INFO L290 TraceCheckUtils]: 31: Hoare triple {993#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; {993#false} is VALID [2022-02-20 16:48:24,762 INFO L272 TraceCheckUtils]: 32: Hoare triple {993#false} call inspect_base(inspect_full_~dll#1.base, inspect_full_~dll#1.offset); {993#false} is VALID [2022-02-20 16:48:24,762 INFO L290 TraceCheckUtils]: 33: Hoare triple {993#false} ~dll.base, ~dll.offset := #in~dll.base, #in~dll.offset; {993#false} is VALID [2022-02-20 16:48:24,763 INFO L290 TraceCheckUtils]: 34: Hoare triple {993#false} assume ~dll.base == 0bv32 && ~dll.offset == 0bv32; {993#false} is VALID [2022-02-20 16:48:24,763 INFO L272 TraceCheckUtils]: 35: Hoare triple {993#false} call fail(); {993#false} is VALID [2022-02-20 16:48:24,763 INFO L290 TraceCheckUtils]: 36: Hoare triple {993#false} assume !false; {993#false} is VALID [2022-02-20 16:48:24,763 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:48:24,763 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:48:25,084 INFO L290 TraceCheckUtils]: 36: Hoare triple {993#false} assume !false; {993#false} is VALID [2022-02-20 16:48:25,085 INFO L272 TraceCheckUtils]: 35: Hoare triple {993#false} call fail(); {993#false} is VALID [2022-02-20 16:48:25,085 INFO L290 TraceCheckUtils]: 34: Hoare triple {993#false} assume ~dll.base == 0bv32 && ~dll.offset == 0bv32; {993#false} is VALID [2022-02-20 16:48:25,085 INFO L290 TraceCheckUtils]: 33: Hoare triple {993#false} ~dll.base, ~dll.offset := #in~dll.base, #in~dll.offset; {993#false} is VALID [2022-02-20 16:48:25,085 INFO L272 TraceCheckUtils]: 32: Hoare triple {993#false} call inspect_base(inspect_full_~dll#1.base, inspect_full_~dll#1.offset); {993#false} is VALID [2022-02-20 16:48:25,085 INFO L290 TraceCheckUtils]: 31: Hoare triple {993#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; {993#false} is VALID [2022-02-20 16:48:25,086 INFO L290 TraceCheckUtils]: 30: Hoare triple {993#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; {993#false} is VALID [2022-02-20 16:48:25,087 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {1041#(or (not (= |#funAddr~dll_insert_master.offset| |dll_create_generic_#in~insert_fnc.offset|)) (not (= |#funAddr~dll_insert_master.base| |dll_create_generic_#in~insert_fnc.base|)))} {992#true} #469#return; {993#false} is VALID [2022-02-20 16:48:25,087 INFO L290 TraceCheckUtils]: 28: Hoare triple {1041#(or (not (= |#funAddr~dll_insert_master.offset| |dll_create_generic_#in~insert_fnc.offset|)) (not (= |#funAddr~dll_insert_master.base| |dll_create_generic_#in~insert_fnc.base|)))} assume true; {1041#(or (not (= |#funAddr~dll_insert_master.offset| |dll_create_generic_#in~insert_fnc.offset|)) (not (= |#funAddr~dll_insert_master.base| |dll_create_generic_#in~insert_fnc.base|)))} is VALID [2022-02-20 16:48:25,087 INFO L290 TraceCheckUtils]: 27: Hoare triple {1041#(or (not (= |#funAddr~dll_insert_master.offset| |dll_create_generic_#in~insert_fnc.offset|)) (not (= |#funAddr~dll_insert_master.base| |dll_create_generic_#in~insert_fnc.base|)))} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4bv32);#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; {1041#(or (not (= |#funAddr~dll_insert_master.offset| |dll_create_generic_#in~insert_fnc.offset|)) (not (= |#funAddr~dll_insert_master.base| |dll_create_generic_#in~insert_fnc.base|)))} is VALID [2022-02-20 16:48:25,088 INFO L290 TraceCheckUtils]: 26: Hoare triple {1041#(or (not (= |#funAddr~dll_insert_master.offset| |dll_create_generic_#in~insert_fnc.offset|)) (not (= |#funAddr~dll_insert_master.base| |dll_create_generic_#in~insert_fnc.base|)))} assume !(0bv32 != #t~nondet9);havoc #t~nondet9; {1041#(or (not (= |#funAddr~dll_insert_master.offset| |dll_create_generic_#in~insert_fnc.offset|)) (not (= |#funAddr~dll_insert_master.base| |dll_create_generic_#in~insert_fnc.base|)))} is VALID [2022-02-20 16:48:25,088 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {992#true} {1041#(or (not (= |#funAddr~dll_insert_master.offset| |dll_create_generic_#in~insert_fnc.offset|)) (not (= |#funAddr~dll_insert_master.base| |dll_create_generic_#in~insert_fnc.base|)))} #451#return; {1041#(or (not (= |#funAddr~dll_insert_master.offset| |dll_create_generic_#in~insert_fnc.offset|)) (not (= |#funAddr~dll_insert_master.base| |dll_create_generic_#in~insert_fnc.base|)))} is VALID [2022-02-20 16:48:25,089 INFO L290 TraceCheckUtils]: 24: Hoare triple {992#true} assume true; {992#true} is VALID [2022-02-20 16:48:25,090 INFO L290 TraceCheckUtils]: 23: Hoare triple {992#true} assume { :end_inline_dll_insert_slave } true; {992#true} is VALID [2022-02-20 16:48:25,090 INFO L290 TraceCheckUtils]: 22: Hoare triple {992#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, 4bv32); {992#true} is VALID [2022-02-20 16:48:25,090 INFO L290 TraceCheckUtils]: 21: Hoare triple {992#true} assume dll_insert_slave_~next~0#1.base != 0bv32 || dll_insert_slave_~next~0#1.offset != 0bv32;call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, ~bvadd32(4bv32, dll_insert_slave_~next~0#1.offset), 4bv32); {992#true} is VALID [2022-02-20 16:48:25,091 INFO L290 TraceCheckUtils]: 20: Hoare triple {992#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, 4bv32);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, 4bv32); {992#true} is VALID [2022-02-20 16:48:25,091 INFO L290 TraceCheckUtils]: 19: Hoare triple {992#true} call write~$Pointer$(0bv32, 0bv32, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4bv32);call write~$Pointer$(0bv32, 0bv32, alloc_or_die_slave_~ptr~0#1.base, ~bvadd32(4bv32, alloc_or_die_slave_~ptr~0#1.offset), 4bv32);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; {992#true} is VALID [2022-02-20 16:48:25,091 INFO L290 TraceCheckUtils]: 18: Hoare triple {992#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0bv32 && alloc_or_die_slave_~ptr~0#1.offset == 0bv32); {992#true} is VALID [2022-02-20 16:48:25,091 INFO L290 TraceCheckUtils]: 17: Hoare triple {992#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(8bv32);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; {992#true} is VALID [2022-02-20 16:48:25,091 INFO L290 TraceCheckUtils]: 16: Hoare triple {992#true} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {992#true} is VALID [2022-02-20 16:48:25,091 INFO L272 TraceCheckUtils]: 15: Hoare triple {1041#(or (not (= |#funAddr~dll_insert_master.offset| |dll_create_generic_#in~insert_fnc.offset|)) (not (= |#funAddr~dll_insert_master.base| |dll_create_generic_#in~insert_fnc.base|)))} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {992#true} is VALID [2022-02-20 16:48:25,093 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {1016#(or (not (= |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset| |#funAddr~dll_insert_master.offset|)) (not (= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)))} {1177#(or (not (= |#funAddr~dll_insert_master.offset| |dll_create_generic_#in~insert_fnc.offset|)) (and (= |#funAddr~dll_insert_master.offset| dll_create_generic_~insert_fnc.offset) (= |#funAddr~dll_insert_master.base| dll_create_generic_~insert_fnc.base)) (not (= |#funAddr~dll_insert_master.base| |dll_create_generic_#in~insert_fnc.base|)))} #449#return; {1041#(or (not (= |#funAddr~dll_insert_master.offset| |dll_create_generic_#in~insert_fnc.offset|)) (not (= |#funAddr~dll_insert_master.base| |dll_create_generic_#in~insert_fnc.base|)))} is VALID [2022-02-20 16:48:25,093 INFO L290 TraceCheckUtils]: 13: Hoare triple {1016#(or (not (= |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset| |#funAddr~dll_insert_master.offset|)) (not (= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)))} assume true; {1016#(or (not (= |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset| |#funAddr~dll_insert_master.offset|)) (not (= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)))} is VALID [2022-02-20 16:48:25,094 INFO L290 TraceCheckUtils]: 12: Hoare triple {1016#(or (not (= |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset| |#funAddr~dll_insert_master.offset|)) (not (= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)))} assume { :end_inline_dll_insert_slave } true; {1016#(or (not (= |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset| |#funAddr~dll_insert_master.offset|)) (not (= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)))} is VALID [2022-02-20 16:48:25,097 INFO L290 TraceCheckUtils]: 11: Hoare triple {1016#(or (not (= |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset| |#funAddr~dll_insert_master.offset|)) (not (= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#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, 4bv32); {1016#(or (not (= |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset| |#funAddr~dll_insert_master.offset|)) (not (= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)))} is VALID [2022-02-20 16:48:25,098 INFO L290 TraceCheckUtils]: 10: Hoare triple {1016#(or (not (= |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset| |#funAddr~dll_insert_master.offset|)) (not (= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)))} assume dll_insert_slave_~next~0#1.base != 0bv32 || dll_insert_slave_~next~0#1.offset != 0bv32;call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, ~bvadd32(4bv32, dll_insert_slave_~next~0#1.offset), 4bv32); {1016#(or (not (= |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset| |#funAddr~dll_insert_master.offset|)) (not (= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)))} is VALID [2022-02-20 16:48:25,098 INFO L290 TraceCheckUtils]: 9: Hoare triple {1016#(or (not (= |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset| |#funAddr~dll_insert_master.offset|)) (not (= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#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, 4bv32);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, 4bv32); {1016#(or (not (= |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset| |#funAddr~dll_insert_master.offset|)) (not (= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)))} is VALID [2022-02-20 16:48:25,098 INFO L290 TraceCheckUtils]: 8: Hoare triple {1016#(or (not (= |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset| |#funAddr~dll_insert_master.offset|)) (not (= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)))} call write~$Pointer$(0bv32, 0bv32, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4bv32);call write~$Pointer$(0bv32, 0bv32, alloc_or_die_slave_~ptr~0#1.base, ~bvadd32(4bv32, alloc_or_die_slave_~ptr~0#1.offset), 4bv32);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; {1016#(or (not (= |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset| |#funAddr~dll_insert_master.offset|)) (not (= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)))} is VALID [2022-02-20 16:48:25,101 INFO L290 TraceCheckUtils]: 7: Hoare triple {1016#(or (not (= |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset| |#funAddr~dll_insert_master.offset|)) (not (= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)))} assume !(alloc_or_die_slave_~ptr~0#1.base == 0bv32 && alloc_or_die_slave_~ptr~0#1.offset == 0bv32); {1016#(or (not (= |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset| |#funAddr~dll_insert_master.offset|)) (not (= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)))} is VALID [2022-02-20 16:48:25,101 INFO L290 TraceCheckUtils]: 6: Hoare triple {992#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(8bv32);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; {1016#(or (not (= |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset| |#funAddr~dll_insert_master.offset|)) (not (= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)))} is VALID [2022-02-20 16:48:25,101 INFO L290 TraceCheckUtils]: 5: Hoare triple {992#true} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {992#true} is VALID [2022-02-20 16:48:25,102 INFO L272 TraceCheckUtils]: 4: Hoare triple {1177#(or (not (= |#funAddr~dll_insert_master.offset| |dll_create_generic_#in~insert_fnc.offset|)) (and (= |#funAddr~dll_insert_master.offset| dll_create_generic_~insert_fnc.offset) (= |#funAddr~dll_insert_master.base| dll_create_generic_~insert_fnc.base)) (not (= |#funAddr~dll_insert_master.base| |dll_create_generic_#in~insert_fnc.base|)))} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {992#true} is VALID [2022-02-20 16:48:25,102 INFO L290 TraceCheckUtils]: 3: Hoare triple {992#true} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#dll~0.base, ~#dll~0.offset, 4bv32); {1177#(or (not (= |#funAddr~dll_insert_master.offset| |dll_create_generic_#in~insert_fnc.offset|)) (and (= |#funAddr~dll_insert_master.offset| dll_create_generic_~insert_fnc.offset) (= |#funAddr~dll_insert_master.base| dll_create_generic_~insert_fnc.base)) (not (= |#funAddr~dll_insert_master.base| |dll_create_generic_#in~insert_fnc.base|)))} is VALID [2022-02-20 16:48:25,106 INFO L272 TraceCheckUtils]: 2: Hoare triple {992#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); {992#true} is VALID [2022-02-20 16:48:25,106 INFO L290 TraceCheckUtils]: 1: Hoare triple {992#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; {992#true} is VALID [2022-02-20 16:48:25,106 INFO L290 TraceCheckUtils]: 0: Hoare triple {992#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(15bv32, 2bv32); {992#true} is VALID [2022-02-20 16:48:25,107 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:48:25,108 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:48:25,108 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1974155441] [2022-02-20 16:48:25,108 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1974155441] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 16:48:25,108 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 16:48:25,108 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 6 [2022-02-20 16:48:25,109 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [796957118] [2022-02-20 16:48:25,111 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 16:48:25,113 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 4 states have (on average 7.25) internal successors, (29), 6 states have internal predecessors, (29), 5 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 2 states have call predecessors, (4), 4 states have call successors, (4) Word has length 37 [2022-02-20 16:48:25,114 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:48:25,114 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 4 states have (on average 7.25) internal successors, (29), 6 states have internal predecessors, (29), 5 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 2 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 16:48:25,144 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:48:25,144 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 16:48:25,145 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:48:25,146 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 16:48:25,146 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-02-20 16:48:25,146 INFO L87 Difference]: Start difference. First operand 119 states and 148 transitions. Second operand has 6 states, 4 states have (on average 7.25) internal successors, (29), 6 states have internal predecessors, (29), 5 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 2 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 16:48:26,016 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:48:26,016 INFO L93 Difference]: Finished difference Result 247 states and 321 transitions. [2022-02-20 16:48:26,016 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 16:48:26,017 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 4 states have (on average 7.25) internal successors, (29), 6 states have internal predecessors, (29), 5 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 2 states have call predecessors, (4), 4 states have call successors, (4) Word has length 37 [2022-02-20 16:48:26,017 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:48:26,017 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 4 states have (on average 7.25) internal successors, (29), 6 states have internal predecessors, (29), 5 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 2 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 16:48:26,021 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 321 transitions. [2022-02-20 16:48:26,021 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 4 states have (on average 7.25) internal successors, (29), 6 states have internal predecessors, (29), 5 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 2 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 16:48:26,025 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 321 transitions. [2022-02-20 16:48:26,025 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 321 transitions. [2022-02-20 16:48:26,264 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 321 edges. 321 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:48:26,268 INFO L225 Difference]: With dead ends: 247 [2022-02-20 16:48:26,268 INFO L226 Difference]: Without dead ends: 131 [2022-02-20 16:48:26,269 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 73 GetRequests, 68 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=16, Invalid=26, Unknown=0, NotChecked=0, Total=42 [2022-02-20 16:48:26,269 INFO L933 BasicCegarLoop]: 147 mSDtfsCounter, 12 mSDsluCounter, 413 mSDsCounter, 0 mSdLazyCounter, 36 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 560 SdHoareTripleChecker+Invalid, 48 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 36 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 16:48:26,270 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [16 Valid, 560 Invalid, 48 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 36 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 16:48:26,270 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 131 states. [2022-02-20 16:48:26,276 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 131 to 131. [2022-02-20 16:48:26,277 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:48:26,277 INFO L82 GeneralOperation]: Start isEquivalent. First operand 131 states. Second operand has 131 states, 96 states have (on average 1.2708333333333333) internal successors, (122), 114 states have internal predecessors, (122), 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:26,278 INFO L74 IsIncluded]: Start isIncluded. First operand 131 states. Second operand has 131 states, 96 states have (on average 1.2708333333333333) internal successors, (122), 114 states have internal predecessors, (122), 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:26,278 INFO L87 Difference]: Start difference. First operand 131 states. Second operand has 131 states, 96 states have (on average 1.2708333333333333) internal successors, (122), 114 states have internal predecessors, (122), 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:26,282 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:48:26,282 INFO L93 Difference]: Finished difference Result 131 states and 162 transitions. [2022-02-20 16:48:26,282 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 162 transitions. [2022-02-20 16:48:26,283 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:48:26,284 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:48:26,284 INFO L74 IsIncluded]: Start isIncluded. First operand has 131 states, 96 states have (on average 1.2708333333333333) internal successors, (122), 114 states have internal predecessors, (122), 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 131 states. [2022-02-20 16:48:26,285 INFO L87 Difference]: Start difference. First operand has 131 states, 96 states have (on average 1.2708333333333333) internal successors, (122), 114 states have internal predecessors, (122), 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 131 states. [2022-02-20 16:48:26,288 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:48:26,288 INFO L93 Difference]: Finished difference Result 131 states and 162 transitions. [2022-02-20 16:48:26,288 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 162 transitions. [2022-02-20 16:48:26,290 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:48:26,290 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:48:26,290 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:48:26,290 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:48:26,290 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 131 states, 96 states have (on average 1.2708333333333333) internal successors, (122), 114 states have internal predecessors, (122), 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:26,294 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 131 states to 131 states and 162 transitions. [2022-02-20 16:48:26,294 INFO L78 Accepts]: Start accepts. Automaton has 131 states and 162 transitions. Word has length 37 [2022-02-20 16:48:26,294 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:48:26,294 INFO L470 AbstractCegarLoop]: Abstraction has 131 states and 162 transitions. [2022-02-20 16:48:26,295 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 4 states have (on average 7.25) internal successors, (29), 6 states have internal predecessors, (29), 5 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 2 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 16:48:26,295 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 162 transitions. [2022-02-20 16:48:26,297 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 108 [2022-02-20 16:48:26,297 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:48:26,297 INFO L514 BasicCegarLoop]: trace histogram [6, 6, 4, 4, 4, 4, 4, 4, 4, 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:26,306 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (3)] Ended with exit code 0 [2022-02-20 16:48:26,506 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 16:48:26,507 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting failErr0ASSERT_VIOLATIONERROR_FUNCTION === [failErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:48:26,507 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:48:26,507 INFO L85 PathProgramCache]: Analyzing trace with hash -1380488684, now seen corresponding path program 1 times [2022-02-20 16:48:26,508 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:48:26,508 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [111377814] [2022-02-20 16:48:26,508 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:48:26,508 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:48:26,508 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:48:26,518 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 16:48:26,534 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (4)] Waiting until timeout for monitored process [2022-02-20 16:48:26,783 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:26,799 INFO L263 TraceCheckSpWp]: Trace formula consists of 688 conjuncts, 23 conjunts are in the unsatisfiable core [2022-02-20 16:48:26,846 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:26,849 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:48:27,212 INFO L356 Elim1Store]: treesize reduction 26, result has 42.2 percent of original size [2022-02-20 16:48:27,212 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:27,225 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:27,237 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:27,282 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 16:48:27,283 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 51 treesize of output 9 [2022-02-20 16:48:27,286 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 9 treesize of output 7 [2022-02-20 16:48:27,628 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:48:27,628 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 61 treesize of output 59 [2022-02-20 16:48:27,680 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 13 treesize of output 9 [2022-02-20 16:48:27,684 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 12 treesize of output 8 [2022-02-20 16:48:27,802 INFO L290 TraceCheckUtils]: 0: Hoare triple {2010#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(15bv32, 2bv32); {2010#true} is VALID [2022-02-20 16:48:27,802 INFO L290 TraceCheckUtils]: 1: Hoare triple {2010#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; {2010#true} is VALID [2022-02-20 16:48:27,802 INFO L272 TraceCheckUtils]: 2: Hoare triple {2010#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); {2010#true} is VALID [2022-02-20 16:48:27,802 INFO L290 TraceCheckUtils]: 3: Hoare triple {2010#true} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#dll~0.base, ~#dll~0.offset, 4bv32); {2010#true} is VALID [2022-02-20 16:48:27,802 INFO L272 TraceCheckUtils]: 4: Hoare triple {2010#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {2010#true} is VALID [2022-02-20 16:48:27,803 INFO L290 TraceCheckUtils]: 5: Hoare triple {2010#true} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2010#true} is VALID [2022-02-20 16:48:27,803 INFO L290 TraceCheckUtils]: 6: Hoare triple {2010#true} assume #in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset; {2010#true} is VALID [2022-02-20 16:48:27,803 INFO L272 TraceCheckUtils]: 7: Hoare triple {2010#true} call dll_insert_master(#~10#1.base, #~10#1.offset); {2010#true} is VALID [2022-02-20 16:48:27,803 INFO L290 TraceCheckUtils]: 8: Hoare triple {2010#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(12bv32);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; {2010#true} is VALID [2022-02-20 16:48:27,803 INFO L290 TraceCheckUtils]: 9: Hoare triple {2010#true} assume !(alloc_or_die_master_~ptr~1#1.base == 0bv32 && alloc_or_die_master_~ptr~1#1.offset == 0bv32); {2010#true} is VALID [2022-02-20 16:48:27,803 INFO L290 TraceCheckUtils]: 10: Hoare triple {2010#true} call write~$Pointer$(0bv32, 0bv32, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset, 4bv32);call write~$Pointer$(0bv32, 0bv32, alloc_or_die_master_~ptr~1#1.base, ~bvadd32(4bv32, alloc_or_die_master_~ptr~1#1.offset), 4bv32);call write~$Pointer$(0bv32, 0bv32, alloc_or_die_master_~ptr~1#1.base, ~bvadd32(8bv32, alloc_or_die_master_~ptr~1#1.offset), 4bv32);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; {2010#true} is VALID [2022-02-20 16:48:27,803 INFO L290 TraceCheckUtils]: 11: Hoare triple {2010#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, 4bv32);~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, 4bv32); {2010#true} is VALID [2022-02-20 16:48:27,804 INFO L290 TraceCheckUtils]: 12: Hoare triple {2010#true} assume !(~next~3#1.base != 0bv32 || ~next~3#1.offset != 0bv32); {2010#true} is VALID [2022-02-20 16:48:27,804 INFO L272 TraceCheckUtils]: 13: Hoare triple {2010#true} call #t~ret20#1.base, #t~ret20#1.offset := dll_create_slave(); {2010#true} is VALID [2022-02-20 16:48:27,804 INFO L272 TraceCheckUtils]: 14: Hoare triple {2010#true} call #t~ret12.base, #t~ret12.offset := dll_create_generic(#funAddr~dll_insert_slave.base, #funAddr~dll_insert_slave.offset); {2010#true} is VALID [2022-02-20 16:48:27,804 INFO L290 TraceCheckUtils]: 15: Hoare triple {2010#true} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#dll~0.base, ~#dll~0.offset, 4bv32); {2010#true} is VALID [2022-02-20 16:48:27,804 INFO L272 TraceCheckUtils]: 16: Hoare triple {2010#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {2010#true} is VALID [2022-02-20 16:48:27,804 INFO L290 TraceCheckUtils]: 17: Hoare triple {2010#true} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2010#true} is VALID [2022-02-20 16:48:27,804 INFO L290 TraceCheckUtils]: 18: Hoare triple {2010#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(8bv32);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; {2010#true} is VALID [2022-02-20 16:48:27,804 INFO L290 TraceCheckUtils]: 19: Hoare triple {2010#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0bv32 && alloc_or_die_slave_~ptr~0#1.offset == 0bv32); {2010#true} is VALID [2022-02-20 16:48:27,804 INFO L290 TraceCheckUtils]: 20: Hoare triple {2010#true} call write~$Pointer$(0bv32, 0bv32, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4bv32);call write~$Pointer$(0bv32, 0bv32, alloc_or_die_slave_~ptr~0#1.base, ~bvadd32(4bv32, alloc_or_die_slave_~ptr~0#1.offset), 4bv32);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; {2010#true} is VALID [2022-02-20 16:48:27,805 INFO L290 TraceCheckUtils]: 21: Hoare triple {2010#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, 4bv32);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, 4bv32); {2010#true} is VALID [2022-02-20 16:48:27,805 INFO L290 TraceCheckUtils]: 22: Hoare triple {2010#true} assume dll_insert_slave_~next~0#1.base != 0bv32 || dll_insert_slave_~next~0#1.offset != 0bv32;call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, ~bvadd32(4bv32, dll_insert_slave_~next~0#1.offset), 4bv32); {2010#true} is VALID [2022-02-20 16:48:27,805 INFO L290 TraceCheckUtils]: 23: Hoare triple {2010#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, 4bv32); {2010#true} is VALID [2022-02-20 16:48:27,805 INFO L290 TraceCheckUtils]: 24: Hoare triple {2010#true} assume { :end_inline_dll_insert_slave } true; {2010#true} is VALID [2022-02-20 16:48:27,805 INFO L290 TraceCheckUtils]: 25: Hoare triple {2010#true} assume true; {2010#true} is VALID [2022-02-20 16:48:27,805 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2010#true} {2010#true} #449#return; {2010#true} is VALID [2022-02-20 16:48:27,805 INFO L272 TraceCheckUtils]: 27: Hoare triple {2010#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {2010#true} is VALID [2022-02-20 16:48:27,805 INFO L290 TraceCheckUtils]: 28: Hoare triple {2010#true} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2010#true} is VALID [2022-02-20 16:48:27,805 INFO L290 TraceCheckUtils]: 29: Hoare triple {2010#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(8bv32);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; {2010#true} is VALID [2022-02-20 16:48:27,805 INFO L290 TraceCheckUtils]: 30: Hoare triple {2010#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0bv32 && alloc_or_die_slave_~ptr~0#1.offset == 0bv32); {2010#true} is VALID [2022-02-20 16:48:27,806 INFO L290 TraceCheckUtils]: 31: Hoare triple {2010#true} call write~$Pointer$(0bv32, 0bv32, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4bv32);call write~$Pointer$(0bv32, 0bv32, alloc_or_die_slave_~ptr~0#1.base, ~bvadd32(4bv32, alloc_or_die_slave_~ptr~0#1.offset), 4bv32);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; {2010#true} is VALID [2022-02-20 16:48:27,806 INFO L290 TraceCheckUtils]: 32: Hoare triple {2010#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, 4bv32);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, 4bv32); {2010#true} is VALID [2022-02-20 16:48:27,806 INFO L290 TraceCheckUtils]: 33: Hoare triple {2010#true} assume dll_insert_slave_~next~0#1.base != 0bv32 || dll_insert_slave_~next~0#1.offset != 0bv32;call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, ~bvadd32(4bv32, dll_insert_slave_~next~0#1.offset), 4bv32); {2010#true} is VALID [2022-02-20 16:48:27,806 INFO L290 TraceCheckUtils]: 34: Hoare triple {2010#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, 4bv32); {2010#true} is VALID [2022-02-20 16:48:27,806 INFO L290 TraceCheckUtils]: 35: Hoare triple {2010#true} assume { :end_inline_dll_insert_slave } true; {2010#true} is VALID [2022-02-20 16:48:27,806 INFO L290 TraceCheckUtils]: 36: Hoare triple {2010#true} assume true; {2010#true} is VALID [2022-02-20 16:48:27,806 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2010#true} {2010#true} #451#return; {2010#true} is VALID [2022-02-20 16:48:27,806 INFO L290 TraceCheckUtils]: 38: Hoare triple {2010#true} assume !(0bv32 != #t~nondet9);havoc #t~nondet9; {2010#true} is VALID [2022-02-20 16:48:27,806 INFO L290 TraceCheckUtils]: 39: Hoare triple {2010#true} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4bv32);#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; {2010#true} is VALID [2022-02-20 16:48:27,806 INFO L290 TraceCheckUtils]: 40: Hoare triple {2010#true} assume true; {2010#true} is VALID [2022-02-20 16:48:27,807 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {2010#true} {2010#true} #445#return; {2010#true} is VALID [2022-02-20 16:48:27,807 INFO L290 TraceCheckUtils]: 42: Hoare triple {2010#true} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {2010#true} is VALID [2022-02-20 16:48:27,807 INFO L290 TraceCheckUtils]: 43: Hoare triple {2010#true} assume true; {2010#true} is VALID [2022-02-20 16:48:27,807 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {2010#true} {2010#true} #447#return; {2010#true} is VALID [2022-02-20 16:48:27,807 INFO L290 TraceCheckUtils]: 45: Hoare triple {2010#true} call write~$Pointer$(#t~ret20#1.base, #t~ret20#1.offset, ~item~1#1.base, ~bvadd32(8bv32, ~item~1#1.offset), 4bv32);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, 4bv32); {2010#true} is VALID [2022-02-20 16:48:27,807 INFO L290 TraceCheckUtils]: 46: Hoare triple {2010#true} assume true; {2010#true} is VALID [2022-02-20 16:48:27,807 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {2010#true} {2010#true} #455#return; {2010#true} is VALID [2022-02-20 16:48:27,807 INFO L290 TraceCheckUtils]: 48: Hoare triple {2010#true} assume true; {2010#true} is VALID [2022-02-20 16:48:27,807 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {2010#true} {2010#true} #449#return; {2010#true} is VALID [2022-02-20 16:48:27,807 INFO L272 TraceCheckUtils]: 50: Hoare triple {2010#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {2010#true} is VALID [2022-02-20 16:48:27,808 INFO L290 TraceCheckUtils]: 51: Hoare triple {2010#true} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2168#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.base| |##fun~$Pointer$~TO~VOID_#~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_#~10#1.offset|))} is VALID [2022-02-20 16:48:27,808 INFO L290 TraceCheckUtils]: 52: Hoare triple {2168#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.base| |##fun~$Pointer$~TO~VOID_#~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_#~10#1.offset|))} assume #in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset; {2168#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.base| |##fun~$Pointer$~TO~VOID_#~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_#~10#1.offset|))} is VALID [2022-02-20 16:48:27,809 INFO L272 TraceCheckUtils]: 53: Hoare triple {2168#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.base| |##fun~$Pointer$~TO~VOID_#~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_#~10#1.offset|))} call dll_insert_master(#~10#1.base, #~10#1.offset); {2010#true} is VALID [2022-02-20 16:48:27,809 INFO L290 TraceCheckUtils]: 54: Hoare triple {2010#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(12bv32);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; {2178#(and (not (= |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| (_ bv0 32))) (= |dll_insert_master_#in~dll#1.offset| |dll_insert_master_~dll#1.offset|) (= |dll_insert_master_#in~dll#1.base| |dll_insert_master_~dll#1.base|))} is VALID [2022-02-20 16:48:27,810 INFO L290 TraceCheckUtils]: 55: Hoare triple {2178#(and (not (= |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| (_ bv0 32))) (= |dll_insert_master_#in~dll#1.offset| |dll_insert_master_~dll#1.offset|) (= |dll_insert_master_#in~dll#1.base| |dll_insert_master_~dll#1.base|))} assume !(alloc_or_die_master_~ptr~1#1.base == 0bv32 && alloc_or_die_master_~ptr~1#1.offset == 0bv32); {2178#(and (not (= |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| (_ bv0 32))) (= |dll_insert_master_#in~dll#1.offset| |dll_insert_master_~dll#1.offset|) (= |dll_insert_master_#in~dll#1.base| |dll_insert_master_~dll#1.base|))} is VALID [2022-02-20 16:48:27,810 INFO L290 TraceCheckUtils]: 56: Hoare triple {2178#(and (not (= |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| (_ bv0 32))) (= |dll_insert_master_#in~dll#1.offset| |dll_insert_master_~dll#1.offset|) (= |dll_insert_master_#in~dll#1.base| |dll_insert_master_~dll#1.base|))} call write~$Pointer$(0bv32, 0bv32, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset, 4bv32);call write~$Pointer$(0bv32, 0bv32, alloc_or_die_master_~ptr~1#1.base, ~bvadd32(4bv32, alloc_or_die_master_~ptr~1#1.offset), 4bv32);call write~$Pointer$(0bv32, 0bv32, alloc_or_die_master_~ptr~1#1.base, ~bvadd32(8bv32, alloc_or_die_master_~ptr~1#1.offset), 4bv32);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; {2185#(and (= |dll_insert_master_#in~dll#1.offset| |dll_insert_master_~dll#1.offset|) (= |dll_insert_master_#in~dll#1.base| |dll_insert_master_~dll#1.base|) (not (= |dll_insert_master_alloc_or_die_master_#res#1.base| (_ bv0 32))))} is VALID [2022-02-20 16:48:27,811 INFO L290 TraceCheckUtils]: 57: Hoare triple {2185#(and (= |dll_insert_master_#in~dll#1.offset| |dll_insert_master_~dll#1.offset|) (= |dll_insert_master_#in~dll#1.base| |dll_insert_master_~dll#1.base|) (not (= |dll_insert_master_alloc_or_die_master_#res#1.base| (_ bv0 32))))} #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, 4bv32);~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, 4bv32); {2189#(and (not (= |dll_insert_master_~item~1#1.base| (_ bv0 32))) (= |dll_insert_master_#in~dll#1.offset| |dll_insert_master_~dll#1.offset|) (= |dll_insert_master_#in~dll#1.base| |dll_insert_master_~dll#1.base|))} is VALID [2022-02-20 16:48:27,811 INFO L290 TraceCheckUtils]: 58: Hoare triple {2189#(and (not (= |dll_insert_master_~item~1#1.base| (_ bv0 32))) (= |dll_insert_master_#in~dll#1.offset| |dll_insert_master_~dll#1.offset|) (= |dll_insert_master_#in~dll#1.base| |dll_insert_master_~dll#1.base|))} assume !(~next~3#1.base != 0bv32 || ~next~3#1.offset != 0bv32); {2189#(and (not (= |dll_insert_master_~item~1#1.base| (_ bv0 32))) (= |dll_insert_master_#in~dll#1.offset| |dll_insert_master_~dll#1.offset|) (= |dll_insert_master_#in~dll#1.base| |dll_insert_master_~dll#1.base|))} is VALID [2022-02-20 16:48:27,812 INFO L272 TraceCheckUtils]: 59: Hoare triple {2189#(and (not (= |dll_insert_master_~item~1#1.base| (_ bv0 32))) (= |dll_insert_master_#in~dll#1.offset| |dll_insert_master_~dll#1.offset|) (= |dll_insert_master_#in~dll#1.base| |dll_insert_master_~dll#1.base|))} call #t~ret20#1.base, #t~ret20#1.offset := dll_create_slave(); {2010#true} is VALID [2022-02-20 16:48:27,812 INFO L272 TraceCheckUtils]: 60: Hoare triple {2010#true} call #t~ret12.base, #t~ret12.offset := dll_create_generic(#funAddr~dll_insert_slave.base, #funAddr~dll_insert_slave.offset); {2010#true} is VALID [2022-02-20 16:48:27,812 INFO L290 TraceCheckUtils]: 61: Hoare triple {2010#true} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#dll~0.base, ~#dll~0.offset, 4bv32); {2010#true} is VALID [2022-02-20 16:48:27,812 INFO L272 TraceCheckUtils]: 62: Hoare triple {2010#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {2010#true} is VALID [2022-02-20 16:48:27,812 INFO L290 TraceCheckUtils]: 63: Hoare triple {2010#true} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2010#true} is VALID [2022-02-20 16:48:27,812 INFO L290 TraceCheckUtils]: 64: Hoare triple {2010#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(8bv32);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; {2010#true} is VALID [2022-02-20 16:48:27,813 INFO L290 TraceCheckUtils]: 65: Hoare triple {2010#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0bv32 && alloc_or_die_slave_~ptr~0#1.offset == 0bv32); {2010#true} is VALID [2022-02-20 16:48:27,813 INFO L290 TraceCheckUtils]: 66: Hoare triple {2010#true} call write~$Pointer$(0bv32, 0bv32, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4bv32);call write~$Pointer$(0bv32, 0bv32, alloc_or_die_slave_~ptr~0#1.base, ~bvadd32(4bv32, alloc_or_die_slave_~ptr~0#1.offset), 4bv32);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; {2010#true} is VALID [2022-02-20 16:48:27,813 INFO L290 TraceCheckUtils]: 67: Hoare triple {2010#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, 4bv32);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, 4bv32); {2010#true} is VALID [2022-02-20 16:48:27,813 INFO L290 TraceCheckUtils]: 68: Hoare triple {2010#true} assume dll_insert_slave_~next~0#1.base != 0bv32 || dll_insert_slave_~next~0#1.offset != 0bv32;call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, ~bvadd32(4bv32, dll_insert_slave_~next~0#1.offset), 4bv32); {2010#true} is VALID [2022-02-20 16:48:27,813 INFO L290 TraceCheckUtils]: 69: Hoare triple {2010#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, 4bv32); {2010#true} is VALID [2022-02-20 16:48:27,813 INFO L290 TraceCheckUtils]: 70: Hoare triple {2010#true} assume { :end_inline_dll_insert_slave } true; {2010#true} is VALID [2022-02-20 16:48:27,813 INFO L290 TraceCheckUtils]: 71: Hoare triple {2010#true} assume true; {2010#true} is VALID [2022-02-20 16:48:27,814 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {2010#true} {2010#true} #449#return; {2010#true} is VALID [2022-02-20 16:48:27,814 INFO L272 TraceCheckUtils]: 73: Hoare triple {2010#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {2010#true} is VALID [2022-02-20 16:48:27,814 INFO L290 TraceCheckUtils]: 74: Hoare triple {2010#true} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2010#true} is VALID [2022-02-20 16:48:27,814 INFO L290 TraceCheckUtils]: 75: Hoare triple {2010#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(8bv32);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; {2010#true} is VALID [2022-02-20 16:48:27,814 INFO L290 TraceCheckUtils]: 76: Hoare triple {2010#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0bv32 && alloc_or_die_slave_~ptr~0#1.offset == 0bv32); {2010#true} is VALID [2022-02-20 16:48:27,814 INFO L290 TraceCheckUtils]: 77: Hoare triple {2010#true} call write~$Pointer$(0bv32, 0bv32, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4bv32);call write~$Pointer$(0bv32, 0bv32, alloc_or_die_slave_~ptr~0#1.base, ~bvadd32(4bv32, alloc_or_die_slave_~ptr~0#1.offset), 4bv32);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; {2010#true} is VALID [2022-02-20 16:48:27,814 INFO L290 TraceCheckUtils]: 78: Hoare triple {2010#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, 4bv32);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, 4bv32); {2010#true} is VALID [2022-02-20 16:48:27,815 INFO L290 TraceCheckUtils]: 79: Hoare triple {2010#true} assume dll_insert_slave_~next~0#1.base != 0bv32 || dll_insert_slave_~next~0#1.offset != 0bv32;call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, ~bvadd32(4bv32, dll_insert_slave_~next~0#1.offset), 4bv32); {2010#true} is VALID [2022-02-20 16:48:27,815 INFO L290 TraceCheckUtils]: 80: Hoare triple {2010#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, 4bv32); {2010#true} is VALID [2022-02-20 16:48:27,815 INFO L290 TraceCheckUtils]: 81: Hoare triple {2010#true} assume { :end_inline_dll_insert_slave } true; {2010#true} is VALID [2022-02-20 16:48:27,815 INFO L290 TraceCheckUtils]: 82: Hoare triple {2010#true} assume true; {2010#true} is VALID [2022-02-20 16:48:27,815 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {2010#true} {2010#true} #451#return; {2010#true} is VALID [2022-02-20 16:48:27,815 INFO L290 TraceCheckUtils]: 84: Hoare triple {2010#true} assume !(0bv32 != #t~nondet9);havoc #t~nondet9; {2010#true} is VALID [2022-02-20 16:48:27,815 INFO L290 TraceCheckUtils]: 85: Hoare triple {2010#true} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4bv32);#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; {2010#true} is VALID [2022-02-20 16:48:27,816 INFO L290 TraceCheckUtils]: 86: Hoare triple {2010#true} assume true; {2010#true} is VALID [2022-02-20 16:48:27,816 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {2010#true} {2010#true} #445#return; {2010#true} is VALID [2022-02-20 16:48:27,816 INFO L290 TraceCheckUtils]: 88: Hoare triple {2010#true} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {2010#true} is VALID [2022-02-20 16:48:27,816 INFO L290 TraceCheckUtils]: 89: Hoare triple {2010#true} assume true; {2010#true} is VALID [2022-02-20 16:48:27,817 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {2010#true} {2189#(and (not (= |dll_insert_master_~item~1#1.base| (_ bv0 32))) (= |dll_insert_master_#in~dll#1.offset| |dll_insert_master_~dll#1.offset|) (= |dll_insert_master_#in~dll#1.base| |dll_insert_master_~dll#1.base|))} #447#return; {2189#(and (not (= |dll_insert_master_~item~1#1.base| (_ bv0 32))) (= |dll_insert_master_#in~dll#1.offset| |dll_insert_master_~dll#1.offset|) (= |dll_insert_master_#in~dll#1.base| |dll_insert_master_~dll#1.base|))} is VALID [2022-02-20 16:48:27,844 WARN L290 TraceCheckUtils]: 91: Hoare triple {2189#(and (not (= |dll_insert_master_~item~1#1.base| (_ bv0 32))) (= |dll_insert_master_#in~dll#1.offset| |dll_insert_master_~dll#1.offset|) (= |dll_insert_master_#in~dll#1.base| |dll_insert_master_~dll#1.base|))} call write~$Pointer$(#t~ret20#1.base, #t~ret20#1.offset, ~item~1#1.base, ~bvadd32(8bv32, ~item~1#1.offset), 4bv32);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, 4bv32); {2292#(exists ((v_DerPreprocessor_2 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_3 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (select (store (store (store (store |#memory_$Pointer$.base| (select v_DerPreprocessor_3 |dll_insert_master_#in~dll#1.offset|) v_DerPreprocessor_2) |dll_insert_master_#in~dll#1.base| v_DerPreprocessor_3) (select v_DerPreprocessor_3 |dll_insert_master_#in~dll#1.offset|) v_DerPreprocessor_2) |dll_insert_master_#in~dll#1.base| v_DerPreprocessor_3) (select v_DerPreprocessor_3 |dll_insert_master_#in~dll#1.offset|)) v_DerPreprocessor_2) (= (select v_DerPreprocessor_3 |dll_insert_master_#in~dll#1.offset|) (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|)) (not (= (_ bv0 32) (select v_DerPreprocessor_3 |dll_insert_master_#in~dll#1.offset|))) (= (select (store (store (store (store |#memory_$Pointer$.base| (select v_DerPreprocessor_3 |dll_insert_master_#in~dll#1.offset|) v_DerPreprocessor_2) |dll_insert_master_#in~dll#1.base| v_DerPreprocessor_3) (select v_DerPreprocessor_3 |dll_insert_master_#in~dll#1.offset|) v_DerPreprocessor_2) |dll_insert_master_#in~dll#1.base| v_DerPreprocessor_3) (select v_DerPreprocessor_3 |dll_insert_master_#in~dll#1.offset|)) (select |#memory_$Pointer$.base| (select v_DerPreprocessor_3 |dll_insert_master_#in~dll#1.offset|)))))} is UNKNOWN [2022-02-20 16:48:27,847 WARN L290 TraceCheckUtils]: 92: Hoare triple {2292#(exists ((v_DerPreprocessor_2 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_3 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (select (store (store (store (store |#memory_$Pointer$.base| (select v_DerPreprocessor_3 |dll_insert_master_#in~dll#1.offset|) v_DerPreprocessor_2) |dll_insert_master_#in~dll#1.base| v_DerPreprocessor_3) (select v_DerPreprocessor_3 |dll_insert_master_#in~dll#1.offset|) v_DerPreprocessor_2) |dll_insert_master_#in~dll#1.base| v_DerPreprocessor_3) (select v_DerPreprocessor_3 |dll_insert_master_#in~dll#1.offset|)) v_DerPreprocessor_2) (= (select v_DerPreprocessor_3 |dll_insert_master_#in~dll#1.offset|) (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|)) (not (= (_ bv0 32) (select v_DerPreprocessor_3 |dll_insert_master_#in~dll#1.offset|))) (= (select (store (store (store (store |#memory_$Pointer$.base| (select v_DerPreprocessor_3 |dll_insert_master_#in~dll#1.offset|) v_DerPreprocessor_2) |dll_insert_master_#in~dll#1.base| v_DerPreprocessor_3) (select v_DerPreprocessor_3 |dll_insert_master_#in~dll#1.offset|) v_DerPreprocessor_2) |dll_insert_master_#in~dll#1.base| v_DerPreprocessor_3) (select v_DerPreprocessor_3 |dll_insert_master_#in~dll#1.offset|)) (select |#memory_$Pointer$.base| (select v_DerPreprocessor_3 |dll_insert_master_#in~dll#1.offset|)))))} assume true; {2292#(exists ((v_DerPreprocessor_2 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_3 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (select (store (store (store (store |#memory_$Pointer$.base| (select v_DerPreprocessor_3 |dll_insert_master_#in~dll#1.offset|) v_DerPreprocessor_2) |dll_insert_master_#in~dll#1.base| v_DerPreprocessor_3) (select v_DerPreprocessor_3 |dll_insert_master_#in~dll#1.offset|) v_DerPreprocessor_2) |dll_insert_master_#in~dll#1.base| v_DerPreprocessor_3) (select v_DerPreprocessor_3 |dll_insert_master_#in~dll#1.offset|)) v_DerPreprocessor_2) (= (select v_DerPreprocessor_3 |dll_insert_master_#in~dll#1.offset|) (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|)) (not (= (_ bv0 32) (select v_DerPreprocessor_3 |dll_insert_master_#in~dll#1.offset|))) (= (select (store (store (store (store |#memory_$Pointer$.base| (select v_DerPreprocessor_3 |dll_insert_master_#in~dll#1.offset|) v_DerPreprocessor_2) |dll_insert_master_#in~dll#1.base| v_DerPreprocessor_3) (select v_DerPreprocessor_3 |dll_insert_master_#in~dll#1.offset|) v_DerPreprocessor_2) |dll_insert_master_#in~dll#1.base| v_DerPreprocessor_3) (select v_DerPreprocessor_3 |dll_insert_master_#in~dll#1.offset|)) (select |#memory_$Pointer$.base| (select v_DerPreprocessor_3 |dll_insert_master_#in~dll#1.offset|)))))} is UNKNOWN [2022-02-20 16:48:27,851 WARN L284 TraceCheckUtils]: 93: Hoare quadruple {2292#(exists ((v_DerPreprocessor_2 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_3 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (select (store (store (store (store |#memory_$Pointer$.base| (select v_DerPreprocessor_3 |dll_insert_master_#in~dll#1.offset|) v_DerPreprocessor_2) |dll_insert_master_#in~dll#1.base| v_DerPreprocessor_3) (select v_DerPreprocessor_3 |dll_insert_master_#in~dll#1.offset|) v_DerPreprocessor_2) |dll_insert_master_#in~dll#1.base| v_DerPreprocessor_3) (select v_DerPreprocessor_3 |dll_insert_master_#in~dll#1.offset|)) v_DerPreprocessor_2) (= (select v_DerPreprocessor_3 |dll_insert_master_#in~dll#1.offset|) (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|)) (not (= (_ bv0 32) (select v_DerPreprocessor_3 |dll_insert_master_#in~dll#1.offset|))) (= (select (store (store (store (store |#memory_$Pointer$.base| (select v_DerPreprocessor_3 |dll_insert_master_#in~dll#1.offset|) v_DerPreprocessor_2) |dll_insert_master_#in~dll#1.base| v_DerPreprocessor_3) (select v_DerPreprocessor_3 |dll_insert_master_#in~dll#1.offset|) v_DerPreprocessor_2) |dll_insert_master_#in~dll#1.base| v_DerPreprocessor_3) (select v_DerPreprocessor_3 |dll_insert_master_#in~dll#1.offset|)) (select |#memory_$Pointer$.base| (select v_DerPreprocessor_3 |dll_insert_master_#in~dll#1.offset|)))))} {2168#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.base| |##fun~$Pointer$~TO~VOID_#~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_#~10#1.offset|))} #455#return; {2299#(exists ((v_DerPreprocessor_2 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_3 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (select (store (store (store (store |#memory_$Pointer$.base| (select v_DerPreprocessor_3 |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) v_DerPreprocessor_2) |##fun~$Pointer$~TO~VOID_#in~10#1.base| v_DerPreprocessor_3) (select v_DerPreprocessor_3 |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) v_DerPreprocessor_2) |##fun~$Pointer$~TO~VOID_#in~10#1.base| v_DerPreprocessor_3) (select v_DerPreprocessor_3 |##fun~$Pointer$~TO~VOID_#in~10#1.offset|)) v_DerPreprocessor_2) (not (= (select v_DerPreprocessor_3 |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) (_ bv0 32))) (= (select |#memory_$Pointer$.base| (select v_DerPreprocessor_3 |##fun~$Pointer$~TO~VOID_#in~10#1.offset|)) (select (store (store (store (store |#memory_$Pointer$.base| (select v_DerPreprocessor_3 |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) v_DerPreprocessor_2) |##fun~$Pointer$~TO~VOID_#in~10#1.base| v_DerPreprocessor_3) (select v_DerPreprocessor_3 |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) v_DerPreprocessor_2) |##fun~$Pointer$~TO~VOID_#in~10#1.base| v_DerPreprocessor_3) (select v_DerPreprocessor_3 |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))) (= (select (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) (select v_DerPreprocessor_3 |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))))} is UNKNOWN [2022-02-20 16:48:27,854 WARN L290 TraceCheckUtils]: 94: Hoare triple {2299#(exists ((v_DerPreprocessor_2 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_3 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (select (store (store (store (store |#memory_$Pointer$.base| (select v_DerPreprocessor_3 |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) v_DerPreprocessor_2) |##fun~$Pointer$~TO~VOID_#in~10#1.base| v_DerPreprocessor_3) (select v_DerPreprocessor_3 |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) v_DerPreprocessor_2) |##fun~$Pointer$~TO~VOID_#in~10#1.base| v_DerPreprocessor_3) (select v_DerPreprocessor_3 |##fun~$Pointer$~TO~VOID_#in~10#1.offset|)) v_DerPreprocessor_2) (not (= (select v_DerPreprocessor_3 |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) (_ bv0 32))) (= (select |#memory_$Pointer$.base| (select v_DerPreprocessor_3 |##fun~$Pointer$~TO~VOID_#in~10#1.offset|)) (select (store (store (store (store |#memory_$Pointer$.base| (select v_DerPreprocessor_3 |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) v_DerPreprocessor_2) |##fun~$Pointer$~TO~VOID_#in~10#1.base| v_DerPreprocessor_3) (select v_DerPreprocessor_3 |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) v_DerPreprocessor_2) |##fun~$Pointer$~TO~VOID_#in~10#1.base| v_DerPreprocessor_3) (select v_DerPreprocessor_3 |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))) (= (select (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) (select v_DerPreprocessor_3 |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))))} assume true; {2299#(exists ((v_DerPreprocessor_2 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_3 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (select (store (store (store (store |#memory_$Pointer$.base| (select v_DerPreprocessor_3 |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) v_DerPreprocessor_2) |##fun~$Pointer$~TO~VOID_#in~10#1.base| v_DerPreprocessor_3) (select v_DerPreprocessor_3 |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) v_DerPreprocessor_2) |##fun~$Pointer$~TO~VOID_#in~10#1.base| v_DerPreprocessor_3) (select v_DerPreprocessor_3 |##fun~$Pointer$~TO~VOID_#in~10#1.offset|)) v_DerPreprocessor_2) (not (= (select v_DerPreprocessor_3 |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) (_ bv0 32))) (= (select |#memory_$Pointer$.base| (select v_DerPreprocessor_3 |##fun~$Pointer$~TO~VOID_#in~10#1.offset|)) (select (store (store (store (store |#memory_$Pointer$.base| (select v_DerPreprocessor_3 |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) v_DerPreprocessor_2) |##fun~$Pointer$~TO~VOID_#in~10#1.base| v_DerPreprocessor_3) (select v_DerPreprocessor_3 |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) v_DerPreprocessor_2) |##fun~$Pointer$~TO~VOID_#in~10#1.base| v_DerPreprocessor_3) (select v_DerPreprocessor_3 |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))) (= (select (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) (select v_DerPreprocessor_3 |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))))} is UNKNOWN [2022-02-20 16:48:27,858 WARN L284 TraceCheckUtils]: 95: Hoare quadruple {2299#(exists ((v_DerPreprocessor_2 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_3 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (select (store (store (store (store |#memory_$Pointer$.base| (select v_DerPreprocessor_3 |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) v_DerPreprocessor_2) |##fun~$Pointer$~TO~VOID_#in~10#1.base| v_DerPreprocessor_3) (select v_DerPreprocessor_3 |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) v_DerPreprocessor_2) |##fun~$Pointer$~TO~VOID_#in~10#1.base| v_DerPreprocessor_3) (select v_DerPreprocessor_3 |##fun~$Pointer$~TO~VOID_#in~10#1.offset|)) v_DerPreprocessor_2) (not (= (select v_DerPreprocessor_3 |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) (_ bv0 32))) (= (select |#memory_$Pointer$.base| (select v_DerPreprocessor_3 |##fun~$Pointer$~TO~VOID_#in~10#1.offset|)) (select (store (store (store (store |#memory_$Pointer$.base| (select v_DerPreprocessor_3 |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) v_DerPreprocessor_2) |##fun~$Pointer$~TO~VOID_#in~10#1.base| v_DerPreprocessor_3) (select v_DerPreprocessor_3 |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) v_DerPreprocessor_2) |##fun~$Pointer$~TO~VOID_#in~10#1.base| v_DerPreprocessor_3) (select v_DerPreprocessor_3 |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))) (= (select (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) (select v_DerPreprocessor_3 |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))))} {2010#true} #451#return; {2306#(exists ((v_DerPreprocessor_2 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_3 (Array (_ BitVec 32) (_ BitVec 32)))) (and (not (= (_ bv0 32) (select v_DerPreprocessor_3 |dll_create_generic_~#dll~0.offset|))) (= (select (store (store (store (store |#memory_$Pointer$.base| (select v_DerPreprocessor_3 |dll_create_generic_~#dll~0.offset|) v_DerPreprocessor_2) |dll_create_generic_~#dll~0.base| v_DerPreprocessor_3) (select v_DerPreprocessor_3 |dll_create_generic_~#dll~0.offset|) v_DerPreprocessor_2) |dll_create_generic_~#dll~0.base| v_DerPreprocessor_3) (select v_DerPreprocessor_3 |dll_create_generic_~#dll~0.offset|)) v_DerPreprocessor_2) (= (select |#memory_$Pointer$.base| (select v_DerPreprocessor_3 |dll_create_generic_~#dll~0.offset|)) (select (store (store (store (store |#memory_$Pointer$.base| (select v_DerPreprocessor_3 |dll_create_generic_~#dll~0.offset|) v_DerPreprocessor_2) |dll_create_generic_~#dll~0.base| v_DerPreprocessor_3) (select v_DerPreprocessor_3 |dll_create_generic_~#dll~0.offset|) v_DerPreprocessor_2) |dll_create_generic_~#dll~0.base| v_DerPreprocessor_3) (select v_DerPreprocessor_3 |dll_create_generic_~#dll~0.offset|))) (= (select (select |#memory_$Pointer$.base| |dll_create_generic_~#dll~0.base|) |dll_create_generic_~#dll~0.offset|) (select v_DerPreprocessor_3 |dll_create_generic_~#dll~0.offset|))))} is UNKNOWN [2022-02-20 16:48:27,861 WARN L290 TraceCheckUtils]: 96: Hoare triple {2306#(exists ((v_DerPreprocessor_2 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_3 (Array (_ BitVec 32) (_ BitVec 32)))) (and (not (= (_ bv0 32) (select v_DerPreprocessor_3 |dll_create_generic_~#dll~0.offset|))) (= (select (store (store (store (store |#memory_$Pointer$.base| (select v_DerPreprocessor_3 |dll_create_generic_~#dll~0.offset|) v_DerPreprocessor_2) |dll_create_generic_~#dll~0.base| v_DerPreprocessor_3) (select v_DerPreprocessor_3 |dll_create_generic_~#dll~0.offset|) v_DerPreprocessor_2) |dll_create_generic_~#dll~0.base| v_DerPreprocessor_3) (select v_DerPreprocessor_3 |dll_create_generic_~#dll~0.offset|)) v_DerPreprocessor_2) (= (select |#memory_$Pointer$.base| (select v_DerPreprocessor_3 |dll_create_generic_~#dll~0.offset|)) (select (store (store (store (store |#memory_$Pointer$.base| (select v_DerPreprocessor_3 |dll_create_generic_~#dll~0.offset|) v_DerPreprocessor_2) |dll_create_generic_~#dll~0.base| v_DerPreprocessor_3) (select v_DerPreprocessor_3 |dll_create_generic_~#dll~0.offset|) v_DerPreprocessor_2) |dll_create_generic_~#dll~0.base| v_DerPreprocessor_3) (select v_DerPreprocessor_3 |dll_create_generic_~#dll~0.offset|))) (= (select (select |#memory_$Pointer$.base| |dll_create_generic_~#dll~0.base|) |dll_create_generic_~#dll~0.offset|) (select v_DerPreprocessor_3 |dll_create_generic_~#dll~0.offset|))))} assume !(0bv32 != #t~nondet9);havoc #t~nondet9; {2306#(exists ((v_DerPreprocessor_2 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_3 (Array (_ BitVec 32) (_ BitVec 32)))) (and (not (= (_ bv0 32) (select v_DerPreprocessor_3 |dll_create_generic_~#dll~0.offset|))) (= (select (store (store (store (store |#memory_$Pointer$.base| (select v_DerPreprocessor_3 |dll_create_generic_~#dll~0.offset|) v_DerPreprocessor_2) |dll_create_generic_~#dll~0.base| v_DerPreprocessor_3) (select v_DerPreprocessor_3 |dll_create_generic_~#dll~0.offset|) v_DerPreprocessor_2) |dll_create_generic_~#dll~0.base| v_DerPreprocessor_3) (select v_DerPreprocessor_3 |dll_create_generic_~#dll~0.offset|)) v_DerPreprocessor_2) (= (select |#memory_$Pointer$.base| (select v_DerPreprocessor_3 |dll_create_generic_~#dll~0.offset|)) (select (store (store (store (store |#memory_$Pointer$.base| (select v_DerPreprocessor_3 |dll_create_generic_~#dll~0.offset|) v_DerPreprocessor_2) |dll_create_generic_~#dll~0.base| v_DerPreprocessor_3) (select v_DerPreprocessor_3 |dll_create_generic_~#dll~0.offset|) v_DerPreprocessor_2) |dll_create_generic_~#dll~0.base| v_DerPreprocessor_3) (select v_DerPreprocessor_3 |dll_create_generic_~#dll~0.offset|))) (= (select (select |#memory_$Pointer$.base| |dll_create_generic_~#dll~0.base|) |dll_create_generic_~#dll~0.offset|) (select v_DerPreprocessor_3 |dll_create_generic_~#dll~0.offset|))))} is UNKNOWN [2022-02-20 16:48:27,862 INFO L290 TraceCheckUtils]: 97: Hoare triple {2306#(exists ((v_DerPreprocessor_2 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_3 (Array (_ BitVec 32) (_ BitVec 32)))) (and (not (= (_ bv0 32) (select v_DerPreprocessor_3 |dll_create_generic_~#dll~0.offset|))) (= (select (store (store (store (store |#memory_$Pointer$.base| (select v_DerPreprocessor_3 |dll_create_generic_~#dll~0.offset|) v_DerPreprocessor_2) |dll_create_generic_~#dll~0.base| v_DerPreprocessor_3) (select v_DerPreprocessor_3 |dll_create_generic_~#dll~0.offset|) v_DerPreprocessor_2) |dll_create_generic_~#dll~0.base| v_DerPreprocessor_3) (select v_DerPreprocessor_3 |dll_create_generic_~#dll~0.offset|)) v_DerPreprocessor_2) (= (select |#memory_$Pointer$.base| (select v_DerPreprocessor_3 |dll_create_generic_~#dll~0.offset|)) (select (store (store (store (store |#memory_$Pointer$.base| (select v_DerPreprocessor_3 |dll_create_generic_~#dll~0.offset|) v_DerPreprocessor_2) |dll_create_generic_~#dll~0.base| v_DerPreprocessor_3) (select v_DerPreprocessor_3 |dll_create_generic_~#dll~0.offset|) v_DerPreprocessor_2) |dll_create_generic_~#dll~0.base| v_DerPreprocessor_3) (select v_DerPreprocessor_3 |dll_create_generic_~#dll~0.offset|))) (= (select (select |#memory_$Pointer$.base| |dll_create_generic_~#dll~0.base|) |dll_create_generic_~#dll~0.offset|) (select v_DerPreprocessor_3 |dll_create_generic_~#dll~0.offset|))))} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4bv32);#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; {2313#(not (= |dll_create_generic_#res.base| (_ bv0 32)))} is VALID [2022-02-20 16:48:27,862 INFO L290 TraceCheckUtils]: 98: Hoare triple {2313#(not (= |dll_create_generic_#res.base| (_ bv0 32)))} assume true; {2313#(not (= |dll_create_generic_#res.base| (_ bv0 32)))} is VALID [2022-02-20 16:48:27,863 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {2313#(not (= |dll_create_generic_#res.base| (_ bv0 32)))} {2010#true} #469#return; {2320#(not (= |ULTIMATE.start_dll_create_master_#t~ret21#1.base| (_ bv0 32)))} is VALID [2022-02-20 16:48:27,863 INFO L290 TraceCheckUtils]: 100: Hoare triple {2320#(not (= |ULTIMATE.start_dll_create_master_#t~ret21#1.base| (_ bv0 32)))} 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; {2324#(not (= |ULTIMATE.start_dll_create_master_#res#1.base| (_ bv0 32)))} is VALID [2022-02-20 16:48:27,864 INFO L290 TraceCheckUtils]: 101: Hoare triple {2324#(not (= |ULTIMATE.start_dll_create_master_#res#1.base| (_ bv0 32)))} 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; {2328#(not (= |ULTIMATE.start_inspect_full_~dll#1.base| (_ bv0 32)))} is VALID [2022-02-20 16:48:27,864 INFO L272 TraceCheckUtils]: 102: Hoare triple {2328#(not (= |ULTIMATE.start_inspect_full_~dll#1.base| (_ bv0 32)))} call inspect_base(inspect_full_~dll#1.base, inspect_full_~dll#1.offset); {2332#(not (= |inspect_base_#in~dll.base| (_ bv0 32)))} is VALID [2022-02-20 16:48:27,865 INFO L290 TraceCheckUtils]: 103: Hoare triple {2332#(not (= |inspect_base_#in~dll.base| (_ bv0 32)))} ~dll.base, ~dll.offset := #in~dll.base, #in~dll.offset; {2336#(not (= inspect_base_~dll.base (_ bv0 32)))} is VALID [2022-02-20 16:48:27,865 INFO L290 TraceCheckUtils]: 104: Hoare triple {2336#(not (= inspect_base_~dll.base (_ bv0 32)))} assume ~dll.base == 0bv32 && ~dll.offset == 0bv32; {2011#false} is VALID [2022-02-20 16:48:27,865 INFO L272 TraceCheckUtils]: 105: Hoare triple {2011#false} call fail(); {2011#false} is VALID [2022-02-20 16:48:27,865 INFO L290 TraceCheckUtils]: 106: Hoare triple {2011#false} assume !false; {2011#false} is VALID [2022-02-20 16:48:27,866 INFO L134 CoverageAnalysis]: Checked inductivity of 131 backedges. 30 proven. 2 refuted. 0 times theorem prover too weak. 99 trivial. 0 not checked. [2022-02-20 16:48:27,866 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:48:28,858 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:48:28,858 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:28,873 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:28,883 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:28,958 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:28,968 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:29,032 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:48:29,032 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:29,039 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:29,044 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:29,104 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:29,125 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:29,484 INFO L290 TraceCheckUtils]: 106: Hoare triple {2011#false} assume !false; {2011#false} is VALID [2022-02-20 16:48:29,484 INFO L272 TraceCheckUtils]: 105: Hoare triple {2011#false} call fail(); {2011#false} is VALID [2022-02-20 16:48:29,485 INFO L290 TraceCheckUtils]: 104: Hoare triple {2336#(not (= inspect_base_~dll.base (_ bv0 32)))} assume ~dll.base == 0bv32 && ~dll.offset == 0bv32; {2011#false} is VALID [2022-02-20 16:48:29,485 INFO L290 TraceCheckUtils]: 103: Hoare triple {2332#(not (= |inspect_base_#in~dll.base| (_ bv0 32)))} ~dll.base, ~dll.offset := #in~dll.base, #in~dll.offset; {2336#(not (= inspect_base_~dll.base (_ bv0 32)))} is VALID [2022-02-20 16:48:29,486 INFO L272 TraceCheckUtils]: 102: Hoare triple {2328#(not (= |ULTIMATE.start_inspect_full_~dll#1.base| (_ bv0 32)))} call inspect_base(inspect_full_~dll#1.base, inspect_full_~dll#1.offset); {2332#(not (= |inspect_base_#in~dll.base| (_ bv0 32)))} is VALID [2022-02-20 16:48:29,486 INFO L290 TraceCheckUtils]: 101: Hoare triple {2324#(not (= |ULTIMATE.start_dll_create_master_#res#1.base| (_ bv0 32)))} 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; {2328#(not (= |ULTIMATE.start_inspect_full_~dll#1.base| (_ bv0 32)))} is VALID [2022-02-20 16:48:29,487 INFO L290 TraceCheckUtils]: 100: Hoare triple {2320#(not (= |ULTIMATE.start_dll_create_master_#t~ret21#1.base| (_ bv0 32)))} 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; {2324#(not (= |ULTIMATE.start_dll_create_master_#res#1.base| (_ bv0 32)))} is VALID [2022-02-20 16:48:29,488 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {2313#(not (= |dll_create_generic_#res.base| (_ bv0 32)))} {2010#true} #469#return; {2320#(not (= |ULTIMATE.start_dll_create_master_#t~ret21#1.base| (_ bv0 32)))} is VALID [2022-02-20 16:48:29,488 INFO L290 TraceCheckUtils]: 98: Hoare triple {2313#(not (= |dll_create_generic_#res.base| (_ bv0 32)))} assume true; {2313#(not (= |dll_create_generic_#res.base| (_ bv0 32)))} is VALID [2022-02-20 16:48:29,488 INFO L290 TraceCheckUtils]: 97: Hoare triple {2376#(not (= (select (select |#memory_$Pointer$.base| |dll_create_generic_~#dll~0.base|) |dll_create_generic_~#dll~0.offset|) (_ bv0 32)))} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4bv32);#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; {2313#(not (= |dll_create_generic_#res.base| (_ bv0 32)))} is VALID [2022-02-20 16:48:29,489 INFO L290 TraceCheckUtils]: 96: Hoare triple {2376#(not (= (select (select |#memory_$Pointer$.base| |dll_create_generic_~#dll~0.base|) |dll_create_generic_~#dll~0.offset|) (_ bv0 32)))} assume !(0bv32 != #t~nondet9);havoc #t~nondet9; {2376#(not (= (select (select |#memory_$Pointer$.base| |dll_create_generic_~#dll~0.base|) |dll_create_generic_~#dll~0.offset|) (_ bv0 32)))} is VALID [2022-02-20 16:48:29,490 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {2386#(not (= (select (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) (_ bv0 32)))} {2010#true} #451#return; {2376#(not (= (select (select |#memory_$Pointer$.base| |dll_create_generic_~#dll~0.base|) |dll_create_generic_~#dll~0.offset|) (_ bv0 32)))} is VALID [2022-02-20 16:48:29,490 INFO L290 TraceCheckUtils]: 94: Hoare triple {2386#(not (= (select (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) (_ bv0 32)))} assume true; {2386#(not (= (select (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) (_ bv0 32)))} is VALID [2022-02-20 16:48:29,491 INFO L284 TraceCheckUtils]: 93: Hoare quadruple {2396#(not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|)))} {2168#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.base| |##fun~$Pointer$~TO~VOID_#~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_#~10#1.offset|))} #455#return; {2386#(not (= (select (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) (_ bv0 32)))} is VALID [2022-02-20 16:48:29,491 INFO L290 TraceCheckUtils]: 92: Hoare triple {2396#(not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|)))} assume true; {2396#(not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|)))} is VALID [2022-02-20 16:48:29,493 INFO L290 TraceCheckUtils]: 91: Hoare triple {2189#(and (not (= |dll_insert_master_~item~1#1.base| (_ bv0 32))) (= |dll_insert_master_#in~dll#1.offset| |dll_insert_master_~dll#1.offset|) (= |dll_insert_master_#in~dll#1.base| |dll_insert_master_~dll#1.base|))} call write~$Pointer$(#t~ret20#1.base, #t~ret20#1.offset, ~item~1#1.base, ~bvadd32(8bv32, ~item~1#1.offset), 4bv32);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, 4bv32); {2396#(not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|)))} is VALID [2022-02-20 16:48:29,494 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {2010#true} {2189#(and (not (= |dll_insert_master_~item~1#1.base| (_ bv0 32))) (= |dll_insert_master_#in~dll#1.offset| |dll_insert_master_~dll#1.offset|) (= |dll_insert_master_#in~dll#1.base| |dll_insert_master_~dll#1.base|))} #447#return; {2189#(and (not (= |dll_insert_master_~item~1#1.base| (_ bv0 32))) (= |dll_insert_master_#in~dll#1.offset| |dll_insert_master_~dll#1.offset|) (= |dll_insert_master_#in~dll#1.base| |dll_insert_master_~dll#1.base|))} is VALID [2022-02-20 16:48:29,494 INFO L290 TraceCheckUtils]: 89: Hoare triple {2010#true} assume true; {2010#true} is VALID [2022-02-20 16:48:29,494 INFO L290 TraceCheckUtils]: 88: Hoare triple {2010#true} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {2010#true} is VALID [2022-02-20 16:48:29,494 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {2010#true} {2010#true} #445#return; {2010#true} is VALID [2022-02-20 16:48:29,494 INFO L290 TraceCheckUtils]: 86: Hoare triple {2010#true} assume true; {2010#true} is VALID [2022-02-20 16:48:29,494 INFO L290 TraceCheckUtils]: 85: Hoare triple {2010#true} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4bv32);#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; {2010#true} is VALID [2022-02-20 16:48:29,495 INFO L290 TraceCheckUtils]: 84: Hoare triple {2010#true} assume !(0bv32 != #t~nondet9);havoc #t~nondet9; {2010#true} is VALID [2022-02-20 16:48:29,495 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {2010#true} {2010#true} #451#return; {2010#true} is VALID [2022-02-20 16:48:29,495 INFO L290 TraceCheckUtils]: 82: Hoare triple {2010#true} assume true; {2010#true} is VALID [2022-02-20 16:48:29,495 INFO L290 TraceCheckUtils]: 81: Hoare triple {2010#true} assume { :end_inline_dll_insert_slave } true; {2010#true} is VALID [2022-02-20 16:48:29,495 INFO L290 TraceCheckUtils]: 80: Hoare triple {2010#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, 4bv32); {2010#true} is VALID [2022-02-20 16:48:29,495 INFO L290 TraceCheckUtils]: 79: Hoare triple {2010#true} assume dll_insert_slave_~next~0#1.base != 0bv32 || dll_insert_slave_~next~0#1.offset != 0bv32;call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, ~bvadd32(4bv32, dll_insert_slave_~next~0#1.offset), 4bv32); {2010#true} is VALID [2022-02-20 16:48:29,495 INFO L290 TraceCheckUtils]: 78: Hoare triple {2010#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, 4bv32);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, 4bv32); {2010#true} is VALID [2022-02-20 16:48:29,496 INFO L290 TraceCheckUtils]: 77: Hoare triple {2010#true} call write~$Pointer$(0bv32, 0bv32, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4bv32);call write~$Pointer$(0bv32, 0bv32, alloc_or_die_slave_~ptr~0#1.base, ~bvadd32(4bv32, alloc_or_die_slave_~ptr~0#1.offset), 4bv32);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; {2010#true} is VALID [2022-02-20 16:48:29,496 INFO L290 TraceCheckUtils]: 76: Hoare triple {2010#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0bv32 && alloc_or_die_slave_~ptr~0#1.offset == 0bv32); {2010#true} is VALID [2022-02-20 16:48:29,496 INFO L290 TraceCheckUtils]: 75: Hoare triple {2010#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(8bv32);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; {2010#true} is VALID [2022-02-20 16:48:29,496 INFO L290 TraceCheckUtils]: 74: Hoare triple {2010#true} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2010#true} is VALID [2022-02-20 16:48:29,496 INFO L272 TraceCheckUtils]: 73: Hoare triple {2010#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {2010#true} is VALID [2022-02-20 16:48:29,496 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {2010#true} {2010#true} #449#return; {2010#true} is VALID [2022-02-20 16:48:29,497 INFO L290 TraceCheckUtils]: 71: Hoare triple {2010#true} assume true; {2010#true} is VALID [2022-02-20 16:48:29,497 INFO L290 TraceCheckUtils]: 70: Hoare triple {2010#true} assume { :end_inline_dll_insert_slave } true; {2010#true} is VALID [2022-02-20 16:48:29,497 INFO L290 TraceCheckUtils]: 69: Hoare triple {2010#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, 4bv32); {2010#true} is VALID [2022-02-20 16:48:29,497 INFO L290 TraceCheckUtils]: 68: Hoare triple {2010#true} assume dll_insert_slave_~next~0#1.base != 0bv32 || dll_insert_slave_~next~0#1.offset != 0bv32;call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, ~bvadd32(4bv32, dll_insert_slave_~next~0#1.offset), 4bv32); {2010#true} is VALID [2022-02-20 16:48:29,497 INFO L290 TraceCheckUtils]: 67: Hoare triple {2010#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, 4bv32);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, 4bv32); {2010#true} is VALID [2022-02-20 16:48:29,497 INFO L290 TraceCheckUtils]: 66: Hoare triple {2010#true} call write~$Pointer$(0bv32, 0bv32, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4bv32);call write~$Pointer$(0bv32, 0bv32, alloc_or_die_slave_~ptr~0#1.base, ~bvadd32(4bv32, alloc_or_die_slave_~ptr~0#1.offset), 4bv32);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; {2010#true} is VALID [2022-02-20 16:48:29,497 INFO L290 TraceCheckUtils]: 65: Hoare triple {2010#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0bv32 && alloc_or_die_slave_~ptr~0#1.offset == 0bv32); {2010#true} is VALID [2022-02-20 16:48:29,497 INFO L290 TraceCheckUtils]: 64: Hoare triple {2010#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(8bv32);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; {2010#true} is VALID [2022-02-20 16:48:29,498 INFO L290 TraceCheckUtils]: 63: Hoare triple {2010#true} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2010#true} is VALID [2022-02-20 16:48:29,498 INFO L272 TraceCheckUtils]: 62: Hoare triple {2010#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {2010#true} is VALID [2022-02-20 16:48:29,498 INFO L290 TraceCheckUtils]: 61: Hoare triple {2010#true} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#dll~0.base, ~#dll~0.offset, 4bv32); {2010#true} is VALID [2022-02-20 16:48:29,498 INFO L272 TraceCheckUtils]: 60: Hoare triple {2010#true} call #t~ret12.base, #t~ret12.offset := dll_create_generic(#funAddr~dll_insert_slave.base, #funAddr~dll_insert_slave.offset); {2010#true} is VALID [2022-02-20 16:48:29,498 INFO L272 TraceCheckUtils]: 59: Hoare triple {2189#(and (not (= |dll_insert_master_~item~1#1.base| (_ bv0 32))) (= |dll_insert_master_#in~dll#1.offset| |dll_insert_master_~dll#1.offset|) (= |dll_insert_master_#in~dll#1.base| |dll_insert_master_~dll#1.base|))} call #t~ret20#1.base, #t~ret20#1.offset := dll_create_slave(); {2010#true} is VALID [2022-02-20 16:48:29,502 INFO L290 TraceCheckUtils]: 58: Hoare triple {2189#(and (not (= |dll_insert_master_~item~1#1.base| (_ bv0 32))) (= |dll_insert_master_#in~dll#1.offset| |dll_insert_master_~dll#1.offset|) (= |dll_insert_master_#in~dll#1.base| |dll_insert_master_~dll#1.base|))} assume !(~next~3#1.base != 0bv32 || ~next~3#1.offset != 0bv32); {2189#(and (not (= |dll_insert_master_~item~1#1.base| (_ bv0 32))) (= |dll_insert_master_#in~dll#1.offset| |dll_insert_master_~dll#1.offset|) (= |dll_insert_master_#in~dll#1.base| |dll_insert_master_~dll#1.base|))} is VALID [2022-02-20 16:48:29,503 INFO L290 TraceCheckUtils]: 57: Hoare triple {2185#(and (= |dll_insert_master_#in~dll#1.offset| |dll_insert_master_~dll#1.offset|) (= |dll_insert_master_#in~dll#1.base| |dll_insert_master_~dll#1.base|) (not (= |dll_insert_master_alloc_or_die_master_#res#1.base| (_ bv0 32))))} #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, 4bv32);~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, 4bv32); {2189#(and (not (= |dll_insert_master_~item~1#1.base| (_ bv0 32))) (= |dll_insert_master_#in~dll#1.offset| |dll_insert_master_~dll#1.offset|) (= |dll_insert_master_#in~dll#1.base| |dll_insert_master_~dll#1.base|))} is VALID [2022-02-20 16:48:29,503 INFO L290 TraceCheckUtils]: 56: Hoare triple {2178#(and (not (= |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| (_ bv0 32))) (= |dll_insert_master_#in~dll#1.offset| |dll_insert_master_~dll#1.offset|) (= |dll_insert_master_#in~dll#1.base| |dll_insert_master_~dll#1.base|))} call write~$Pointer$(0bv32, 0bv32, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset, 4bv32);call write~$Pointer$(0bv32, 0bv32, alloc_or_die_master_~ptr~1#1.base, ~bvadd32(4bv32, alloc_or_die_master_~ptr~1#1.offset), 4bv32);call write~$Pointer$(0bv32, 0bv32, alloc_or_die_master_~ptr~1#1.base, ~bvadd32(8bv32, alloc_or_die_master_~ptr~1#1.offset), 4bv32);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; {2185#(and (= |dll_insert_master_#in~dll#1.offset| |dll_insert_master_~dll#1.offset|) (= |dll_insert_master_#in~dll#1.base| |dll_insert_master_~dll#1.base|) (not (= |dll_insert_master_alloc_or_die_master_#res#1.base| (_ bv0 32))))} is VALID [2022-02-20 16:48:29,504 INFO L290 TraceCheckUtils]: 55: Hoare triple {2178#(and (not (= |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| (_ bv0 32))) (= |dll_insert_master_#in~dll#1.offset| |dll_insert_master_~dll#1.offset|) (= |dll_insert_master_#in~dll#1.base| |dll_insert_master_~dll#1.base|))} assume !(alloc_or_die_master_~ptr~1#1.base == 0bv32 && alloc_or_die_master_~ptr~1#1.offset == 0bv32); {2178#(and (not (= |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| (_ bv0 32))) (= |dll_insert_master_#in~dll#1.offset| |dll_insert_master_~dll#1.offset|) (= |dll_insert_master_#in~dll#1.base| |dll_insert_master_~dll#1.base|))} is VALID [2022-02-20 16:48:29,504 INFO L290 TraceCheckUtils]: 54: Hoare triple {2010#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(12bv32);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; {2178#(and (not (= |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| (_ bv0 32))) (= |dll_insert_master_#in~dll#1.offset| |dll_insert_master_~dll#1.offset|) (= |dll_insert_master_#in~dll#1.base| |dll_insert_master_~dll#1.base|))} is VALID [2022-02-20 16:48:29,505 INFO L272 TraceCheckUtils]: 53: Hoare triple {2168#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.base| |##fun~$Pointer$~TO~VOID_#~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_#~10#1.offset|))} call dll_insert_master(#~10#1.base, #~10#1.offset); {2010#true} is VALID [2022-02-20 16:48:29,505 INFO L290 TraceCheckUtils]: 52: Hoare triple {2168#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.base| |##fun~$Pointer$~TO~VOID_#~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_#~10#1.offset|))} assume #in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset; {2168#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.base| |##fun~$Pointer$~TO~VOID_#~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_#~10#1.offset|))} is VALID [2022-02-20 16:48:29,505 INFO L290 TraceCheckUtils]: 51: Hoare triple {2010#true} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2168#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.base| |##fun~$Pointer$~TO~VOID_#~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_#~10#1.offset|))} is VALID [2022-02-20 16:48:29,506 INFO L272 TraceCheckUtils]: 50: Hoare triple {2010#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {2010#true} is VALID [2022-02-20 16:48:29,506 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {2010#true} {2010#true} #449#return; {2010#true} is VALID [2022-02-20 16:48:29,506 INFO L290 TraceCheckUtils]: 48: Hoare triple {2010#true} assume true; {2010#true} is VALID [2022-02-20 16:48:29,506 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {2010#true} {2010#true} #455#return; {2010#true} is VALID [2022-02-20 16:48:29,506 INFO L290 TraceCheckUtils]: 46: Hoare triple {2010#true} assume true; {2010#true} is VALID [2022-02-20 16:48:29,506 INFO L290 TraceCheckUtils]: 45: Hoare triple {2010#true} call write~$Pointer$(#t~ret20#1.base, #t~ret20#1.offset, ~item~1#1.base, ~bvadd32(8bv32, ~item~1#1.offset), 4bv32);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, 4bv32); {2010#true} is VALID [2022-02-20 16:48:29,506 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {2010#true} {2010#true} #447#return; {2010#true} is VALID [2022-02-20 16:48:29,507 INFO L290 TraceCheckUtils]: 43: Hoare triple {2010#true} assume true; {2010#true} is VALID [2022-02-20 16:48:29,507 INFO L290 TraceCheckUtils]: 42: Hoare triple {2010#true} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {2010#true} is VALID [2022-02-20 16:48:29,507 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {2010#true} {2010#true} #445#return; {2010#true} is VALID [2022-02-20 16:48:29,507 INFO L290 TraceCheckUtils]: 40: Hoare triple {2010#true} assume true; {2010#true} is VALID [2022-02-20 16:48:29,507 INFO L290 TraceCheckUtils]: 39: Hoare triple {2010#true} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4bv32);#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; {2010#true} is VALID [2022-02-20 16:48:29,507 INFO L290 TraceCheckUtils]: 38: Hoare triple {2010#true} assume !(0bv32 != #t~nondet9);havoc #t~nondet9; {2010#true} is VALID [2022-02-20 16:48:29,507 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2010#true} {2010#true} #451#return; {2010#true} is VALID [2022-02-20 16:48:29,507 INFO L290 TraceCheckUtils]: 36: Hoare triple {2010#true} assume true; {2010#true} is VALID [2022-02-20 16:48:29,508 INFO L290 TraceCheckUtils]: 35: Hoare triple {2010#true} assume { :end_inline_dll_insert_slave } true; {2010#true} is VALID [2022-02-20 16:48:29,508 INFO L290 TraceCheckUtils]: 34: Hoare triple {2010#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, 4bv32); {2010#true} is VALID [2022-02-20 16:48:29,508 INFO L290 TraceCheckUtils]: 33: Hoare triple {2010#true} assume dll_insert_slave_~next~0#1.base != 0bv32 || dll_insert_slave_~next~0#1.offset != 0bv32;call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, ~bvadd32(4bv32, dll_insert_slave_~next~0#1.offset), 4bv32); {2010#true} is VALID [2022-02-20 16:48:29,508 INFO L290 TraceCheckUtils]: 32: Hoare triple {2010#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, 4bv32);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, 4bv32); {2010#true} is VALID [2022-02-20 16:48:29,508 INFO L290 TraceCheckUtils]: 31: Hoare triple {2010#true} call write~$Pointer$(0bv32, 0bv32, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4bv32);call write~$Pointer$(0bv32, 0bv32, alloc_or_die_slave_~ptr~0#1.base, ~bvadd32(4bv32, alloc_or_die_slave_~ptr~0#1.offset), 4bv32);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; {2010#true} is VALID [2022-02-20 16:48:29,508 INFO L290 TraceCheckUtils]: 30: Hoare triple {2010#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0bv32 && alloc_or_die_slave_~ptr~0#1.offset == 0bv32); {2010#true} is VALID [2022-02-20 16:48:29,508 INFO L290 TraceCheckUtils]: 29: Hoare triple {2010#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(8bv32);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; {2010#true} is VALID [2022-02-20 16:48:29,509 INFO L290 TraceCheckUtils]: 28: Hoare triple {2010#true} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2010#true} is VALID [2022-02-20 16:48:29,509 INFO L272 TraceCheckUtils]: 27: Hoare triple {2010#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {2010#true} is VALID [2022-02-20 16:48:29,509 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2010#true} {2010#true} #449#return; {2010#true} is VALID [2022-02-20 16:48:29,509 INFO L290 TraceCheckUtils]: 25: Hoare triple {2010#true} assume true; {2010#true} is VALID [2022-02-20 16:48:29,509 INFO L290 TraceCheckUtils]: 24: Hoare triple {2010#true} assume { :end_inline_dll_insert_slave } true; {2010#true} is VALID [2022-02-20 16:48:29,509 INFO L290 TraceCheckUtils]: 23: Hoare triple {2010#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, 4bv32); {2010#true} is VALID [2022-02-20 16:48:29,509 INFO L290 TraceCheckUtils]: 22: Hoare triple {2010#true} assume dll_insert_slave_~next~0#1.base != 0bv32 || dll_insert_slave_~next~0#1.offset != 0bv32;call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, ~bvadd32(4bv32, dll_insert_slave_~next~0#1.offset), 4bv32); {2010#true} is VALID [2022-02-20 16:48:29,509 INFO L290 TraceCheckUtils]: 21: Hoare triple {2010#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, 4bv32);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, 4bv32); {2010#true} is VALID [2022-02-20 16:48:29,510 INFO L290 TraceCheckUtils]: 20: Hoare triple {2010#true} call write~$Pointer$(0bv32, 0bv32, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4bv32);call write~$Pointer$(0bv32, 0bv32, alloc_or_die_slave_~ptr~0#1.base, ~bvadd32(4bv32, alloc_or_die_slave_~ptr~0#1.offset), 4bv32);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; {2010#true} is VALID [2022-02-20 16:48:29,510 INFO L290 TraceCheckUtils]: 19: Hoare triple {2010#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0bv32 && alloc_or_die_slave_~ptr~0#1.offset == 0bv32); {2010#true} is VALID [2022-02-20 16:48:29,510 INFO L290 TraceCheckUtils]: 18: Hoare triple {2010#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(8bv32);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; {2010#true} is VALID [2022-02-20 16:48:29,510 INFO L290 TraceCheckUtils]: 17: Hoare triple {2010#true} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2010#true} is VALID [2022-02-20 16:48:29,510 INFO L272 TraceCheckUtils]: 16: Hoare triple {2010#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {2010#true} is VALID [2022-02-20 16:48:29,510 INFO L290 TraceCheckUtils]: 15: Hoare triple {2010#true} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#dll~0.base, ~#dll~0.offset, 4bv32); {2010#true} is VALID [2022-02-20 16:48:29,510 INFO L272 TraceCheckUtils]: 14: Hoare triple {2010#true} call #t~ret12.base, #t~ret12.offset := dll_create_generic(#funAddr~dll_insert_slave.base, #funAddr~dll_insert_slave.offset); {2010#true} is VALID [2022-02-20 16:48:29,511 INFO L272 TraceCheckUtils]: 13: Hoare triple {2010#true} call #t~ret20#1.base, #t~ret20#1.offset := dll_create_slave(); {2010#true} is VALID [2022-02-20 16:48:29,511 INFO L290 TraceCheckUtils]: 12: Hoare triple {2010#true} assume !(~next~3#1.base != 0bv32 || ~next~3#1.offset != 0bv32); {2010#true} is VALID [2022-02-20 16:48:29,511 INFO L290 TraceCheckUtils]: 11: Hoare triple {2010#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, 4bv32);~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, 4bv32); {2010#true} is VALID [2022-02-20 16:48:29,511 INFO L290 TraceCheckUtils]: 10: Hoare triple {2010#true} call write~$Pointer$(0bv32, 0bv32, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset, 4bv32);call write~$Pointer$(0bv32, 0bv32, alloc_or_die_master_~ptr~1#1.base, ~bvadd32(4bv32, alloc_or_die_master_~ptr~1#1.offset), 4bv32);call write~$Pointer$(0bv32, 0bv32, alloc_or_die_master_~ptr~1#1.base, ~bvadd32(8bv32, alloc_or_die_master_~ptr~1#1.offset), 4bv32);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; {2010#true} is VALID [2022-02-20 16:48:29,511 INFO L290 TraceCheckUtils]: 9: Hoare triple {2010#true} assume !(alloc_or_die_master_~ptr~1#1.base == 0bv32 && alloc_or_die_master_~ptr~1#1.offset == 0bv32); {2010#true} is VALID [2022-02-20 16:48:29,511 INFO L290 TraceCheckUtils]: 8: Hoare triple {2010#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(12bv32);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; {2010#true} is VALID [2022-02-20 16:48:29,511 INFO L272 TraceCheckUtils]: 7: Hoare triple {2010#true} call dll_insert_master(#~10#1.base, #~10#1.offset); {2010#true} is VALID [2022-02-20 16:48:29,511 INFO L290 TraceCheckUtils]: 6: Hoare triple {2010#true} assume #in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset; {2010#true} is VALID [2022-02-20 16:48:29,512 INFO L290 TraceCheckUtils]: 5: Hoare triple {2010#true} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2010#true} is VALID [2022-02-20 16:48:29,512 INFO L272 TraceCheckUtils]: 4: Hoare triple {2010#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {2010#true} is VALID [2022-02-20 16:48:29,512 INFO L290 TraceCheckUtils]: 3: Hoare triple {2010#true} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#dll~0.base, ~#dll~0.offset, 4bv32); {2010#true} is VALID [2022-02-20 16:48:29,512 INFO L272 TraceCheckUtils]: 2: Hoare triple {2010#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); {2010#true} is VALID [2022-02-20 16:48:29,512 INFO L290 TraceCheckUtils]: 1: Hoare triple {2010#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; {2010#true} is VALID [2022-02-20 16:48:29,512 INFO L290 TraceCheckUtils]: 0: Hoare triple {2010#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(15bv32, 2bv32); {2010#true} is VALID [2022-02-20 16:48:29,513 INFO L134 CoverageAnalysis]: Checked inductivity of 131 backedges. 30 proven. 2 refuted. 0 times theorem prover too weak. 99 trivial. 0 not checked. [2022-02-20 16:48:29,513 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:48:29,513 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [111377814] [2022-02-20 16:48:29,513 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [111377814] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 16:48:29,513 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 16:48:29,513 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 15] total 18 [2022-02-20 16:48:29,514 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1839568946] [2022-02-20 16:48:29,514 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 16:48:29,514 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 17 states have (on average 2.823529411764706) internal successors, (48), 16 states have internal predecessors, (48), 5 states have call successors, (10), 3 states have call predecessors, (10), 6 states have return successors, (11), 7 states have call predecessors, (11), 3 states have call successors, (11) Word has length 107 [2022-02-20 16:48:29,515 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:48:29,515 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 18 states, 17 states have (on average 2.823529411764706) internal successors, (48), 16 states have internal predecessors, (48), 5 states have call successors, (10), 3 states have call predecessors, (10), 6 states have return successors, (11), 7 states have call predecessors, (11), 3 states have call successors, (11) [2022-02-20 16:48:29,613 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 63 inductive. 0 not inductive. 6 times theorem prover too weak to decide inductivity. [2022-02-20 16:48:29,614 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-02-20 16:48:29,614 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:48:29,614 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-02-20 16:48:29,614 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=258, Unknown=12, NotChecked=0, Total=306 [2022-02-20 16:48:29,615 INFO L87 Difference]: Start difference. First operand 131 states and 162 transitions. Second operand has 18 states, 17 states have (on average 2.823529411764706) internal successors, (48), 16 states have internal predecessors, (48), 5 states have call successors, (10), 3 states have call predecessors, (10), 6 states have return successors, (11), 7 states have call predecessors, (11), 3 states have call successors, (11) [2022-02-20 16:48:32,850 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:48:32,850 INFO L93 Difference]: Finished difference Result 298 states and 375 transitions. [2022-02-20 16:48:32,850 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-02-20 16:48:32,850 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 17 states have (on average 2.823529411764706) internal successors, (48), 16 states have internal predecessors, (48), 5 states have call successors, (10), 3 states have call predecessors, (10), 6 states have return successors, (11), 7 states have call predecessors, (11), 3 states have call successors, (11) Word has length 107 [2022-02-20 16:48:32,851 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:48:32,851 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 17 states have (on average 2.823529411764706) internal successors, (48), 16 states have internal predecessors, (48), 5 states have call successors, (10), 3 states have call predecessors, (10), 6 states have return successors, (11), 7 states have call predecessors, (11), 3 states have call successors, (11) [2022-02-20 16:48:32,854 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 365 transitions. [2022-02-20 16:48:32,854 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 17 states have (on average 2.823529411764706) internal successors, (48), 16 states have internal predecessors, (48), 5 states have call successors, (10), 3 states have call predecessors, (10), 6 states have return successors, (11), 7 states have call predecessors, (11), 3 states have call successors, (11) [2022-02-20 16:48:32,861 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 365 transitions. [2022-02-20 16:48:32,862 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 365 transitions. [2022-02-20 16:48:33,140 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 365 edges. 358 inductive. 0 not inductive. 7 times theorem prover too weak to decide inductivity. [2022-02-20 16:48:33,144 INFO L225 Difference]: With dead ends: 298 [2022-02-20 16:48:33,145 INFO L226 Difference]: Without dead ends: 245 [2022-02-20 16:48:33,145 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 218 GetRequests, 197 SyntacticMatches, 0 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 15 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=63, Invalid=431, Unknown=12, NotChecked=0, Total=506 [2022-02-20 16:48:33,146 INFO L933 BasicCegarLoop]: 136 mSDtfsCounter, 172 mSDsluCounter, 1844 mSDsCounter, 0 mSdLazyCounter, 304 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 174 SdHoareTripleChecker+Valid, 1980 SdHoareTripleChecker+Invalid, 416 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 304 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 105 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-02-20 16:48:33,146 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [174 Valid, 1980 Invalid, 416 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 304 Invalid, 0 Unknown, 105 Unchecked, 0.6s Time] [2022-02-20 16:48:33,147 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 245 states. [2022-02-20 16:48:33,155 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 245 to 162. [2022-02-20 16:48:33,155 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:48:33,156 INFO L82 GeneralOperation]: Start isEquivalent. First operand 245 states. Second operand has 162 states, 124 states have (on average 1.2661290322580645) internal successors, (157), 141 states have internal predecessors, (157), 28 states have call successors, (28), 9 states have call predecessors, (28), 9 states have return successors, (15), 14 states have call predecessors, (15), 14 states have call successors, (15) [2022-02-20 16:48:33,156 INFO L74 IsIncluded]: Start isIncluded. First operand 245 states. Second operand has 162 states, 124 states have (on average 1.2661290322580645) internal successors, (157), 141 states have internal predecessors, (157), 28 states have call successors, (28), 9 states have call predecessors, (28), 9 states have return successors, (15), 14 states have call predecessors, (15), 14 states have call successors, (15) [2022-02-20 16:48:33,156 INFO L87 Difference]: Start difference. First operand 245 states. Second operand has 162 states, 124 states have (on average 1.2661290322580645) internal successors, (157), 141 states have internal predecessors, (157), 28 states have call successors, (28), 9 states have call predecessors, (28), 9 states have return successors, (15), 14 states have call predecessors, (15), 14 states have call successors, (15) [2022-02-20 16:48:33,162 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:48:33,162 INFO L93 Difference]: Finished difference Result 245 states and 307 transitions. [2022-02-20 16:48:33,163 INFO L276 IsEmpty]: Start isEmpty. Operand 245 states and 307 transitions. [2022-02-20 16:48:33,163 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:48:33,163 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:48:33,164 INFO L74 IsIncluded]: Start isIncluded. First operand has 162 states, 124 states have (on average 1.2661290322580645) internal successors, (157), 141 states have internal predecessors, (157), 28 states have call successors, (28), 9 states have call predecessors, (28), 9 states have return successors, (15), 14 states have call predecessors, (15), 14 states have call successors, (15) Second operand 245 states. [2022-02-20 16:48:33,164 INFO L87 Difference]: Start difference. First operand has 162 states, 124 states have (on average 1.2661290322580645) internal successors, (157), 141 states have internal predecessors, (157), 28 states have call successors, (28), 9 states have call predecessors, (28), 9 states have return successors, (15), 14 states have call predecessors, (15), 14 states have call successors, (15) Second operand 245 states. [2022-02-20 16:48:33,170 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:48:33,170 INFO L93 Difference]: Finished difference Result 245 states and 307 transitions. [2022-02-20 16:48:33,170 INFO L276 IsEmpty]: Start isEmpty. Operand 245 states and 307 transitions. [2022-02-20 16:48:33,171 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:48:33,171 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:48:33,171 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:48:33,171 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:48:33,172 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 162 states, 124 states have (on average 1.2661290322580645) internal successors, (157), 141 states have internal predecessors, (157), 28 states have call successors, (28), 9 states have call predecessors, (28), 9 states have return successors, (15), 14 states have call predecessors, (15), 14 states have call successors, (15) [2022-02-20 16:48:33,176 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 162 states to 162 states and 200 transitions. [2022-02-20 16:48:33,176 INFO L78 Accepts]: Start accepts. Automaton has 162 states and 200 transitions. Word has length 107 [2022-02-20 16:48:33,176 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:48:33,176 INFO L470 AbstractCegarLoop]: Abstraction has 162 states and 200 transitions. [2022-02-20 16:48:33,177 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 17 states have (on average 2.823529411764706) internal successors, (48), 16 states have internal predecessors, (48), 5 states have call successors, (10), 3 states have call predecessors, (10), 6 states have return successors, (11), 7 states have call predecessors, (11), 3 states have call successors, (11) [2022-02-20 16:48:33,177 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 200 transitions. [2022-02-20 16:48:33,178 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-02-20 16:48:33,178 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:48:33,178 INFO L514 BasicCegarLoop]: trace histogram [6, 6, 4, 4, 4, 4, 4, 4, 4, 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:33,191 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (4)] Forceful destruction successful, exit code 0 [2022-02-20 16:48:33,390 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 16:48:33,393 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting failErr0ASSERT_VIOLATIONERROR_FUNCTION === [failErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:48:33,393 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:48:33,393 INFO L85 PathProgramCache]: Analyzing trace with hash -2083518563, now seen corresponding path program 1 times [2022-02-20 16:48:33,394 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:48:33,394 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1905001525] [2022-02-20 16:48:33,394 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:48:33,394 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:48:33,394 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:48:33,395 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 16:48:33,397 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (5)] Waiting until timeout for monitored process [2022-02-20 16:48:33,835 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:33,857 INFO L263 TraceCheckSpWp]: Trace formula consists of 692 conjuncts, 33 conjunts are in the unsatisfiable core [2022-02-20 16:48:33,912 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:33,915 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:48:33,961 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 16:48:34,006 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 16:48:34,228 WARN L860 $PredicateComparison]: unable to prove that (exists ((|##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| (_ BitVec 32)) (v_ArrVal_585 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_586 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (select (select (store |c_old(#memory_$Pointer$.offset)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| v_ArrVal_586) |c_##fun~$Pointer$~TO~VOID_#in~10#1.base|) |c_##fun~$Pointer$~TO~VOID_#in~10#1.offset|) |c_##fun~$Pointer$~TO~VOID_dll_insert_slave_~next~0#1.offset|) (= (select (select (store |c_old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| v_ArrVal_585) |c_##fun~$Pointer$~TO~VOID_#in~10#1.base|) |c_##fun~$Pointer$~TO~VOID_#in~10#1.offset|) |c_##fun~$Pointer$~TO~VOID_dll_insert_slave_~next~0#1.base|) (= (bvneg (select |c_old(#valid)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base|)) (_ bv0 1)))) is different from true [2022-02-20 16:48:34,411 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-02-20 16:48:34,412 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 12 treesize of output 12 [2022-02-20 16:48:34,606 INFO L290 TraceCheckUtils]: 0: Hoare triple {3807#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(15bv32, 2bv32); {3807#true} is VALID [2022-02-20 16:48:34,606 INFO L290 TraceCheckUtils]: 1: Hoare triple {3807#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; {3807#true} is VALID [2022-02-20 16:48:34,606 INFO L272 TraceCheckUtils]: 2: Hoare triple {3807#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); {3807#true} is VALID [2022-02-20 16:48:34,606 INFO L290 TraceCheckUtils]: 3: Hoare triple {3807#true} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#dll~0.base, ~#dll~0.offset, 4bv32); {3807#true} is VALID [2022-02-20 16:48:34,607 INFO L272 TraceCheckUtils]: 4: Hoare triple {3807#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {3807#true} is VALID [2022-02-20 16:48:34,612 INFO L290 TraceCheckUtils]: 5: Hoare triple {3807#true} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {3807#true} is VALID [2022-02-20 16:48:34,612 INFO L290 TraceCheckUtils]: 6: Hoare triple {3807#true} assume #in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset; {3807#true} is VALID [2022-02-20 16:48:34,612 INFO L272 TraceCheckUtils]: 7: Hoare triple {3807#true} call dll_insert_master(#~10#1.base, #~10#1.offset); {3807#true} is VALID [2022-02-20 16:48:34,612 INFO L290 TraceCheckUtils]: 8: Hoare triple {3807#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(12bv32);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; {3807#true} is VALID [2022-02-20 16:48:34,612 INFO L290 TraceCheckUtils]: 9: Hoare triple {3807#true} assume !(alloc_or_die_master_~ptr~1#1.base == 0bv32 && alloc_or_die_master_~ptr~1#1.offset == 0bv32); {3807#true} is VALID [2022-02-20 16:48:34,612 INFO L290 TraceCheckUtils]: 10: Hoare triple {3807#true} call write~$Pointer$(0bv32, 0bv32, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset, 4bv32);call write~$Pointer$(0bv32, 0bv32, alloc_or_die_master_~ptr~1#1.base, ~bvadd32(4bv32, alloc_or_die_master_~ptr~1#1.offset), 4bv32);call write~$Pointer$(0bv32, 0bv32, alloc_or_die_master_~ptr~1#1.base, ~bvadd32(8bv32, alloc_or_die_master_~ptr~1#1.offset), 4bv32);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; {3807#true} is VALID [2022-02-20 16:48:34,613 INFO L290 TraceCheckUtils]: 11: Hoare triple {3807#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, 4bv32);~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, 4bv32); {3807#true} is VALID [2022-02-20 16:48:34,613 INFO L290 TraceCheckUtils]: 12: Hoare triple {3807#true} assume !(~next~3#1.base != 0bv32 || ~next~3#1.offset != 0bv32); {3807#true} is VALID [2022-02-20 16:48:34,613 INFO L272 TraceCheckUtils]: 13: Hoare triple {3807#true} call #t~ret20#1.base, #t~ret20#1.offset := dll_create_slave(); {3851#(and (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2022-02-20 16:48:34,614 INFO L272 TraceCheckUtils]: 14: Hoare triple {3851#(and (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} call #t~ret12.base, #t~ret12.offset := dll_create_generic(#funAddr~dll_insert_slave.base, #funAddr~dll_insert_slave.offset); {3851#(and (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2022-02-20 16:48:34,616 INFO L290 TraceCheckUtils]: 15: Hoare triple {3851#(and (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#dll~0.base, ~#dll~0.offset, 4bv32); {3858#(and (= (select (select |#memory_$Pointer$.offset| |dll_create_generic_~#dll~0.base|) |dll_create_generic_~#dll~0.offset|) (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| |dll_create_generic_~#dll~0.base|) |dll_create_generic_~#dll~0.offset|) (_ bv0 32)) (= (select |#valid| |dll_create_generic_~#dll~0.base|) (_ bv1 1)) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2022-02-20 16:48:34,617 INFO L272 TraceCheckUtils]: 16: Hoare triple {3858#(and (= (select (select |#memory_$Pointer$.offset| |dll_create_generic_~#dll~0.base|) |dll_create_generic_~#dll~0.offset|) (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| |dll_create_generic_~#dll~0.base|) |dll_create_generic_~#dll~0.offset|) (_ bv0 32)) (= (select |#valid| |dll_create_generic_~#dll~0.base|) (_ bv1 1)) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {3862#(and (= |old(#valid)| |#valid|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2022-02-20 16:48:34,617 INFO L290 TraceCheckUtils]: 17: Hoare triple {3862#(and (= |old(#valid)| |#valid|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {3866#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.base| |##fun~$Pointer$~TO~VOID_#~10#1.base|) (= |old(#valid)| |#valid|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_#~10#1.offset|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2022-02-20 16:48:34,618 INFO L290 TraceCheckUtils]: 18: Hoare triple {3866#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.base| |##fun~$Pointer$~TO~VOID_#~10#1.base|) (= |old(#valid)| |#valid|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_#~10#1.offset|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} 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(8bv32);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; {3870#(and (= |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= (_ bv0 1) (bvneg (select |old(#valid)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base|))) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2022-02-20 16:48:34,618 INFO L290 TraceCheckUtils]: 19: Hoare triple {3870#(and (= |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= (_ bv0 1) (bvneg (select |old(#valid)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base|))) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} assume !(alloc_or_die_slave_~ptr~0#1.base == 0bv32 && alloc_or_die_slave_~ptr~0#1.offset == 0bv32); {3870#(and (= |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= (_ bv0 1) (bvneg (select |old(#valid)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base|))) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2022-02-20 16:48:34,620 INFO L290 TraceCheckUtils]: 20: Hoare triple {3870#(and (= |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= (_ bv0 1) (bvneg (select |old(#valid)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base|))) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} call write~$Pointer$(0bv32, 0bv32, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4bv32);call write~$Pointer$(0bv32, 0bv32, alloc_or_die_slave_~ptr~0#1.base, ~bvadd32(4bv32, alloc_or_die_slave_~ptr~0#1.offset), 4bv32);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; {3877#(and (= |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) (= |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (exists ((|##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| (_ BitVec 32)) (v_ArrVal_585 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_586 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| v_ArrVal_586)) (= (_ bv0 1) (bvneg (select |old(#valid)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base|))) (= (store |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| v_ArrVal_585) |#memory_$Pointer$.base|))))} is VALID [2022-02-20 16:48:34,621 INFO L290 TraceCheckUtils]: 21: Hoare triple {3877#(and (= |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) (= |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (exists ((|##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| (_ BitVec 32)) (v_ArrVal_585 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_586 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| v_ArrVal_586)) (= (_ bv0 1) (bvneg (select |old(#valid)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base|))) (= (store |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| v_ArrVal_585) |#memory_$Pointer$.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, 4bv32);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, 4bv32); {3881#(exists ((|##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| (_ BitVec 32)) (v_ArrVal_585 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_586 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= |##fun~$Pointer$~TO~VOID_dll_insert_slave_~next~0#1.offset| (select (select (store |old(#memory_$Pointer$.offset)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| v_ArrVal_586) |##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| (select (select (store |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| v_ArrVal_585) |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|)) (= (_ bv0 1) (bvneg (select |old(#valid)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base|)))))} is VALID [2022-02-20 16:48:34,623 INFO L290 TraceCheckUtils]: 22: Hoare triple {3881#(exists ((|##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| (_ BitVec 32)) (v_ArrVal_585 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_586 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= |##fun~$Pointer$~TO~VOID_dll_insert_slave_~next~0#1.offset| (select (select (store |old(#memory_$Pointer$.offset)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| v_ArrVal_586) |##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| (select (select (store |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| v_ArrVal_585) |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|)) (= (_ bv0 1) (bvneg (select |old(#valid)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base|)))))} assume dll_insert_slave_~next~0#1.base != 0bv32 || dll_insert_slave_~next~0#1.offset != 0bv32;call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, ~bvadd32(4bv32, dll_insert_slave_~next~0#1.offset), 4bv32); {3885#(exists ((|##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| (_ BitVec 32))) (and (or (exists ((v_ArrVal_586 (Array (_ BitVec 32) (_ BitVec 32)))) (not (= (select (select (store |old(#memory_$Pointer$.offset)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| v_ArrVal_586) |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) (_ bv0 32)))) (exists ((v_ArrVal_585 (Array (_ BitVec 32) (_ BitVec 32)))) (not (= (select (select (store |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| v_ArrVal_585) |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) (_ bv0 32))))) (= (_ bv0 1) (bvneg (select |old(#valid)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base|)))))} is VALID [2022-02-20 16:48:34,624 INFO L290 TraceCheckUtils]: 23: Hoare triple {3885#(exists ((|##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| (_ BitVec 32))) (and (or (exists ((v_ArrVal_586 (Array (_ BitVec 32) (_ BitVec 32)))) (not (= (select (select (store |old(#memory_$Pointer$.offset)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| v_ArrVal_586) |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) (_ bv0 32)))) (exists ((v_ArrVal_585 (Array (_ BitVec 32) (_ BitVec 32)))) (not (= (select (select (store |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| v_ArrVal_585) |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) (_ bv0 32))))) (= (_ bv0 1) (bvneg (select |old(#valid)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#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, 4bv32); {3885#(exists ((|##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| (_ BitVec 32))) (and (or (exists ((v_ArrVal_586 (Array (_ BitVec 32) (_ BitVec 32)))) (not (= (select (select (store |old(#memory_$Pointer$.offset)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| v_ArrVal_586) |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) (_ bv0 32)))) (exists ((v_ArrVal_585 (Array (_ BitVec 32) (_ BitVec 32)))) (not (= (select (select (store |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| v_ArrVal_585) |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) (_ bv0 32))))) (= (_ bv0 1) (bvneg (select |old(#valid)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base|)))))} is VALID [2022-02-20 16:48:34,624 INFO L290 TraceCheckUtils]: 24: Hoare triple {3885#(exists ((|##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| (_ BitVec 32))) (and (or (exists ((v_ArrVal_586 (Array (_ BitVec 32) (_ BitVec 32)))) (not (= (select (select (store |old(#memory_$Pointer$.offset)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| v_ArrVal_586) |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) (_ bv0 32)))) (exists ((v_ArrVal_585 (Array (_ BitVec 32) (_ BitVec 32)))) (not (= (select (select (store |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| v_ArrVal_585) |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) (_ bv0 32))))) (= (_ bv0 1) (bvneg (select |old(#valid)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base|)))))} assume { :end_inline_dll_insert_slave } true; {3885#(exists ((|##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| (_ BitVec 32))) (and (or (exists ((v_ArrVal_586 (Array (_ BitVec 32) (_ BitVec 32)))) (not (= (select (select (store |old(#memory_$Pointer$.offset)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| v_ArrVal_586) |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) (_ bv0 32)))) (exists ((v_ArrVal_585 (Array (_ BitVec 32) (_ BitVec 32)))) (not (= (select (select (store |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| v_ArrVal_585) |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) (_ bv0 32))))) (= (_ bv0 1) (bvneg (select |old(#valid)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base|)))))} is VALID [2022-02-20 16:48:34,625 INFO L290 TraceCheckUtils]: 25: Hoare triple {3885#(exists ((|##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| (_ BitVec 32))) (and (or (exists ((v_ArrVal_586 (Array (_ BitVec 32) (_ BitVec 32)))) (not (= (select (select (store |old(#memory_$Pointer$.offset)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| v_ArrVal_586) |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) (_ bv0 32)))) (exists ((v_ArrVal_585 (Array (_ BitVec 32) (_ BitVec 32)))) (not (= (select (select (store |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| v_ArrVal_585) |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) (_ bv0 32))))) (= (_ bv0 1) (bvneg (select |old(#valid)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base|)))))} assume true; {3885#(exists ((|##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| (_ BitVec 32))) (and (or (exists ((v_ArrVal_586 (Array (_ BitVec 32) (_ BitVec 32)))) (not (= (select (select (store |old(#memory_$Pointer$.offset)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| v_ArrVal_586) |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) (_ bv0 32)))) (exists ((v_ArrVal_585 (Array (_ BitVec 32) (_ BitVec 32)))) (not (= (select (select (store |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| v_ArrVal_585) |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) (_ bv0 32))))) (= (_ bv0 1) (bvneg (select |old(#valid)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base|)))))} is VALID [2022-02-20 16:48:34,627 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3885#(exists ((|##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| (_ BitVec 32))) (and (or (exists ((v_ArrVal_586 (Array (_ BitVec 32) (_ BitVec 32)))) (not (= (select (select (store |old(#memory_$Pointer$.offset)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| v_ArrVal_586) |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) (_ bv0 32)))) (exists ((v_ArrVal_585 (Array (_ BitVec 32) (_ BitVec 32)))) (not (= (select (select (store |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| v_ArrVal_585) |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) (_ bv0 32))))) (= (_ bv0 1) (bvneg (select |old(#valid)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base|)))))} {3858#(and (= (select (select |#memory_$Pointer$.offset| |dll_create_generic_~#dll~0.base|) |dll_create_generic_~#dll~0.offset|) (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| |dll_create_generic_~#dll~0.base|) |dll_create_generic_~#dll~0.offset|) (_ bv0 32)) (= (select |#valid| |dll_create_generic_~#dll~0.base|) (_ bv1 1)) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} #449#return; {3808#false} is VALID [2022-02-20 16:48:34,627 INFO L272 TraceCheckUtils]: 27: Hoare triple {3808#false} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {3808#false} is VALID [2022-02-20 16:48:34,628 INFO L290 TraceCheckUtils]: 28: Hoare triple {3808#false} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {3808#false} is VALID [2022-02-20 16:48:34,628 INFO L290 TraceCheckUtils]: 29: Hoare triple {3808#false} 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(8bv32);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; {3808#false} is VALID [2022-02-20 16:48:34,628 INFO L290 TraceCheckUtils]: 30: Hoare triple {3808#false} assume !(alloc_or_die_slave_~ptr~0#1.base == 0bv32 && alloc_or_die_slave_~ptr~0#1.offset == 0bv32); {3808#false} is VALID [2022-02-20 16:48:34,628 INFO L290 TraceCheckUtils]: 31: Hoare triple {3808#false} call write~$Pointer$(0bv32, 0bv32, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4bv32);call write~$Pointer$(0bv32, 0bv32, alloc_or_die_slave_~ptr~0#1.base, ~bvadd32(4bv32, alloc_or_die_slave_~ptr~0#1.offset), 4bv32);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; {3808#false} is VALID [2022-02-20 16:48:34,628 INFO L290 TraceCheckUtils]: 32: Hoare triple {3808#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, 4bv32);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, 4bv32); {3808#false} is VALID [2022-02-20 16:48:34,628 INFO L290 TraceCheckUtils]: 33: Hoare triple {3808#false} assume dll_insert_slave_~next~0#1.base != 0bv32 || dll_insert_slave_~next~0#1.offset != 0bv32;call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, ~bvadd32(4bv32, dll_insert_slave_~next~0#1.offset), 4bv32); {3808#false} is VALID [2022-02-20 16:48:34,628 INFO L290 TraceCheckUtils]: 34: Hoare triple {3808#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, 4bv32); {3808#false} is VALID [2022-02-20 16:48:34,628 INFO L290 TraceCheckUtils]: 35: Hoare triple {3808#false} assume { :end_inline_dll_insert_slave } true; {3808#false} is VALID [2022-02-20 16:48:34,629 INFO L290 TraceCheckUtils]: 36: Hoare triple {3808#false} assume true; {3808#false} is VALID [2022-02-20 16:48:34,629 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3808#false} {3808#false} #451#return; {3808#false} is VALID [2022-02-20 16:48:34,629 INFO L290 TraceCheckUtils]: 38: Hoare triple {3808#false} assume !(0bv32 != #t~nondet9);havoc #t~nondet9; {3808#false} is VALID [2022-02-20 16:48:34,629 INFO L290 TraceCheckUtils]: 39: Hoare triple {3808#false} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4bv32);#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; {3808#false} is VALID [2022-02-20 16:48:34,629 INFO L290 TraceCheckUtils]: 40: Hoare triple {3808#false} assume true; {3808#false} is VALID [2022-02-20 16:48:34,629 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3808#false} {3851#(and (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} #445#return; {3808#false} is VALID [2022-02-20 16:48:34,629 INFO L290 TraceCheckUtils]: 42: Hoare triple {3808#false} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {3808#false} is VALID [2022-02-20 16:48:34,630 INFO L290 TraceCheckUtils]: 43: Hoare triple {3808#false} assume true; {3808#false} is VALID [2022-02-20 16:48:34,630 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {3808#false} {3807#true} #447#return; {3808#false} is VALID [2022-02-20 16:48:34,630 INFO L290 TraceCheckUtils]: 45: Hoare triple {3808#false} call write~$Pointer$(#t~ret20#1.base, #t~ret20#1.offset, ~item~1#1.base, ~bvadd32(8bv32, ~item~1#1.offset), 4bv32);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, 4bv32); {3808#false} is VALID [2022-02-20 16:48:34,630 INFO L290 TraceCheckUtils]: 46: Hoare triple {3808#false} assume true; {3808#false} is VALID [2022-02-20 16:48:34,630 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {3808#false} {3807#true} #455#return; {3808#false} is VALID [2022-02-20 16:48:34,630 INFO L290 TraceCheckUtils]: 48: Hoare triple {3808#false} assume true; {3808#false} is VALID [2022-02-20 16:48:34,632 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {3808#false} {3807#true} #449#return; {3808#false} is VALID [2022-02-20 16:48:34,632 INFO L272 TraceCheckUtils]: 50: Hoare triple {3808#false} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {3808#false} is VALID [2022-02-20 16:48:34,637 INFO L290 TraceCheckUtils]: 51: Hoare triple {3808#false} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {3808#false} is VALID [2022-02-20 16:48:34,638 INFO L290 TraceCheckUtils]: 52: Hoare triple {3808#false} assume #in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset; {3808#false} is VALID [2022-02-20 16:48:34,639 INFO L272 TraceCheckUtils]: 53: Hoare triple {3808#false} call dll_insert_master(#~10#1.base, #~10#1.offset); {3808#false} is VALID [2022-02-20 16:48:34,640 INFO L290 TraceCheckUtils]: 54: Hoare triple {3808#false} ~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(12bv32);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; {3808#false} is VALID [2022-02-20 16:48:34,640 INFO L290 TraceCheckUtils]: 55: Hoare triple {3808#false} assume !(alloc_or_die_master_~ptr~1#1.base == 0bv32 && alloc_or_die_master_~ptr~1#1.offset == 0bv32); {3808#false} is VALID [2022-02-20 16:48:34,640 INFO L290 TraceCheckUtils]: 56: Hoare triple {3808#false} call write~$Pointer$(0bv32, 0bv32, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset, 4bv32);call write~$Pointer$(0bv32, 0bv32, alloc_or_die_master_~ptr~1#1.base, ~bvadd32(4bv32, alloc_or_die_master_~ptr~1#1.offset), 4bv32);call write~$Pointer$(0bv32, 0bv32, alloc_or_die_master_~ptr~1#1.base, ~bvadd32(8bv32, alloc_or_die_master_~ptr~1#1.offset), 4bv32);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; {3808#false} is VALID [2022-02-20 16:48:34,640 INFO L290 TraceCheckUtils]: 57: Hoare triple {3808#false} #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, 4bv32);~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, 4bv32); {3808#false} is VALID [2022-02-20 16:48:34,640 INFO L290 TraceCheckUtils]: 58: Hoare triple {3808#false} assume !(~next~3#1.base != 0bv32 || ~next~3#1.offset != 0bv32); {3808#false} is VALID [2022-02-20 16:48:34,640 INFO L272 TraceCheckUtils]: 59: Hoare triple {3808#false} call #t~ret20#1.base, #t~ret20#1.offset := dll_create_slave(); {3808#false} is VALID [2022-02-20 16:48:34,641 INFO L272 TraceCheckUtils]: 60: Hoare triple {3808#false} call #t~ret12.base, #t~ret12.offset := dll_create_generic(#funAddr~dll_insert_slave.base, #funAddr~dll_insert_slave.offset); {3808#false} is VALID [2022-02-20 16:48:34,641 INFO L290 TraceCheckUtils]: 61: Hoare triple {3808#false} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#dll~0.base, ~#dll~0.offset, 4bv32); {3808#false} is VALID [2022-02-20 16:48:34,641 INFO L272 TraceCheckUtils]: 62: Hoare triple {3808#false} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {3808#false} is VALID [2022-02-20 16:48:34,641 INFO L290 TraceCheckUtils]: 63: Hoare triple {3808#false} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {3808#false} is VALID [2022-02-20 16:48:34,641 INFO L290 TraceCheckUtils]: 64: Hoare triple {3808#false} 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(8bv32);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; {3808#false} is VALID [2022-02-20 16:48:34,641 INFO L290 TraceCheckUtils]: 65: Hoare triple {3808#false} assume !(alloc_or_die_slave_~ptr~0#1.base == 0bv32 && alloc_or_die_slave_~ptr~0#1.offset == 0bv32); {3808#false} is VALID [2022-02-20 16:48:34,641 INFO L290 TraceCheckUtils]: 66: Hoare triple {3808#false} call write~$Pointer$(0bv32, 0bv32, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4bv32);call write~$Pointer$(0bv32, 0bv32, alloc_or_die_slave_~ptr~0#1.base, ~bvadd32(4bv32, alloc_or_die_slave_~ptr~0#1.offset), 4bv32);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; {3808#false} is VALID [2022-02-20 16:48:34,641 INFO L290 TraceCheckUtils]: 67: Hoare triple {3808#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, 4bv32);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, 4bv32); {3808#false} is VALID [2022-02-20 16:48:34,642 INFO L290 TraceCheckUtils]: 68: Hoare triple {3808#false} assume dll_insert_slave_~next~0#1.base != 0bv32 || dll_insert_slave_~next~0#1.offset != 0bv32;call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, ~bvadd32(4bv32, dll_insert_slave_~next~0#1.offset), 4bv32); {3808#false} is VALID [2022-02-20 16:48:34,642 INFO L290 TraceCheckUtils]: 69: Hoare triple {3808#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, 4bv32); {3808#false} is VALID [2022-02-20 16:48:34,642 INFO L290 TraceCheckUtils]: 70: Hoare triple {3808#false} assume { :end_inline_dll_insert_slave } true; {3808#false} is VALID [2022-02-20 16:48:34,642 INFO L290 TraceCheckUtils]: 71: Hoare triple {3808#false} assume true; {3808#false} is VALID [2022-02-20 16:48:34,642 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {3808#false} {3808#false} #449#return; {3808#false} is VALID [2022-02-20 16:48:34,642 INFO L272 TraceCheckUtils]: 73: Hoare triple {3808#false} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {3808#false} is VALID [2022-02-20 16:48:34,642 INFO L290 TraceCheckUtils]: 74: Hoare triple {3808#false} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {3808#false} is VALID [2022-02-20 16:48:34,642 INFO L290 TraceCheckUtils]: 75: Hoare triple {3808#false} 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(8bv32);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; {3808#false} is VALID [2022-02-20 16:48:34,643 INFO L290 TraceCheckUtils]: 76: Hoare triple {3808#false} assume !(alloc_or_die_slave_~ptr~0#1.base == 0bv32 && alloc_or_die_slave_~ptr~0#1.offset == 0bv32); {3808#false} is VALID [2022-02-20 16:48:34,643 INFO L290 TraceCheckUtils]: 77: Hoare triple {3808#false} call write~$Pointer$(0bv32, 0bv32, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4bv32);call write~$Pointer$(0bv32, 0bv32, alloc_or_die_slave_~ptr~0#1.base, ~bvadd32(4bv32, alloc_or_die_slave_~ptr~0#1.offset), 4bv32);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; {3808#false} is VALID [2022-02-20 16:48:34,643 INFO L290 TraceCheckUtils]: 78: Hoare triple {3808#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, 4bv32);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, 4bv32); {3808#false} is VALID [2022-02-20 16:48:34,643 INFO L290 TraceCheckUtils]: 79: Hoare triple {3808#false} assume dll_insert_slave_~next~0#1.base != 0bv32 || dll_insert_slave_~next~0#1.offset != 0bv32;call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, ~bvadd32(4bv32, dll_insert_slave_~next~0#1.offset), 4bv32); {3808#false} is VALID [2022-02-20 16:48:34,643 INFO L290 TraceCheckUtils]: 80: Hoare triple {3808#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, 4bv32); {3808#false} is VALID [2022-02-20 16:48:34,643 INFO L290 TraceCheckUtils]: 81: Hoare triple {3808#false} assume { :end_inline_dll_insert_slave } true; {3808#false} is VALID [2022-02-20 16:48:34,643 INFO L290 TraceCheckUtils]: 82: Hoare triple {3808#false} assume true; {3808#false} is VALID [2022-02-20 16:48:34,643 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {3808#false} {3808#false} #451#return; {3808#false} is VALID [2022-02-20 16:48:34,644 INFO L290 TraceCheckUtils]: 84: Hoare triple {3808#false} assume !(0bv32 != #t~nondet9);havoc #t~nondet9; {3808#false} is VALID [2022-02-20 16:48:34,644 INFO L290 TraceCheckUtils]: 85: Hoare triple {3808#false} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4bv32);#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; {3808#false} is VALID [2022-02-20 16:48:34,644 INFO L290 TraceCheckUtils]: 86: Hoare triple {3808#false} assume true; {3808#false} is VALID [2022-02-20 16:48:34,644 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {3808#false} {3808#false} #445#return; {3808#false} is VALID [2022-02-20 16:48:34,644 INFO L290 TraceCheckUtils]: 88: Hoare triple {3808#false} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {3808#false} is VALID [2022-02-20 16:48:34,644 INFO L290 TraceCheckUtils]: 89: Hoare triple {3808#false} assume true; {3808#false} is VALID [2022-02-20 16:48:34,644 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {3808#false} {3808#false} #447#return; {3808#false} is VALID [2022-02-20 16:48:34,644 INFO L290 TraceCheckUtils]: 91: Hoare triple {3808#false} call write~$Pointer$(#t~ret20#1.base, #t~ret20#1.offset, ~item~1#1.base, ~bvadd32(8bv32, ~item~1#1.offset), 4bv32);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, 4bv32); {3808#false} is VALID [2022-02-20 16:48:34,645 INFO L290 TraceCheckUtils]: 92: Hoare triple {3808#false} assume true; {3808#false} is VALID [2022-02-20 16:48:34,645 INFO L284 TraceCheckUtils]: 93: Hoare quadruple {3808#false} {3808#false} #455#return; {3808#false} is VALID [2022-02-20 16:48:34,645 INFO L290 TraceCheckUtils]: 94: Hoare triple {3808#false} assume true; {3808#false} is VALID [2022-02-20 16:48:34,645 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {3808#false} {3808#false} #451#return; {3808#false} is VALID [2022-02-20 16:48:34,645 INFO L290 TraceCheckUtils]: 96: Hoare triple {3808#false} assume !(0bv32 != #t~nondet9);havoc #t~nondet9; {3808#false} is VALID [2022-02-20 16:48:34,645 INFO L290 TraceCheckUtils]: 97: Hoare triple {3808#false} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4bv32);#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; {3808#false} is VALID [2022-02-20 16:48:34,645 INFO L290 TraceCheckUtils]: 98: Hoare triple {3808#false} assume true; {3808#false} is VALID [2022-02-20 16:48:34,645 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {3808#false} {3807#true} #469#return; {3808#false} is VALID [2022-02-20 16:48:34,646 INFO L290 TraceCheckUtils]: 100: Hoare triple {3808#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; {3808#false} is VALID [2022-02-20 16:48:34,646 INFO L290 TraceCheckUtils]: 101: Hoare triple {3808#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; {3808#false} is VALID [2022-02-20 16:48:34,646 INFO L272 TraceCheckUtils]: 102: Hoare triple {3808#false} call inspect_base(inspect_full_~dll#1.base, inspect_full_~dll#1.offset); {3808#false} is VALID [2022-02-20 16:48:34,646 INFO L290 TraceCheckUtils]: 103: Hoare triple {3808#false} ~dll.base, ~dll.offset := #in~dll.base, #in~dll.offset; {3808#false} is VALID [2022-02-20 16:48:34,649 INFO L290 TraceCheckUtils]: 104: Hoare triple {3808#false} assume !(~dll.base == 0bv32 && ~dll.offset == 0bv32); {3808#false} is VALID [2022-02-20 16:48:34,650 INFO L290 TraceCheckUtils]: 105: Hoare triple {3808#false} goto; {3808#false} is VALID [2022-02-20 16:48:34,650 INFO L290 TraceCheckUtils]: 106: Hoare triple {3808#false} call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~dll.base, ~dll.offset, 4bv32); {3808#false} is VALID [2022-02-20 16:48:34,650 INFO L290 TraceCheckUtils]: 107: Hoare triple {3808#false} assume #t~mem22.base == 0bv32 && #t~mem22.offset == 0bv32;havoc #t~mem22.base, #t~mem22.offset; {3808#false} is VALID [2022-02-20 16:48:34,650 INFO L272 TraceCheckUtils]: 108: Hoare triple {3808#false} call fail(); {3808#false} is VALID [2022-02-20 16:48:34,650 INFO L290 TraceCheckUtils]: 109: Hoare triple {3808#false} assume !false; {3808#false} is VALID [2022-02-20 16:48:34,651 INFO L134 CoverageAnalysis]: Checked inductivity of 131 backedges. 60 proven. 0 refuted. 0 times theorem prover too weak. 71 trivial. 0 not checked. [2022-02-20 16:48:34,651 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 16:48:34,651 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:48:34,651 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1905001525] [2022-02-20 16:48:34,651 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1905001525] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:48:34,651 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:48:34,652 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-02-20 16:48:34,652 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [411260561] [2022-02-20 16:48:34,652 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:48:34,652 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 5.666666666666667) internal successors, (51), 8 states have internal predecessors, (51), 4 states have call successors, (13), 4 states have call predecessors, (13), 2 states have return successors, (11), 1 states have call predecessors, (11), 4 states have call successors, (11) Word has length 110 [2022-02-20 16:48:34,653 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:48:34,653 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 10 states, 9 states have (on average 5.666666666666667) internal successors, (51), 8 states have internal predecessors, (51), 4 states have call successors, (13), 4 states have call predecessors, (13), 2 states have return successors, (11), 1 states have call predecessors, (11), 4 states have call successors, (11) [2022-02-20 16:48:34,726 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:48:34,726 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-02-20 16:48:34,726 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:48:34,726 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-02-20 16:48:34,726 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=50, Unknown=4, NotChecked=14, Total=90 [2022-02-20 16:48:34,727 INFO L87 Difference]: Start difference. First operand 162 states and 200 transitions. Second operand has 10 states, 9 states have (on average 5.666666666666667) internal successors, (51), 8 states have internal predecessors, (51), 4 states have call successors, (13), 4 states have call predecessors, (13), 2 states have return successors, (11), 1 states have call predecessors, (11), 4 states have call successors, (11) [2022-02-20 16:48:39,835 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:48:39,835 INFO L93 Difference]: Finished difference Result 323 states and 406 transitions. [2022-02-20 16:48:39,835 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-20 16:48:39,836 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 5.666666666666667) internal successors, (51), 8 states have internal predecessors, (51), 4 states have call successors, (13), 4 states have call predecessors, (13), 2 states have return successors, (11), 1 states have call predecessors, (11), 4 states have call successors, (11) Word has length 110 [2022-02-20 16:48:39,836 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:48:39,836 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 5.666666666666667) internal successors, (51), 8 states have internal predecessors, (51), 4 states have call successors, (13), 4 states have call predecessors, (13), 2 states have return successors, (11), 1 states have call predecessors, (11), 4 states have call successors, (11) [2022-02-20 16:48:39,839 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 305 transitions. [2022-02-20 16:48:39,839 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 5.666666666666667) internal successors, (51), 8 states have internal predecessors, (51), 4 states have call successors, (13), 4 states have call predecessors, (13), 2 states have return successors, (11), 1 states have call predecessors, (11), 4 states have call successors, (11) [2022-02-20 16:48:39,847 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 305 transitions. [2022-02-20 16:48:39,847 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 305 transitions. [2022-02-20 16:48:40,069 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 305 edges. 305 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:48:40,071 INFO L225 Difference]: With dead ends: 323 [2022-02-20 16:48:40,071 INFO L226 Difference]: Without dead ends: 166 [2022-02-20 16:48:40,072 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 109 GetRequests, 101 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=22, Invalid=50, Unknown=4, NotChecked=14, Total=90 [2022-02-20 16:48:40,072 INFO L933 BasicCegarLoop]: 130 mSDtfsCounter, 35 mSDsluCounter, 239 mSDsCounter, 0 mSdLazyCounter, 244 mSolverCounterSat, 27 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 369 SdHoareTripleChecker+Invalid, 575 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 27 IncrementalHoareTripleChecker+Valid, 244 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 304 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 16:48:40,073 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [35 Valid, 369 Invalid, 575 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [27 Valid, 244 Invalid, 0 Unknown, 304 Unchecked, 0.3s Time] [2022-02-20 16:48:40,073 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 166 states. [2022-02-20 16:48:40,082 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 166 to 166. [2022-02-20 16:48:40,082 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:48:40,082 INFO L82 GeneralOperation]: Start isEquivalent. First operand 166 states. Second operand has 166 states, 127 states have (on average 1.2598425196850394) internal successors, (160), 145 states have internal predecessors, (160), 28 states have call successors, (28), 9 states have call predecessors, (28), 10 states have return successors, (17), 14 states have call predecessors, (17), 14 states have call successors, (17) [2022-02-20 16:48:40,083 INFO L74 IsIncluded]: Start isIncluded. First operand 166 states. Second operand has 166 states, 127 states have (on average 1.2598425196850394) internal successors, (160), 145 states have internal predecessors, (160), 28 states have call successors, (28), 9 states have call predecessors, (28), 10 states have return successors, (17), 14 states have call predecessors, (17), 14 states have call successors, (17) [2022-02-20 16:48:40,083 INFO L87 Difference]: Start difference. First operand 166 states. Second operand has 166 states, 127 states have (on average 1.2598425196850394) internal successors, (160), 145 states have internal predecessors, (160), 28 states have call successors, (28), 9 states have call predecessors, (28), 10 states have return successors, (17), 14 states have call predecessors, (17), 14 states have call successors, (17) [2022-02-20 16:48:40,087 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:48:40,087 INFO L93 Difference]: Finished difference Result 166 states and 205 transitions. [2022-02-20 16:48:40,087 INFO L276 IsEmpty]: Start isEmpty. Operand 166 states and 205 transitions. [2022-02-20 16:48:40,088 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:48:40,088 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:48:40,088 INFO L74 IsIncluded]: Start isIncluded. First operand has 166 states, 127 states have (on average 1.2598425196850394) internal successors, (160), 145 states have internal predecessors, (160), 28 states have call successors, (28), 9 states have call predecessors, (28), 10 states have return successors, (17), 14 states have call predecessors, (17), 14 states have call successors, (17) Second operand 166 states. [2022-02-20 16:48:40,089 INFO L87 Difference]: Start difference. First operand has 166 states, 127 states have (on average 1.2598425196850394) internal successors, (160), 145 states have internal predecessors, (160), 28 states have call successors, (28), 9 states have call predecessors, (28), 10 states have return successors, (17), 14 states have call predecessors, (17), 14 states have call successors, (17) Second operand 166 states. [2022-02-20 16:48:40,092 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:48:40,092 INFO L93 Difference]: Finished difference Result 166 states and 205 transitions. [2022-02-20 16:48:40,093 INFO L276 IsEmpty]: Start isEmpty. Operand 166 states and 205 transitions. [2022-02-20 16:48:40,093 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:48:40,093 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:48:40,093 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:48:40,093 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:48:40,094 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 166 states, 127 states have (on average 1.2598425196850394) internal successors, (160), 145 states have internal predecessors, (160), 28 states have call successors, (28), 9 states have call predecessors, (28), 10 states have return successors, (17), 14 states have call predecessors, (17), 14 states have call successors, (17) [2022-02-20 16:48:40,097 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 166 states to 166 states and 205 transitions. [2022-02-20 16:48:40,098 INFO L78 Accepts]: Start accepts. Automaton has 166 states and 205 transitions. Word has length 110 [2022-02-20 16:48:40,098 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:48:40,098 INFO L470 AbstractCegarLoop]: Abstraction has 166 states and 205 transitions. [2022-02-20 16:48:40,098 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 5.666666666666667) internal successors, (51), 8 states have internal predecessors, (51), 4 states have call successors, (13), 4 states have call predecessors, (13), 2 states have return successors, (11), 1 states have call predecessors, (11), 4 states have call successors, (11) [2022-02-20 16:48:40,098 INFO L276 IsEmpty]: Start isEmpty. Operand 166 states and 205 transitions. [2022-02-20 16:48:40,099 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-02-20 16:48:40,099 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:48:40,099 INFO L514 BasicCegarLoop]: trace histogram [6, 6, 4, 4, 4, 4, 4, 4, 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, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:48:40,132 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (5)] Forceful destruction successful, exit code 0 [2022-02-20 16:48:40,315 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 16:48:40,315 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting failErr0ASSERT_VIOLATIONERROR_FUNCTION === [failErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:48:40,316 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:48:40,316 INFO L85 PathProgramCache]: Analyzing trace with hash 1464901529, now seen corresponding path program 1 times [2022-02-20 16:48:40,316 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:48:40,316 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [419898937] [2022-02-20 16:48:40,316 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:48:40,317 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:48:40,317 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:48:40,317 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 16:48:40,318 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (6)] Waiting until timeout for monitored process [2022-02-20 16:48:40,712 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:40,734 INFO L263 TraceCheckSpWp]: Trace formula consists of 676 conjuncts, 60 conjunts are in the unsatisfiable core [2022-02-20 16:48:40,769 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:40,771 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:48:41,013 INFO L356 Elim1Store]: treesize reduction 26, result has 42.2 percent of original size [2022-02-20 16:48:41,014 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:41,024 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:41,031 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:41,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, 2 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 66 treesize of output 19 [2022-02-20 16:48:41,069 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 9 treesize of output 7 [2022-02-20 16:48:41,138 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 21 treesize of output 15 [2022-02-20 16:48:41,617 INFO L356 Elim1Store]: treesize reduction 26, result has 42.2 percent of original size [2022-02-20 16:48:41,617 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 2 stores, 1 select indices, 1 select index equivalence classes, 0 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:41,683 INFO L356 Elim1Store]: treesize reduction 26, result has 42.2 percent of original size [2022-02-20 16:48:41,684 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 2 stores, 1 select indices, 1 select index equivalence classes, 0 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:41,700 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 7 [2022-02-20 16:48:41,710 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 7 [2022-02-20 16:48:41,723 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 11 [2022-02-20 16:48:41,731 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 7 [2022-02-20 16:48:41,802 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 16:48:41,804 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 16:48:41,805 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 66 treesize of output 19 [2022-02-20 16:48:41,918 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 62 treesize of output 15 [2022-02-20 16:48:41,925 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 5 treesize of output 3