./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/verifythis/tree_del_rec.c --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/verifythis/tree_del_rec.c -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 448d6e9f7f0c094a8335d652a2766ae983308e33ec1a543ceaed97ae79744722 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 18:18:08,077 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 18:18:08,079 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 18:18:08,116 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 18:18:08,117 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 18:18:08,118 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 18:18:08,119 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 18:18:08,124 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 18:18:08,125 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 18:18:08,130 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 18:18:08,131 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 18:18:08,132 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 18:18:08,133 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 18:18:08,136 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 18:18:08,137 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 18:18:08,139 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 18:18:08,140 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 18:18:08,143 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 18:18:08,144 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 18:18:08,148 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 18:18:08,150 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 18:18:08,151 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 18:18:08,152 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 18:18:08,153 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 18:18:08,155 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 18:18:08,155 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 18:18:08,155 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 18:18:08,156 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 18:18:08,156 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 18:18:08,157 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 18:18:08,157 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 18:18:08,158 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 18:18:08,159 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 18:18:08,159 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 18:18:08,160 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 18:18:08,160 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 18:18:08,161 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 18:18:08,161 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 18:18:08,161 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 18:18:08,162 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 18:18:08,162 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 18:18:08,164 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2022-02-20 18:18:08,198 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 18:18:08,199 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 18:18:08,199 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 18:18:08,199 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 18:18:08,200 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 18:18:08,200 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 18:18:08,201 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 18:18:08,201 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 18:18:08,201 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 18:18:08,202 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 18:18:08,202 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 18:18:08,203 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 18:18:08,203 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 18:18:08,203 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 18:18:08,203 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 18:18:08,203 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 18:18:08,204 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 18:18:08,204 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 18:18:08,204 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 18:18:08,204 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 18:18:08,205 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 18:18:08,205 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 18:18:08,205 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 18:18:08,205 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 18:18:08,205 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 18:18:08,206 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 18:18:08,206 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 18:18:08,206 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 18:18:08,206 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 18:18:08,207 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 18:18:08,207 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 18:18:08,207 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 18:18:08,207 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 18:18:08,208 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 -> 448d6e9f7f0c094a8335d652a2766ae983308e33ec1a543ceaed97ae79744722 [2022-02-20 18:18:08,457 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 18:18:08,484 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 18:18:08,487 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 18:18:08,488 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 18:18:08,489 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 18:18:08,490 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/verifythis/tree_del_rec.c [2022-02-20 18:18:08,556 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7e1d6cd59/746361af07d54c989758c71d6987e656/FLAG5cb84296d [2022-02-20 18:18:08,927 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 18:18:08,927 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/verifythis/tree_del_rec.c [2022-02-20 18:18:08,932 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7e1d6cd59/746361af07d54c989758c71d6987e656/FLAG5cb84296d [2022-02-20 18:18:09,330 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7e1d6cd59/746361af07d54c989758c71d6987e656 [2022-02-20 18:18:09,333 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 18:18:09,334 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 18:18:09,339 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 18:18:09,340 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 18:18:09,343 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 18:18:09,344 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 06:18:09" (1/1) ... [2022-02-20 18:18:09,345 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@1eac1a1b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:18:09, skipping insertion in model container [2022-02-20 18:18:09,346 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 06:18:09" (1/1) ... [2022-02-20 18:18:09,352 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 18:18:09,370 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 18:18:09,515 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/verifythis/tree_del_rec.c[585,598] [2022-02-20 18:18:09,550 WARN L1545 CHandler]: Possible shadowing of function min [2022-02-20 18:18:09,557 WARN L1545 CHandler]: Possible shadowing of function min [2022-02-20 18:18:09,583 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 18:18:09,606 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 18:18:09,622 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/verifythis/tree_del_rec.c[585,598] [2022-02-20 18:18:09,639 WARN L1545 CHandler]: Possible shadowing of function min [2022-02-20 18:18:09,651 WARN L1545 CHandler]: Possible shadowing of function min [2022-02-20 18:18:09,661 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 18:18:09,682 INFO L208 MainTranslator]: Completed translation [2022-02-20 18:18:09,682 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:18:09 WrapperNode [2022-02-20 18:18:09,683 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 18:18:09,685 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 18:18:09,685 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 18:18:09,685 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 18:18:09,692 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:18:09" (1/1) ... [2022-02-20 18:18:09,712 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:18:09" (1/1) ... [2022-02-20 18:18:09,739 INFO L137 Inliner]: procedures = 29, calls = 61, calls flagged for inlining = 4, calls inlined = 4, statements flattened = 74 [2022-02-20 18:18:09,740 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 18:18:09,741 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 18:18:09,741 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 18:18:09,741 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 18:18:09,748 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:18:09" (1/1) ... [2022-02-20 18:18:09,749 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:18:09" (1/1) ... [2022-02-20 18:18:09,763 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:18:09" (1/1) ... [2022-02-20 18:18:09,764 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:18:09" (1/1) ... [2022-02-20 18:18:09,774 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:18:09" (1/1) ... [2022-02-20 18:18:09,778 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:18:09" (1/1) ... [2022-02-20 18:18:09,780 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:18:09" (1/1) ... [2022-02-20 18:18:09,783 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 18:18:09,784 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 18:18:09,784 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 18:18:09,784 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 18:18:09,785 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:18:09" (1/1) ... [2022-02-20 18:18:09,798 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 18:18:09,807 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 18:18:09,817 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 18:18:09,826 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 18:18:09,849 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 18:18:09,849 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-02-20 18:18:09,849 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2022-02-20 18:18:09,850 INFO L130 BoogieDeclarations]: Found specification of procedure tree_del [2022-02-20 18:18:09,850 INFO L138 BoogieDeclarations]: Found implementation of procedure tree_del [2022-02-20 18:18:09,850 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-02-20 18:18:09,850 INFO L130 BoogieDeclarations]: Found specification of procedure min [2022-02-20 18:18:09,850 INFO L138 BoogieDeclarations]: Found implementation of procedure min [2022-02-20 18:18:09,851 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-02-20 18:18:09,852 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.meminit [2022-02-20 18:18:09,852 INFO L138 BoogieDeclarations]: Found implementation of procedure #Ultimate.meminit [2022-02-20 18:18:09,852 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2022-02-20 18:18:09,852 INFO L130 BoogieDeclarations]: Found specification of procedure nondet_tree [2022-02-20 18:18:09,852 INFO L138 BoogieDeclarations]: Found implementation of procedure nondet_tree [2022-02-20 18:18:09,852 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 18:18:09,852 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2022-02-20 18:18:09,852 INFO L130 BoogieDeclarations]: Found specification of procedure size [2022-02-20 18:18:09,852 INFO L138 BoogieDeclarations]: Found implementation of procedure size [2022-02-20 18:18:09,853 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 18:18:09,853 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 18:18:09,853 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-02-20 18:18:09,853 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-02-20 18:18:09,853 INFO L130 BoogieDeclarations]: Found specification of procedure tree_inorder [2022-02-20 18:18:09,853 INFO L138 BoogieDeclarations]: Found implementation of procedure tree_inorder [2022-02-20 18:18:09,853 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 18:18:09,959 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 18:18:09,961 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 18:18:10,304 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 18:18:10,324 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 18:18:10,324 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-02-20 18:18:10,326 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 06:18:10 BoogieIcfgContainer [2022-02-20 18:18:10,326 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 18:18:10,328 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 18:18:10,328 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 18:18:10,331 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 18:18:10,332 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 06:18:09" (1/3) ... [2022-02-20 18:18:10,333 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@75230a36 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 06:18:10, skipping insertion in model container [2022-02-20 18:18:10,333 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:18:09" (2/3) ... [2022-02-20 18:18:10,333 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@75230a36 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 06:18:10, skipping insertion in model container [2022-02-20 18:18:10,333 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 06:18:10" (3/3) ... [2022-02-20 18:18:10,339 INFO L111 eAbstractionObserver]: Analyzing ICFG tree_del_rec.c [2022-02-20 18:18:10,344 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 18:18:10,345 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 18:18:10,386 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 18:18:10,394 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 18:18:10,394 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-02-20 18:18:10,426 INFO L276 IsEmpty]: Start isEmpty. Operand has 86 states, 55 states have (on average 1.2545454545454546) internal successors, (69), 56 states have internal predecessors, (69), 22 states have call successors, (22), 7 states have call predecessors, (22), 7 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) [2022-02-20 18:18:10,434 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-02-20 18:18:10,435 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:18:10,435 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:18:10,436 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:18:10,444 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:18:10,445 INFO L85 PathProgramCache]: Analyzing trace with hash 909892653, now seen corresponding path program 1 times [2022-02-20 18:18:10,453 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 18:18:10,454 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1700782315] [2022-02-20 18:18:10,455 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:18:10,455 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 18:18:10,650 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:10,800 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:18:10,809 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:10,831 INFO L290 TraceCheckUtils]: 0: Hoare triple {111#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} assume 0 != #t~nondet5 % 256;havoc #t~nondet5;#res.base, #res.offset := 0, 0; {89#true} is VALID [2022-02-20 18:18:10,831 INFO L290 TraceCheckUtils]: 1: Hoare triple {89#true} assume true; {89#true} is VALID [2022-02-20 18:18:10,832 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {89#true} {89#true} #149#return; {89#true} is VALID [2022-02-20 18:18:10,832 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-02-20 18:18:10,843 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:10,851 INFO L290 TraceCheckUtils]: 0: Hoare triple {89#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {89#true} is VALID [2022-02-20 18:18:10,851 INFO L290 TraceCheckUtils]: 1: Hoare triple {89#true} assume ~n.base == 0 && ~n.offset == 0;#res := 2147483647; {89#true} is VALID [2022-02-20 18:18:10,851 INFO L290 TraceCheckUtils]: 2: Hoare triple {89#true} assume true; {89#true} is VALID [2022-02-20 18:18:10,852 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {89#true} {89#true} #151#return; {89#true} is VALID [2022-02-20 18:18:10,852 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-02-20 18:18:10,860 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:10,886 INFO L290 TraceCheckUtils]: 0: Hoare triple {89#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {89#true} is VALID [2022-02-20 18:18:10,887 INFO L290 TraceCheckUtils]: 1: Hoare triple {89#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {112#(= |size_#res| 0)} is VALID [2022-02-20 18:18:10,888 INFO L290 TraceCheckUtils]: 2: Hoare triple {112#(= |size_#res| 0)} assume true; {112#(= |size_#res| 0)} is VALID [2022-02-20 18:18:10,890 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {112#(= |size_#res| 0)} {89#true} #153#return; {102#(= |ULTIMATE.start_task_#t~ret31#1| 0)} is VALID [2022-02-20 18:18:10,897 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 21 [2022-02-20 18:18:10,908 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:10,917 INFO L290 TraceCheckUtils]: 0: Hoare triple {113#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {89#true} is VALID [2022-02-20 18:18:10,918 INFO L290 TraceCheckUtils]: 1: Hoare triple {89#true} assume true; {89#true} is VALID [2022-02-20 18:18:10,919 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {89#true} {90#false} #155#return; {90#false} is VALID [2022-02-20 18:18:10,931 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-02-20 18:18:10,940 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:10,948 INFO L290 TraceCheckUtils]: 0: Hoare triple {114#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~t.base, ~t.offset := #in~t.base, #in~t.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~i := #in~i; {89#true} is VALID [2022-02-20 18:18:10,949 INFO L290 TraceCheckUtils]: 1: Hoare triple {89#true} assume ~t.base == 0 && ~t.offset == 0;#res := ~i; {89#true} is VALID [2022-02-20 18:18:10,949 INFO L290 TraceCheckUtils]: 2: Hoare triple {89#true} assume true; {89#true} is VALID [2022-02-20 18:18:10,949 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {89#true} {90#false} #157#return; {90#false} is VALID [2022-02-20 18:18:10,950 INFO L290 TraceCheckUtils]: 0: Hoare triple {89#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);call #Ultimate.allocInit(12, 3); {89#true} is VALID [2022-02-20 18:18:10,951 INFO L290 TraceCheckUtils]: 1: Hoare triple {89#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret43#1.base, main_#t~ret43#1.offset; {89#true} is VALID [2022-02-20 18:18:10,956 INFO L272 TraceCheckUtils]: 2: Hoare triple {89#true} call main_#t~ret43#1.base, main_#t~ret43#1.offset := nondet_tree(); {111#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 18:18:10,956 INFO L290 TraceCheckUtils]: 3: Hoare triple {111#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} assume 0 != #t~nondet5 % 256;havoc #t~nondet5;#res.base, #res.offset := 0, 0; {89#true} is VALID [2022-02-20 18:18:10,957 INFO L290 TraceCheckUtils]: 4: Hoare triple {89#true} assume true; {89#true} is VALID [2022-02-20 18:18:10,958 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {89#true} {89#true} #149#return; {89#true} is VALID [2022-02-20 18:18:10,959 INFO L290 TraceCheckUtils]: 6: Hoare triple {89#true} assume { :begin_inline_task } true;task_#in~t#1.base, task_#in~t#1.offset := main_#t~ret43#1.base, main_#t~ret43#1.offset;havoc task_#t~ret30#1, task_#t~ret31#1, task_#t~malloc32#1.base, task_#t~malloc32#1.offset, task_#t~ret33#1, task_#t~mem34#1, task_#t~ret35#1.base, task_#t~ret35#1.offset, task_#t~mem36#1, task_#t~ret37#1, task_#t~malloc38#1.base, task_#t~malloc38#1.offset, task_#t~ret39#1, task_#t~mem41#1, task_#t~mem42#1, task_#t~post40#1, task_~t#1.base, task_~t#1.offset, task_~a~1#1, task_~#b~1#1.base, task_~#b~1#1.offset, task_~n~1#1, task_~x~0#1.base, task_~x~0#1.offset, task_~r~1#1.base, task_~r~1#1.offset, task_~m~0#1, task_~y~0#1.base, task_~y~0#1.offset, task_~i~0#1;task_~t#1.base, task_~t#1.offset := task_#in~t#1.base, task_#in~t#1.offset; {89#true} is VALID [2022-02-20 18:18:10,959 INFO L272 TraceCheckUtils]: 7: Hoare triple {89#true} call task_#t~ret30#1 := min(task_~t#1.base, task_~t#1.offset); {89#true} is VALID [2022-02-20 18:18:10,959 INFO L290 TraceCheckUtils]: 8: Hoare triple {89#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {89#true} is VALID [2022-02-20 18:18:10,960 INFO L290 TraceCheckUtils]: 9: Hoare triple {89#true} assume ~n.base == 0 && ~n.offset == 0;#res := 2147483647; {89#true} is VALID [2022-02-20 18:18:10,960 INFO L290 TraceCheckUtils]: 10: Hoare triple {89#true} assume true; {89#true} is VALID [2022-02-20 18:18:10,960 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {89#true} {89#true} #151#return; {89#true} is VALID [2022-02-20 18:18:10,960 INFO L290 TraceCheckUtils]: 12: Hoare triple {89#true} assume -2147483648 <= task_#t~ret30#1 && task_#t~ret30#1 <= 2147483647;task_~a~1#1 := task_#t~ret30#1;havoc task_#t~ret30#1;call task_~#b~1#1.base, task_~#b~1#1.offset := #Ultimate.allocOnStack(4); {89#true} is VALID [2022-02-20 18:18:10,961 INFO L272 TraceCheckUtils]: 13: Hoare triple {89#true} call task_#t~ret31#1 := size(task_~t#1.base, task_~t#1.offset); {89#true} is VALID [2022-02-20 18:18:10,961 INFO L290 TraceCheckUtils]: 14: Hoare triple {89#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {89#true} is VALID [2022-02-20 18:18:10,962 INFO L290 TraceCheckUtils]: 15: Hoare triple {89#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {112#(= |size_#res| 0)} is VALID [2022-02-20 18:18:10,962 INFO L290 TraceCheckUtils]: 16: Hoare triple {112#(= |size_#res| 0)} assume true; {112#(= |size_#res| 0)} is VALID [2022-02-20 18:18:10,964 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {112#(= |size_#res| 0)} {89#true} #153#return; {102#(= |ULTIMATE.start_task_#t~ret31#1| 0)} is VALID [2022-02-20 18:18:10,966 INFO L290 TraceCheckUtils]: 18: Hoare triple {102#(= |ULTIMATE.start_task_#t~ret31#1| 0)} assume -2147483648 <= task_#t~ret31#1 && task_#t~ret31#1 <= 2147483647;task_~n~1#1 := task_#t~ret31#1;havoc task_#t~ret31#1;assume { :begin_inline_assume_cycle_if_not } true;assume_cycle_if_not_#in~cond#1 := (if 0 != task_~n~1#1 then 1 else 0);havoc assume_cycle_if_not_~cond#1;assume_cycle_if_not_~cond#1 := assume_cycle_if_not_#in~cond#1; {103#(and (= |ULTIMATE.start_assume_cycle_if_not_~cond#1| 0) (= |ULTIMATE.start_task_~n~1#1| 0))} is VALID [2022-02-20 18:18:10,967 INFO L290 TraceCheckUtils]: 19: Hoare triple {103#(and (= |ULTIMATE.start_assume_cycle_if_not_~cond#1| 0) (= |ULTIMATE.start_task_~n~1#1| 0))} assume !(0 == assume_cycle_if_not_~cond#1); {90#false} is VALID [2022-02-20 18:18:10,967 INFO L290 TraceCheckUtils]: 20: Hoare triple {90#false} assume { :end_inline_assume_cycle_if_not } true;call task_#t~malloc32#1.base, task_#t~malloc32#1.offset := #Ultimate.allocOnHeap(4 * task_~n~1#1); {90#false} is VALID [2022-02-20 18:18:10,967 INFO L272 TraceCheckUtils]: 21: Hoare triple {90#false} call #Ultimate.meminit(task_#t~malloc32#1.base, task_#t~malloc32#1.offset, task_~n~1#1, 4, 4 * task_~n~1#1); {113#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-02-20 18:18:10,968 INFO L290 TraceCheckUtils]: 22: Hoare triple {113#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {89#true} is VALID [2022-02-20 18:18:10,969 INFO L290 TraceCheckUtils]: 23: Hoare triple {89#true} assume true; {89#true} is VALID [2022-02-20 18:18:10,969 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {89#true} {90#false} #155#return; {90#false} is VALID [2022-02-20 18:18:10,970 INFO L290 TraceCheckUtils]: 25: Hoare triple {90#false} task_~x~0#1.base, task_~x~0#1.offset := task_#t~malloc32#1.base, task_#t~malloc32#1.offset; {90#false} is VALID [2022-02-20 18:18:10,970 INFO L272 TraceCheckUtils]: 26: Hoare triple {90#false} call task_#t~ret33#1 := tree_inorder(task_~t#1.base, task_~t#1.offset, task_~x~0#1.base, task_~x~0#1.offset, task_~n~1#1); {114#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-02-20 18:18:10,973 INFO L290 TraceCheckUtils]: 27: Hoare triple {114#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~t.base, ~t.offset := #in~t.base, #in~t.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~i := #in~i; {89#true} is VALID [2022-02-20 18:18:10,973 INFO L290 TraceCheckUtils]: 28: Hoare triple {89#true} assume ~t.base == 0 && ~t.offset == 0;#res := ~i; {89#true} is VALID [2022-02-20 18:18:10,973 INFO L290 TraceCheckUtils]: 29: Hoare triple {89#true} assume true; {89#true} is VALID [2022-02-20 18:18:10,977 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {89#true} {90#false} #157#return; {90#false} is VALID [2022-02-20 18:18:10,977 INFO L290 TraceCheckUtils]: 31: Hoare triple {90#false} assume -2147483648 <= task_#t~ret33#1 && task_#t~ret33#1 <= 2147483647;havoc task_#t~ret33#1;call task_#t~mem34#1 := read~int(task_~x~0#1.base, task_~x~0#1.offset, 4); {90#false} is VALID [2022-02-20 18:18:10,978 INFO L272 TraceCheckUtils]: 32: Hoare triple {90#false} call __VERIFIER_assert((if task_~a~1#1 == task_#t~mem34#1 then 1 else 0)); {90#false} is VALID [2022-02-20 18:18:10,978 INFO L290 TraceCheckUtils]: 33: Hoare triple {90#false} ~cond := #in~cond; {90#false} is VALID [2022-02-20 18:18:10,978 INFO L290 TraceCheckUtils]: 34: Hoare triple {90#false} assume 0 == ~cond; {90#false} is VALID [2022-02-20 18:18:10,979 INFO L290 TraceCheckUtils]: 35: Hoare triple {90#false} assume !false; {90#false} is VALID [2022-02-20 18:18:10,982 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 18:18:10,982 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 18:18:10,983 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1700782315] [2022-02-20 18:18:10,983 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1700782315] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 18:18:10,984 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 18:18:10,984 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-02-20 18:18:10,987 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [987691006] [2022-02-20 18:18:10,988 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 18:18:10,996 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.125) internal successors, (25), 4 states have internal predecessors, (25), 2 states have call successors, (6), 5 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 36 [2022-02-20 18:18:10,998 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:18:11,002 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.125) internal successors, (25), 4 states have internal predecessors, (25), 2 states have call successors, (6), 5 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 18:18:11,046 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:18:11,047 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-02-20 18:18:11,047 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 18:18:11,079 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-02-20 18:18:11,080 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-02-20 18:18:11,084 INFO L87 Difference]: Start difference. First operand has 86 states, 55 states have (on average 1.2545454545454546) internal successors, (69), 56 states have internal predecessors, (69), 22 states have call successors, (22), 7 states have call predecessors, (22), 7 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) Second operand has 8 states, 8 states have (on average 3.125) internal successors, (25), 4 states have internal predecessors, (25), 2 states have call successors, (6), 5 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 18:18:12,161 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:18:12,162 INFO L93 Difference]: Finished difference Result 155 states and 212 transitions. [2022-02-20 18:18:12,162 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 18:18:12,163 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.125) internal successors, (25), 4 states have internal predecessors, (25), 2 states have call successors, (6), 5 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 36 [2022-02-20 18:18:12,163 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:18:12,166 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.125) internal successors, (25), 4 states have internal predecessors, (25), 2 states have call successors, (6), 5 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 18:18:12,191 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 212 transitions. [2022-02-20 18:18:12,192 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.125) internal successors, (25), 4 states have internal predecessors, (25), 2 states have call successors, (6), 5 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 18:18:12,198 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 212 transitions. [2022-02-20 18:18:12,198 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 212 transitions. [2022-02-20 18:18:12,432 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 212 edges. 212 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:18:12,447 INFO L225 Difference]: With dead ends: 155 [2022-02-20 18:18:12,447 INFO L226 Difference]: Without dead ends: 87 [2022-02-20 18:18:12,450 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=22, Invalid=50, Unknown=0, NotChecked=0, Total=72 [2022-02-20 18:18:12,453 INFO L933 BasicCegarLoop]: 91 mSDtfsCounter, 32 mSDsluCounter, 205 mSDsCounter, 0 mSdLazyCounter, 251 mSolverCounterSat, 24 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 38 SdHoareTripleChecker+Valid, 296 SdHoareTripleChecker+Invalid, 275 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 24 IncrementalHoareTripleChecker+Valid, 251 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-02-20 18:18:12,454 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [38 Valid, 296 Invalid, 275 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [24 Valid, 251 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-02-20 18:18:12,469 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 87 states. [2022-02-20 18:18:12,489 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 87 to 82. [2022-02-20 18:18:12,489 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:18:12,491 INFO L82 GeneralOperation]: Start isEquivalent. First operand 87 states. Second operand has 82 states, 51 states have (on average 1.1568627450980393) internal successors, (59), 52 states have internal predecessors, (59), 22 states have call successors, (22), 7 states have call predecessors, (22), 8 states have return successors, (25), 22 states have call predecessors, (25), 22 states have call successors, (25) [2022-02-20 18:18:12,492 INFO L74 IsIncluded]: Start isIncluded. First operand 87 states. Second operand has 82 states, 51 states have (on average 1.1568627450980393) internal successors, (59), 52 states have internal predecessors, (59), 22 states have call successors, (22), 7 states have call predecessors, (22), 8 states have return successors, (25), 22 states have call predecessors, (25), 22 states have call successors, (25) [2022-02-20 18:18:12,493 INFO L87 Difference]: Start difference. First operand 87 states. Second operand has 82 states, 51 states have (on average 1.1568627450980393) internal successors, (59), 52 states have internal predecessors, (59), 22 states have call successors, (22), 7 states have call predecessors, (22), 8 states have return successors, (25), 22 states have call predecessors, (25), 22 states have call successors, (25) [2022-02-20 18:18:12,501 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:18:12,501 INFO L93 Difference]: Finished difference Result 87 states and 116 transitions. [2022-02-20 18:18:12,501 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 116 transitions. [2022-02-20 18:18:12,503 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:18:12,503 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:18:12,504 INFO L74 IsIncluded]: Start isIncluded. First operand has 82 states, 51 states have (on average 1.1568627450980393) internal successors, (59), 52 states have internal predecessors, (59), 22 states have call successors, (22), 7 states have call predecessors, (22), 8 states have return successors, (25), 22 states have call predecessors, (25), 22 states have call successors, (25) Second operand 87 states. [2022-02-20 18:18:12,505 INFO L87 Difference]: Start difference. First operand has 82 states, 51 states have (on average 1.1568627450980393) internal successors, (59), 52 states have internal predecessors, (59), 22 states have call successors, (22), 7 states have call predecessors, (22), 8 states have return successors, (25), 22 states have call predecessors, (25), 22 states have call successors, (25) Second operand 87 states. [2022-02-20 18:18:12,512 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:18:12,512 INFO L93 Difference]: Finished difference Result 87 states and 116 transitions. [2022-02-20 18:18:12,512 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 116 transitions. [2022-02-20 18:18:12,514 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:18:12,514 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:18:12,515 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:18:12,515 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:18:12,516 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 82 states, 51 states have (on average 1.1568627450980393) internal successors, (59), 52 states have internal predecessors, (59), 22 states have call successors, (22), 7 states have call predecessors, (22), 8 states have return successors, (25), 22 states have call predecessors, (25), 22 states have call successors, (25) [2022-02-20 18:18:12,520 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 82 states to 82 states and 106 transitions. [2022-02-20 18:18:12,522 INFO L78 Accepts]: Start accepts. Automaton has 82 states and 106 transitions. Word has length 36 [2022-02-20 18:18:12,523 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:18:12,523 INFO L470 AbstractCegarLoop]: Abstraction has 82 states and 106 transitions. [2022-02-20 18:18:12,524 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.125) internal successors, (25), 4 states have internal predecessors, (25), 2 states have call successors, (6), 5 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 18:18:12,524 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 106 transitions. [2022-02-20 18:18:12,526 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-02-20 18:18:12,526 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:18:12,526 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:18:12,526 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 18:18:12,527 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:18:12,527 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:18:12,528 INFO L85 PathProgramCache]: Analyzing trace with hash -1373837682, now seen corresponding path program 1 times [2022-02-20 18:18:12,528 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 18:18:12,528 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [448459986] [2022-02-20 18:18:12,528 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:18:12,529 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 18:18:12,550 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:12,601 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:18:12,606 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:12,661 INFO L290 TraceCheckUtils]: 0: Hoare triple {647#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} assume 0 != #t~nondet5 % 256;havoc #t~nondet5;#res.base, #res.offset := 0, 0; {648#(and (<= |nondet_tree_#res.offset| 0) (<= 0 |nondet_tree_#res.offset|) (<= |nondet_tree_#res.base| 0) (<= 0 |nondet_tree_#res.base|))} is VALID [2022-02-20 18:18:12,662 INFO L290 TraceCheckUtils]: 1: Hoare triple {648#(and (<= |nondet_tree_#res.offset| 0) (<= 0 |nondet_tree_#res.offset|) (<= |nondet_tree_#res.base| 0) (<= 0 |nondet_tree_#res.base|))} assume true; {648#(and (<= |nondet_tree_#res.offset| 0) (<= 0 |nondet_tree_#res.offset|) (<= |nondet_tree_#res.base| 0) (<= 0 |nondet_tree_#res.base|))} is VALID [2022-02-20 18:18:12,665 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {648#(and (<= |nondet_tree_#res.offset| 0) (<= 0 |nondet_tree_#res.offset|) (<= |nondet_tree_#res.base| 0) (<= 0 |nondet_tree_#res.base|))} {613#true} #149#return; {618#(and (= |ULTIMATE.start_main_#t~ret43#1.base| 0) (= |ULTIMATE.start_main_#t~ret43#1.offset| 0))} is VALID [2022-02-20 18:18:12,666 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-02-20 18:18:12,669 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:12,673 INFO L290 TraceCheckUtils]: 0: Hoare triple {613#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {613#true} is VALID [2022-02-20 18:18:12,674 INFO L290 TraceCheckUtils]: 1: Hoare triple {613#true} assume ~n.base == 0 && ~n.offset == 0;#res := 2147483647; {613#true} is VALID [2022-02-20 18:18:12,674 INFO L290 TraceCheckUtils]: 2: Hoare triple {613#true} assume true; {613#true} is VALID [2022-02-20 18:18:12,675 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {613#true} {619#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} #151#return; {619#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 18:18:12,675 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-02-20 18:18:12,683 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:12,739 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:18:12,742 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:12,747 INFO L290 TraceCheckUtils]: 0: Hoare triple {613#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {613#true} is VALID [2022-02-20 18:18:12,747 INFO L290 TraceCheckUtils]: 1: Hoare triple {613#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {613#true} is VALID [2022-02-20 18:18:12,747 INFO L290 TraceCheckUtils]: 2: Hoare triple {613#true} assume true; {613#true} is VALID [2022-02-20 18:18:12,748 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {613#true} {650#(or (not (= |size_#in~t.base| 0)) (and (not (= size_~t.offset 0)) (= |size_#in~t.offset| size_~t.offset)))} #145#return; {650#(or (not (= |size_#in~t.base| 0)) (and (not (= size_~t.offset 0)) (= |size_#in~t.offset| size_~t.offset)))} is VALID [2022-02-20 18:18:12,749 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2022-02-20 18:18:12,751 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:12,755 INFO L290 TraceCheckUtils]: 0: Hoare triple {613#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {613#true} is VALID [2022-02-20 18:18:12,756 INFO L290 TraceCheckUtils]: 1: Hoare triple {613#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {613#true} is VALID [2022-02-20 18:18:12,756 INFO L290 TraceCheckUtils]: 2: Hoare triple {613#true} assume true; {613#true} is VALID [2022-02-20 18:18:12,757 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {613#true} {655#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} #147#return; {655#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-02-20 18:18:12,758 INFO L290 TraceCheckUtils]: 0: Hoare triple {613#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {649#(and (or (= size_~t.offset 0) (= |size_#in~t.offset| size_~t.offset)) (= |size_#in~t.base| size_~t.base))} is VALID [2022-02-20 18:18:12,759 INFO L290 TraceCheckUtils]: 1: Hoare triple {649#(and (or (= size_~t.offset 0) (= |size_#in~t.offset| size_~t.offset)) (= |size_#in~t.base| size_~t.base))} assume !(~t.base == 0 && ~t.offset == 0);call #t~mem26.base, #t~mem26.offset := read~$Pointer$(~t.base, 4 + ~t.offset, 4); {650#(or (not (= |size_#in~t.base| 0)) (and (not (= size_~t.offset 0)) (= |size_#in~t.offset| size_~t.offset)))} is VALID [2022-02-20 18:18:12,759 INFO L272 TraceCheckUtils]: 2: Hoare triple {650#(or (not (= |size_#in~t.base| 0)) (and (not (= size_~t.offset 0)) (= |size_#in~t.offset| size_~t.offset)))} call #t~ret27 := size(#t~mem26.base, #t~mem26.offset); {613#true} is VALID [2022-02-20 18:18:12,759 INFO L290 TraceCheckUtils]: 3: Hoare triple {613#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {613#true} is VALID [2022-02-20 18:18:12,759 INFO L290 TraceCheckUtils]: 4: Hoare triple {613#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {613#true} is VALID [2022-02-20 18:18:12,759 INFO L290 TraceCheckUtils]: 5: Hoare triple {613#true} assume true; {613#true} is VALID [2022-02-20 18:18:12,760 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {613#true} {650#(or (not (= |size_#in~t.base| 0)) (and (not (= size_~t.offset 0)) (= |size_#in~t.offset| size_~t.offset)))} #145#return; {650#(or (not (= |size_#in~t.base| 0)) (and (not (= size_~t.offset 0)) (= |size_#in~t.offset| size_~t.offset)))} is VALID [2022-02-20 18:18:12,761 INFO L290 TraceCheckUtils]: 7: Hoare triple {650#(or (not (= |size_#in~t.base| 0)) (and (not (= size_~t.offset 0)) (= |size_#in~t.offset| size_~t.offset)))} assume -2147483648 <= #t~ret27 && #t~ret27 <= 2147483647;call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~t.base, 8 + ~t.offset, 4); {655#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-02-20 18:18:12,761 INFO L272 TraceCheckUtils]: 8: Hoare triple {655#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} call #t~ret29 := size(#t~mem28.base, #t~mem28.offset); {613#true} is VALID [2022-02-20 18:18:12,761 INFO L290 TraceCheckUtils]: 9: Hoare triple {613#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {613#true} is VALID [2022-02-20 18:18:12,761 INFO L290 TraceCheckUtils]: 10: Hoare triple {613#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {613#true} is VALID [2022-02-20 18:18:12,762 INFO L290 TraceCheckUtils]: 11: Hoare triple {613#true} assume true; {613#true} is VALID [2022-02-20 18:18:12,762 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {613#true} {655#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} #147#return; {655#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-02-20 18:18:12,763 INFO L290 TraceCheckUtils]: 13: Hoare triple {655#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} assume -2147483648 <= #t~ret29 && #t~ret29 <= 2147483647;#res := 1 + (#t~ret27 + #t~ret29);havoc #t~mem26.base, #t~mem26.offset;havoc #t~ret27;havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29; {655#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-02-20 18:18:12,763 INFO L290 TraceCheckUtils]: 14: Hoare triple {655#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} assume true; {655#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-02-20 18:18:12,764 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {655#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} {619#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} #153#return; {614#false} is VALID [2022-02-20 18:18:12,772 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 33 [2022-02-20 18:18:12,774 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:12,778 INFO L290 TraceCheckUtils]: 0: Hoare triple {660#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {613#true} is VALID [2022-02-20 18:18:12,778 INFO L290 TraceCheckUtils]: 1: Hoare triple {613#true} assume true; {613#true} is VALID [2022-02-20 18:18:12,778 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {613#true} {614#false} #155#return; {614#false} is VALID [2022-02-20 18:18:12,792 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-02-20 18:18:12,797 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:12,802 INFO L290 TraceCheckUtils]: 0: Hoare triple {661#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~t.base, ~t.offset := #in~t.base, #in~t.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~i := #in~i; {613#true} is VALID [2022-02-20 18:18:12,803 INFO L290 TraceCheckUtils]: 1: Hoare triple {613#true} assume ~t.base == 0 && ~t.offset == 0;#res := ~i; {613#true} is VALID [2022-02-20 18:18:12,803 INFO L290 TraceCheckUtils]: 2: Hoare triple {613#true} assume true; {613#true} is VALID [2022-02-20 18:18:12,803 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {613#true} {614#false} #157#return; {614#false} is VALID [2022-02-20 18:18:12,803 INFO L290 TraceCheckUtils]: 0: Hoare triple {613#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);call #Ultimate.allocInit(12, 3); {613#true} is VALID [2022-02-20 18:18:12,803 INFO L290 TraceCheckUtils]: 1: Hoare triple {613#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret43#1.base, main_#t~ret43#1.offset; {613#true} is VALID [2022-02-20 18:18:12,804 INFO L272 TraceCheckUtils]: 2: Hoare triple {613#true} call main_#t~ret43#1.base, main_#t~ret43#1.offset := nondet_tree(); {647#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 18:18:12,805 INFO L290 TraceCheckUtils]: 3: Hoare triple {647#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} assume 0 != #t~nondet5 % 256;havoc #t~nondet5;#res.base, #res.offset := 0, 0; {648#(and (<= |nondet_tree_#res.offset| 0) (<= 0 |nondet_tree_#res.offset|) (<= |nondet_tree_#res.base| 0) (<= 0 |nondet_tree_#res.base|))} is VALID [2022-02-20 18:18:12,807 INFO L290 TraceCheckUtils]: 4: Hoare triple {648#(and (<= |nondet_tree_#res.offset| 0) (<= 0 |nondet_tree_#res.offset|) (<= |nondet_tree_#res.base| 0) (<= 0 |nondet_tree_#res.base|))} assume true; {648#(and (<= |nondet_tree_#res.offset| 0) (<= 0 |nondet_tree_#res.offset|) (<= |nondet_tree_#res.base| 0) (<= 0 |nondet_tree_#res.base|))} is VALID [2022-02-20 18:18:12,808 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {648#(and (<= |nondet_tree_#res.offset| 0) (<= 0 |nondet_tree_#res.offset|) (<= |nondet_tree_#res.base| 0) (<= 0 |nondet_tree_#res.base|))} {613#true} #149#return; {618#(and (= |ULTIMATE.start_main_#t~ret43#1.base| 0) (= |ULTIMATE.start_main_#t~ret43#1.offset| 0))} is VALID [2022-02-20 18:18:12,809 INFO L290 TraceCheckUtils]: 6: Hoare triple {618#(and (= |ULTIMATE.start_main_#t~ret43#1.base| 0) (= |ULTIMATE.start_main_#t~ret43#1.offset| 0))} assume { :begin_inline_task } true;task_#in~t#1.base, task_#in~t#1.offset := main_#t~ret43#1.base, main_#t~ret43#1.offset;havoc task_#t~ret30#1, task_#t~ret31#1, task_#t~malloc32#1.base, task_#t~malloc32#1.offset, task_#t~ret33#1, task_#t~mem34#1, task_#t~ret35#1.base, task_#t~ret35#1.offset, task_#t~mem36#1, task_#t~ret37#1, task_#t~malloc38#1.base, task_#t~malloc38#1.offset, task_#t~ret39#1, task_#t~mem41#1, task_#t~mem42#1, task_#t~post40#1, task_~t#1.base, task_~t#1.offset, task_~a~1#1, task_~#b~1#1.base, task_~#b~1#1.offset, task_~n~1#1, task_~x~0#1.base, task_~x~0#1.offset, task_~r~1#1.base, task_~r~1#1.offset, task_~m~0#1, task_~y~0#1.base, task_~y~0#1.offset, task_~i~0#1;task_~t#1.base, task_~t#1.offset := task_#in~t#1.base, task_#in~t#1.offset; {619#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 18:18:12,809 INFO L272 TraceCheckUtils]: 7: Hoare triple {619#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} call task_#t~ret30#1 := min(task_~t#1.base, task_~t#1.offset); {613#true} is VALID [2022-02-20 18:18:12,811 INFO L290 TraceCheckUtils]: 8: Hoare triple {613#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {613#true} is VALID [2022-02-20 18:18:12,811 INFO L290 TraceCheckUtils]: 9: Hoare triple {613#true} assume ~n.base == 0 && ~n.offset == 0;#res := 2147483647; {613#true} is VALID [2022-02-20 18:18:12,811 INFO L290 TraceCheckUtils]: 10: Hoare triple {613#true} assume true; {613#true} is VALID [2022-02-20 18:18:12,812 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {613#true} {619#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} #151#return; {619#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 18:18:12,813 INFO L290 TraceCheckUtils]: 12: Hoare triple {619#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} assume -2147483648 <= task_#t~ret30#1 && task_#t~ret30#1 <= 2147483647;task_~a~1#1 := task_#t~ret30#1;havoc task_#t~ret30#1;call task_~#b~1#1.base, task_~#b~1#1.offset := #Ultimate.allocOnStack(4); {619#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 18:18:12,813 INFO L272 TraceCheckUtils]: 13: Hoare triple {619#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} call task_#t~ret31#1 := size(task_~t#1.base, task_~t#1.offset); {613#true} is VALID [2022-02-20 18:18:12,813 INFO L290 TraceCheckUtils]: 14: Hoare triple {613#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {649#(and (or (= size_~t.offset 0) (= |size_#in~t.offset| size_~t.offset)) (= |size_#in~t.base| size_~t.base))} is VALID [2022-02-20 18:18:12,814 INFO L290 TraceCheckUtils]: 15: Hoare triple {649#(and (or (= size_~t.offset 0) (= |size_#in~t.offset| size_~t.offset)) (= |size_#in~t.base| size_~t.base))} assume !(~t.base == 0 && ~t.offset == 0);call #t~mem26.base, #t~mem26.offset := read~$Pointer$(~t.base, 4 + ~t.offset, 4); {650#(or (not (= |size_#in~t.base| 0)) (and (not (= size_~t.offset 0)) (= |size_#in~t.offset| size_~t.offset)))} is VALID [2022-02-20 18:18:12,814 INFO L272 TraceCheckUtils]: 16: Hoare triple {650#(or (not (= |size_#in~t.base| 0)) (and (not (= size_~t.offset 0)) (= |size_#in~t.offset| size_~t.offset)))} call #t~ret27 := size(#t~mem26.base, #t~mem26.offset); {613#true} is VALID [2022-02-20 18:18:12,814 INFO L290 TraceCheckUtils]: 17: Hoare triple {613#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {613#true} is VALID [2022-02-20 18:18:12,815 INFO L290 TraceCheckUtils]: 18: Hoare triple {613#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {613#true} is VALID [2022-02-20 18:18:12,815 INFO L290 TraceCheckUtils]: 19: Hoare triple {613#true} assume true; {613#true} is VALID [2022-02-20 18:18:12,817 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {613#true} {650#(or (not (= |size_#in~t.base| 0)) (and (not (= size_~t.offset 0)) (= |size_#in~t.offset| size_~t.offset)))} #145#return; {650#(or (not (= |size_#in~t.base| 0)) (and (not (= size_~t.offset 0)) (= |size_#in~t.offset| size_~t.offset)))} is VALID [2022-02-20 18:18:12,817 INFO L290 TraceCheckUtils]: 21: Hoare triple {650#(or (not (= |size_#in~t.base| 0)) (and (not (= size_~t.offset 0)) (= |size_#in~t.offset| size_~t.offset)))} assume -2147483648 <= #t~ret27 && #t~ret27 <= 2147483647;call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~t.base, 8 + ~t.offset, 4); {655#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-02-20 18:18:12,818 INFO L272 TraceCheckUtils]: 22: Hoare triple {655#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} call #t~ret29 := size(#t~mem28.base, #t~mem28.offset); {613#true} is VALID [2022-02-20 18:18:12,818 INFO L290 TraceCheckUtils]: 23: Hoare triple {613#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {613#true} is VALID [2022-02-20 18:18:12,819 INFO L290 TraceCheckUtils]: 24: Hoare triple {613#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {613#true} is VALID [2022-02-20 18:18:12,821 INFO L290 TraceCheckUtils]: 25: Hoare triple {613#true} assume true; {613#true} is VALID [2022-02-20 18:18:12,822 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {613#true} {655#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} #147#return; {655#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-02-20 18:18:12,835 INFO L290 TraceCheckUtils]: 27: Hoare triple {655#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} assume -2147483648 <= #t~ret29 && #t~ret29 <= 2147483647;#res := 1 + (#t~ret27 + #t~ret29);havoc #t~mem26.base, #t~mem26.offset;havoc #t~ret27;havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29; {655#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-02-20 18:18:12,837 INFO L290 TraceCheckUtils]: 28: Hoare triple {655#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} assume true; {655#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-02-20 18:18:12,841 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {655#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} {619#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} #153#return; {614#false} is VALID [2022-02-20 18:18:12,842 INFO L290 TraceCheckUtils]: 30: Hoare triple {614#false} assume -2147483648 <= task_#t~ret31#1 && task_#t~ret31#1 <= 2147483647;task_~n~1#1 := task_#t~ret31#1;havoc task_#t~ret31#1;assume { :begin_inline_assume_cycle_if_not } true;assume_cycle_if_not_#in~cond#1 := (if 0 != task_~n~1#1 then 1 else 0);havoc assume_cycle_if_not_~cond#1;assume_cycle_if_not_~cond#1 := assume_cycle_if_not_#in~cond#1; {614#false} is VALID [2022-02-20 18:18:12,842 INFO L290 TraceCheckUtils]: 31: Hoare triple {614#false} assume !(0 == assume_cycle_if_not_~cond#1); {614#false} is VALID [2022-02-20 18:18:12,842 INFO L290 TraceCheckUtils]: 32: Hoare triple {614#false} assume { :end_inline_assume_cycle_if_not } true;call task_#t~malloc32#1.base, task_#t~malloc32#1.offset := #Ultimate.allocOnHeap(4 * task_~n~1#1); {614#false} is VALID [2022-02-20 18:18:12,842 INFO L272 TraceCheckUtils]: 33: Hoare triple {614#false} call #Ultimate.meminit(task_#t~malloc32#1.base, task_#t~malloc32#1.offset, task_~n~1#1, 4, 4 * task_~n~1#1); {660#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-02-20 18:18:12,842 INFO L290 TraceCheckUtils]: 34: Hoare triple {660#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {613#true} is VALID [2022-02-20 18:18:12,843 INFO L290 TraceCheckUtils]: 35: Hoare triple {613#true} assume true; {613#true} is VALID [2022-02-20 18:18:12,843 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {613#true} {614#false} #155#return; {614#false} is VALID [2022-02-20 18:18:12,843 INFO L290 TraceCheckUtils]: 37: Hoare triple {614#false} task_~x~0#1.base, task_~x~0#1.offset := task_#t~malloc32#1.base, task_#t~malloc32#1.offset; {614#false} is VALID [2022-02-20 18:18:12,843 INFO L272 TraceCheckUtils]: 38: Hoare triple {614#false} call task_#t~ret33#1 := tree_inorder(task_~t#1.base, task_~t#1.offset, task_~x~0#1.base, task_~x~0#1.offset, task_~n~1#1); {661#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-02-20 18:18:12,843 INFO L290 TraceCheckUtils]: 39: Hoare triple {661#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~t.base, ~t.offset := #in~t.base, #in~t.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~i := #in~i; {613#true} is VALID [2022-02-20 18:18:12,843 INFO L290 TraceCheckUtils]: 40: Hoare triple {613#true} assume ~t.base == 0 && ~t.offset == 0;#res := ~i; {613#true} is VALID [2022-02-20 18:18:12,843 INFO L290 TraceCheckUtils]: 41: Hoare triple {613#true} assume true; {613#true} is VALID [2022-02-20 18:18:12,844 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {613#true} {614#false} #157#return; {614#false} is VALID [2022-02-20 18:18:12,844 INFO L290 TraceCheckUtils]: 43: Hoare triple {614#false} assume -2147483648 <= task_#t~ret33#1 && task_#t~ret33#1 <= 2147483647;havoc task_#t~ret33#1;call task_#t~mem34#1 := read~int(task_~x~0#1.base, task_~x~0#1.offset, 4); {614#false} is VALID [2022-02-20 18:18:12,844 INFO L272 TraceCheckUtils]: 44: Hoare triple {614#false} call __VERIFIER_assert((if task_~a~1#1 == task_#t~mem34#1 then 1 else 0)); {614#false} is VALID [2022-02-20 18:18:12,844 INFO L290 TraceCheckUtils]: 45: Hoare triple {614#false} ~cond := #in~cond; {614#false} is VALID [2022-02-20 18:18:12,844 INFO L290 TraceCheckUtils]: 46: Hoare triple {614#false} assume 0 == ~cond; {614#false} is VALID [2022-02-20 18:18:12,844 INFO L290 TraceCheckUtils]: 47: Hoare triple {614#false} assume !false; {614#false} is VALID [2022-02-20 18:18:12,845 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 4 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 18:18:12,845 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 18:18:12,846 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [448459986] [2022-02-20 18:18:12,846 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [448459986] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 18:18:12,846 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1660793294] [2022-02-20 18:18:12,846 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:18:12,846 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 18:18:12,847 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 18:18:12,855 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 18:18:12,885 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 18:18:12,961 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:12,964 INFO L263 TraceCheckSpWp]: Trace formula consists of 245 conjuncts, 25 conjunts are in the unsatisfiable core [2022-02-20 18:18:12,981 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:12,987 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 18:18:13,347 INFO L290 TraceCheckUtils]: 0: Hoare triple {613#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);call #Ultimate.allocInit(12, 3); {613#true} is VALID [2022-02-20 18:18:13,348 INFO L290 TraceCheckUtils]: 1: Hoare triple {613#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret43#1.base, main_#t~ret43#1.offset; {613#true} is VALID [2022-02-20 18:18:13,348 INFO L272 TraceCheckUtils]: 2: Hoare triple {613#true} call main_#t~ret43#1.base, main_#t~ret43#1.offset := nondet_tree(); {613#true} is VALID [2022-02-20 18:18:13,349 INFO L290 TraceCheckUtils]: 3: Hoare triple {613#true} assume 0 != #t~nondet5 % 256;havoc #t~nondet5;#res.base, #res.offset := 0, 0; {648#(and (<= |nondet_tree_#res.offset| 0) (<= 0 |nondet_tree_#res.offset|) (<= |nondet_tree_#res.base| 0) (<= 0 |nondet_tree_#res.base|))} is VALID [2022-02-20 18:18:13,349 INFO L290 TraceCheckUtils]: 4: Hoare triple {648#(and (<= |nondet_tree_#res.offset| 0) (<= 0 |nondet_tree_#res.offset|) (<= |nondet_tree_#res.base| 0) (<= 0 |nondet_tree_#res.base|))} assume true; {648#(and (<= |nondet_tree_#res.offset| 0) (<= 0 |nondet_tree_#res.offset|) (<= |nondet_tree_#res.base| 0) (<= 0 |nondet_tree_#res.base|))} is VALID [2022-02-20 18:18:13,350 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {648#(and (<= |nondet_tree_#res.offset| 0) (<= 0 |nondet_tree_#res.offset|) (<= |nondet_tree_#res.base| 0) (<= 0 |nondet_tree_#res.base|))} {613#true} #149#return; {618#(and (= |ULTIMATE.start_main_#t~ret43#1.base| 0) (= |ULTIMATE.start_main_#t~ret43#1.offset| 0))} is VALID [2022-02-20 18:18:13,351 INFO L290 TraceCheckUtils]: 6: Hoare triple {618#(and (= |ULTIMATE.start_main_#t~ret43#1.base| 0) (= |ULTIMATE.start_main_#t~ret43#1.offset| 0))} assume { :begin_inline_task } true;task_#in~t#1.base, task_#in~t#1.offset := main_#t~ret43#1.base, main_#t~ret43#1.offset;havoc task_#t~ret30#1, task_#t~ret31#1, task_#t~malloc32#1.base, task_#t~malloc32#1.offset, task_#t~ret33#1, task_#t~mem34#1, task_#t~ret35#1.base, task_#t~ret35#1.offset, task_#t~mem36#1, task_#t~ret37#1, task_#t~malloc38#1.base, task_#t~malloc38#1.offset, task_#t~ret39#1, task_#t~mem41#1, task_#t~mem42#1, task_#t~post40#1, task_~t#1.base, task_~t#1.offset, task_~a~1#1, task_~#b~1#1.base, task_~#b~1#1.offset, task_~n~1#1, task_~x~0#1.base, task_~x~0#1.offset, task_~r~1#1.base, task_~r~1#1.offset, task_~m~0#1, task_~y~0#1.base, task_~y~0#1.offset, task_~i~0#1;task_~t#1.base, task_~t#1.offset := task_#in~t#1.base, task_#in~t#1.offset; {619#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 18:18:13,351 INFO L272 TraceCheckUtils]: 7: Hoare triple {619#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} call task_#t~ret30#1 := min(task_~t#1.base, task_~t#1.offset); {613#true} is VALID [2022-02-20 18:18:13,351 INFO L290 TraceCheckUtils]: 8: Hoare triple {613#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {613#true} is VALID [2022-02-20 18:18:13,351 INFO L290 TraceCheckUtils]: 9: Hoare triple {613#true} assume ~n.base == 0 && ~n.offset == 0;#res := 2147483647; {613#true} is VALID [2022-02-20 18:18:13,352 INFO L290 TraceCheckUtils]: 10: Hoare triple {613#true} assume true; {613#true} is VALID [2022-02-20 18:18:13,352 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {613#true} {619#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} #151#return; {619#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 18:18:13,353 INFO L290 TraceCheckUtils]: 12: Hoare triple {619#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} assume -2147483648 <= task_#t~ret30#1 && task_#t~ret30#1 <= 2147483647;task_~a~1#1 := task_#t~ret30#1;havoc task_#t~ret30#1;call task_~#b~1#1.base, task_~#b~1#1.offset := #Ultimate.allocOnStack(4); {619#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 18:18:13,353 INFO L272 TraceCheckUtils]: 13: Hoare triple {619#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} call task_#t~ret31#1 := size(task_~t#1.base, task_~t#1.offset); {613#true} is VALID [2022-02-20 18:18:13,354 INFO L290 TraceCheckUtils]: 14: Hoare triple {613#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {707#(and (= |size_#in~t.offset| size_~t.offset) (= |size_#in~t.base| size_~t.base))} is VALID [2022-02-20 18:18:13,354 INFO L290 TraceCheckUtils]: 15: Hoare triple {707#(and (= |size_#in~t.offset| size_~t.offset) (= |size_#in~t.base| size_~t.base))} assume !(~t.base == 0 && ~t.offset == 0);call #t~mem26.base, #t~mem26.offset := read~$Pointer$(~t.base, 4 + ~t.offset, 4); {655#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-02-20 18:18:13,355 INFO L272 TraceCheckUtils]: 16: Hoare triple {655#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} call #t~ret27 := size(#t~mem26.base, #t~mem26.offset); {613#true} is VALID [2022-02-20 18:18:13,355 INFO L290 TraceCheckUtils]: 17: Hoare triple {613#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {613#true} is VALID [2022-02-20 18:18:13,355 INFO L290 TraceCheckUtils]: 18: Hoare triple {613#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {613#true} is VALID [2022-02-20 18:18:13,355 INFO L290 TraceCheckUtils]: 19: Hoare triple {613#true} assume true; {613#true} is VALID [2022-02-20 18:18:13,356 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {613#true} {655#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} #145#return; {655#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-02-20 18:18:13,356 INFO L290 TraceCheckUtils]: 21: Hoare triple {655#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} assume -2147483648 <= #t~ret27 && #t~ret27 <= 2147483647;call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~t.base, 8 + ~t.offset, 4); {655#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-02-20 18:18:13,357 INFO L272 TraceCheckUtils]: 22: Hoare triple {655#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} call #t~ret29 := size(#t~mem28.base, #t~mem28.offset); {613#true} is VALID [2022-02-20 18:18:13,357 INFO L290 TraceCheckUtils]: 23: Hoare triple {613#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {613#true} is VALID [2022-02-20 18:18:13,357 INFO L290 TraceCheckUtils]: 24: Hoare triple {613#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {613#true} is VALID [2022-02-20 18:18:13,357 INFO L290 TraceCheckUtils]: 25: Hoare triple {613#true} assume true; {613#true} is VALID [2022-02-20 18:18:13,358 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {613#true} {655#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} #147#return; {655#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-02-20 18:18:13,359 INFO L290 TraceCheckUtils]: 27: Hoare triple {655#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} assume -2147483648 <= #t~ret29 && #t~ret29 <= 2147483647;#res := 1 + (#t~ret27 + #t~ret29);havoc #t~mem26.base, #t~mem26.offset;havoc #t~ret27;havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29; {655#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-02-20 18:18:13,359 INFO L290 TraceCheckUtils]: 28: Hoare triple {655#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} assume true; {655#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-02-20 18:18:13,360 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {655#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} {619#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} #153#return; {614#false} is VALID [2022-02-20 18:18:13,360 INFO L290 TraceCheckUtils]: 30: Hoare triple {614#false} assume -2147483648 <= task_#t~ret31#1 && task_#t~ret31#1 <= 2147483647;task_~n~1#1 := task_#t~ret31#1;havoc task_#t~ret31#1;assume { :begin_inline_assume_cycle_if_not } true;assume_cycle_if_not_#in~cond#1 := (if 0 != task_~n~1#1 then 1 else 0);havoc assume_cycle_if_not_~cond#1;assume_cycle_if_not_~cond#1 := assume_cycle_if_not_#in~cond#1; {614#false} is VALID [2022-02-20 18:18:13,360 INFO L290 TraceCheckUtils]: 31: Hoare triple {614#false} assume !(0 == assume_cycle_if_not_~cond#1); {614#false} is VALID [2022-02-20 18:18:13,361 INFO L290 TraceCheckUtils]: 32: Hoare triple {614#false} assume { :end_inline_assume_cycle_if_not } true;call task_#t~malloc32#1.base, task_#t~malloc32#1.offset := #Ultimate.allocOnHeap(4 * task_~n~1#1); {614#false} is VALID [2022-02-20 18:18:13,361 INFO L272 TraceCheckUtils]: 33: Hoare triple {614#false} call #Ultimate.meminit(task_#t~malloc32#1.base, task_#t~malloc32#1.offset, task_~n~1#1, 4, 4 * task_~n~1#1); {614#false} is VALID [2022-02-20 18:18:13,361 INFO L290 TraceCheckUtils]: 34: Hoare triple {614#false} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {614#false} is VALID [2022-02-20 18:18:13,361 INFO L290 TraceCheckUtils]: 35: Hoare triple {614#false} assume true; {614#false} is VALID [2022-02-20 18:18:13,361 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {614#false} {614#false} #155#return; {614#false} is VALID [2022-02-20 18:18:13,362 INFO L290 TraceCheckUtils]: 37: Hoare triple {614#false} task_~x~0#1.base, task_~x~0#1.offset := task_#t~malloc32#1.base, task_#t~malloc32#1.offset; {614#false} is VALID [2022-02-20 18:18:13,362 INFO L272 TraceCheckUtils]: 38: Hoare triple {614#false} call task_#t~ret33#1 := tree_inorder(task_~t#1.base, task_~t#1.offset, task_~x~0#1.base, task_~x~0#1.offset, task_~n~1#1); {614#false} is VALID [2022-02-20 18:18:13,362 INFO L290 TraceCheckUtils]: 39: Hoare triple {614#false} ~t.base, ~t.offset := #in~t.base, #in~t.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~i := #in~i; {614#false} is VALID [2022-02-20 18:18:13,362 INFO L290 TraceCheckUtils]: 40: Hoare triple {614#false} assume ~t.base == 0 && ~t.offset == 0;#res := ~i; {614#false} is VALID [2022-02-20 18:18:13,362 INFO L290 TraceCheckUtils]: 41: Hoare triple {614#false} assume true; {614#false} is VALID [2022-02-20 18:18:13,363 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {614#false} {614#false} #157#return; {614#false} is VALID [2022-02-20 18:18:13,363 INFO L290 TraceCheckUtils]: 43: Hoare triple {614#false} assume -2147483648 <= task_#t~ret33#1 && task_#t~ret33#1 <= 2147483647;havoc task_#t~ret33#1;call task_#t~mem34#1 := read~int(task_~x~0#1.base, task_~x~0#1.offset, 4); {614#false} is VALID [2022-02-20 18:18:13,363 INFO L272 TraceCheckUtils]: 44: Hoare triple {614#false} call __VERIFIER_assert((if task_~a~1#1 == task_#t~mem34#1 then 1 else 0)); {614#false} is VALID [2022-02-20 18:18:13,363 INFO L290 TraceCheckUtils]: 45: Hoare triple {614#false} ~cond := #in~cond; {614#false} is VALID [2022-02-20 18:18:13,363 INFO L290 TraceCheckUtils]: 46: Hoare triple {614#false} assume 0 == ~cond; {614#false} is VALID [2022-02-20 18:18:13,364 INFO L290 TraceCheckUtils]: 47: Hoare triple {614#false} assume !false; {614#false} is VALID [2022-02-20 18:18:13,371 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 4 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 18:18:13,372 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 18:18:13,831 INFO L290 TraceCheckUtils]: 47: Hoare triple {614#false} assume !false; {614#false} is VALID [2022-02-20 18:18:13,832 INFO L290 TraceCheckUtils]: 46: Hoare triple {614#false} assume 0 == ~cond; {614#false} is VALID [2022-02-20 18:18:13,832 INFO L290 TraceCheckUtils]: 45: Hoare triple {614#false} ~cond := #in~cond; {614#false} is VALID [2022-02-20 18:18:13,832 INFO L272 TraceCheckUtils]: 44: Hoare triple {614#false} call __VERIFIER_assert((if task_~a~1#1 == task_#t~mem34#1 then 1 else 0)); {614#false} is VALID [2022-02-20 18:18:13,832 INFO L290 TraceCheckUtils]: 43: Hoare triple {614#false} assume -2147483648 <= task_#t~ret33#1 && task_#t~ret33#1 <= 2147483647;havoc task_#t~ret33#1;call task_#t~mem34#1 := read~int(task_~x~0#1.base, task_~x~0#1.offset, 4); {614#false} is VALID [2022-02-20 18:18:13,833 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {613#true} {614#false} #157#return; {614#false} is VALID [2022-02-20 18:18:13,833 INFO L290 TraceCheckUtils]: 41: Hoare triple {613#true} assume true; {613#true} is VALID [2022-02-20 18:18:13,833 INFO L290 TraceCheckUtils]: 40: Hoare triple {613#true} assume ~t.base == 0 && ~t.offset == 0;#res := ~i; {613#true} is VALID [2022-02-20 18:18:13,833 INFO L290 TraceCheckUtils]: 39: Hoare triple {613#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~i := #in~i; {613#true} is VALID [2022-02-20 18:18:13,833 INFO L272 TraceCheckUtils]: 38: Hoare triple {614#false} call task_#t~ret33#1 := tree_inorder(task_~t#1.base, task_~t#1.offset, task_~x~0#1.base, task_~x~0#1.offset, task_~n~1#1); {613#true} is VALID [2022-02-20 18:18:13,834 INFO L290 TraceCheckUtils]: 37: Hoare triple {614#false} task_~x~0#1.base, task_~x~0#1.offset := task_#t~malloc32#1.base, task_#t~malloc32#1.offset; {614#false} is VALID [2022-02-20 18:18:13,835 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {613#true} {614#false} #155#return; {614#false} is VALID [2022-02-20 18:18:13,835 INFO L290 TraceCheckUtils]: 35: Hoare triple {613#true} assume true; {613#true} is VALID [2022-02-20 18:18:13,835 INFO L290 TraceCheckUtils]: 34: Hoare triple {613#true} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {613#true} is VALID [2022-02-20 18:18:13,835 INFO L272 TraceCheckUtils]: 33: Hoare triple {614#false} call #Ultimate.meminit(task_#t~malloc32#1.base, task_#t~malloc32#1.offset, task_~n~1#1, 4, 4 * task_~n~1#1); {613#true} is VALID [2022-02-20 18:18:13,835 INFO L290 TraceCheckUtils]: 32: Hoare triple {614#false} assume { :end_inline_assume_cycle_if_not } true;call task_#t~malloc32#1.base, task_#t~malloc32#1.offset := #Ultimate.allocOnHeap(4 * task_~n~1#1); {614#false} is VALID [2022-02-20 18:18:13,836 INFO L290 TraceCheckUtils]: 31: Hoare triple {614#false} assume !(0 == assume_cycle_if_not_~cond#1); {614#false} is VALID [2022-02-20 18:18:13,836 INFO L290 TraceCheckUtils]: 30: Hoare triple {614#false} assume -2147483648 <= task_#t~ret31#1 && task_#t~ret31#1 <= 2147483647;task_~n~1#1 := task_#t~ret31#1;havoc task_#t~ret31#1;assume { :begin_inline_assume_cycle_if_not } true;assume_cycle_if_not_#in~cond#1 := (if 0 != task_~n~1#1 then 1 else 0);havoc assume_cycle_if_not_~cond#1;assume_cycle_if_not_~cond#1 := assume_cycle_if_not_#in~cond#1; {614#false} is VALID [2022-02-20 18:18:13,837 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {655#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} {619#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} #153#return; {614#false} is VALID [2022-02-20 18:18:13,838 INFO L290 TraceCheckUtils]: 28: Hoare triple {655#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} assume true; {655#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-02-20 18:18:13,839 INFO L290 TraceCheckUtils]: 27: Hoare triple {655#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} assume -2147483648 <= #t~ret29 && #t~ret29 <= 2147483647;#res := 1 + (#t~ret27 + #t~ret29);havoc #t~mem26.base, #t~mem26.offset;havoc #t~ret27;havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29; {655#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-02-20 18:18:13,839 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {613#true} {655#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} #147#return; {655#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-02-20 18:18:13,840 INFO L290 TraceCheckUtils]: 25: Hoare triple {613#true} assume true; {613#true} is VALID [2022-02-20 18:18:13,840 INFO L290 TraceCheckUtils]: 24: Hoare triple {613#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {613#true} is VALID [2022-02-20 18:18:13,840 INFO L290 TraceCheckUtils]: 23: Hoare triple {613#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {613#true} is VALID [2022-02-20 18:18:13,840 INFO L272 TraceCheckUtils]: 22: Hoare triple {655#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} call #t~ret29 := size(#t~mem28.base, #t~mem28.offset); {613#true} is VALID [2022-02-20 18:18:13,841 INFO L290 TraceCheckUtils]: 21: Hoare triple {655#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} assume -2147483648 <= #t~ret27 && #t~ret27 <= 2147483647;call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~t.base, 8 + ~t.offset, 4); {655#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-02-20 18:18:13,841 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {613#true} {655#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} #145#return; {655#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-02-20 18:18:13,842 INFO L290 TraceCheckUtils]: 19: Hoare triple {613#true} assume true; {613#true} is VALID [2022-02-20 18:18:13,842 INFO L290 TraceCheckUtils]: 18: Hoare triple {613#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {613#true} is VALID [2022-02-20 18:18:13,842 INFO L290 TraceCheckUtils]: 17: Hoare triple {613#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {613#true} is VALID [2022-02-20 18:18:13,842 INFO L272 TraceCheckUtils]: 16: Hoare triple {655#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} call #t~ret27 := size(#t~mem26.base, #t~mem26.offset); {613#true} is VALID [2022-02-20 18:18:13,843 INFO L290 TraceCheckUtils]: 15: Hoare triple {906#(or (not (= |size_#in~t.offset| 0)) (and (= size_~t.offset 0) (= size_~t.base 0)) (not (= |size_#in~t.base| 0)))} assume !(~t.base == 0 && ~t.offset == 0);call #t~mem26.base, #t~mem26.offset := read~$Pointer$(~t.base, 4 + ~t.offset, 4); {655#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-02-20 18:18:13,844 INFO L290 TraceCheckUtils]: 14: Hoare triple {613#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {906#(or (not (= |size_#in~t.offset| 0)) (and (= size_~t.offset 0) (= size_~t.base 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-02-20 18:18:13,844 INFO L272 TraceCheckUtils]: 13: Hoare triple {619#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} call task_#t~ret31#1 := size(task_~t#1.base, task_~t#1.offset); {613#true} is VALID [2022-02-20 18:18:13,844 INFO L290 TraceCheckUtils]: 12: Hoare triple {619#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} assume -2147483648 <= task_#t~ret30#1 && task_#t~ret30#1 <= 2147483647;task_~a~1#1 := task_#t~ret30#1;havoc task_#t~ret30#1;call task_~#b~1#1.base, task_~#b~1#1.offset := #Ultimate.allocOnStack(4); {619#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 18:18:13,845 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {613#true} {619#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} #151#return; {619#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 18:18:13,845 INFO L290 TraceCheckUtils]: 10: Hoare triple {613#true} assume true; {613#true} is VALID [2022-02-20 18:18:13,846 INFO L290 TraceCheckUtils]: 9: Hoare triple {613#true} assume ~n.base == 0 && ~n.offset == 0;#res := 2147483647; {613#true} is VALID [2022-02-20 18:18:13,846 INFO L290 TraceCheckUtils]: 8: Hoare triple {613#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {613#true} is VALID [2022-02-20 18:18:13,846 INFO L272 TraceCheckUtils]: 7: Hoare triple {619#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} call task_#t~ret30#1 := min(task_~t#1.base, task_~t#1.offset); {613#true} is VALID [2022-02-20 18:18:13,847 INFO L290 TraceCheckUtils]: 6: Hoare triple {618#(and (= |ULTIMATE.start_main_#t~ret43#1.base| 0) (= |ULTIMATE.start_main_#t~ret43#1.offset| 0))} assume { :begin_inline_task } true;task_#in~t#1.base, task_#in~t#1.offset := main_#t~ret43#1.base, main_#t~ret43#1.offset;havoc task_#t~ret30#1, task_#t~ret31#1, task_#t~malloc32#1.base, task_#t~malloc32#1.offset, task_#t~ret33#1, task_#t~mem34#1, task_#t~ret35#1.base, task_#t~ret35#1.offset, task_#t~mem36#1, task_#t~ret37#1, task_#t~malloc38#1.base, task_#t~malloc38#1.offset, task_#t~ret39#1, task_#t~mem41#1, task_#t~mem42#1, task_#t~post40#1, task_~t#1.base, task_~t#1.offset, task_~a~1#1, task_~#b~1#1.base, task_~#b~1#1.offset, task_~n~1#1, task_~x~0#1.base, task_~x~0#1.offset, task_~r~1#1.base, task_~r~1#1.offset, task_~m~0#1, task_~y~0#1.base, task_~y~0#1.offset, task_~i~0#1;task_~t#1.base, task_~t#1.offset := task_#in~t#1.base, task_#in~t#1.offset; {619#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 18:18:13,848 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {648#(and (<= |nondet_tree_#res.offset| 0) (<= 0 |nondet_tree_#res.offset|) (<= |nondet_tree_#res.base| 0) (<= 0 |nondet_tree_#res.base|))} {613#true} #149#return; {618#(and (= |ULTIMATE.start_main_#t~ret43#1.base| 0) (= |ULTIMATE.start_main_#t~ret43#1.offset| 0))} is VALID [2022-02-20 18:18:13,849 INFO L290 TraceCheckUtils]: 4: Hoare triple {648#(and (<= |nondet_tree_#res.offset| 0) (<= 0 |nondet_tree_#res.offset|) (<= |nondet_tree_#res.base| 0) (<= 0 |nondet_tree_#res.base|))} assume true; {648#(and (<= |nondet_tree_#res.offset| 0) (<= 0 |nondet_tree_#res.offset|) (<= |nondet_tree_#res.base| 0) (<= 0 |nondet_tree_#res.base|))} is VALID [2022-02-20 18:18:13,849 INFO L290 TraceCheckUtils]: 3: Hoare triple {613#true} assume 0 != #t~nondet5 % 256;havoc #t~nondet5;#res.base, #res.offset := 0, 0; {648#(and (<= |nondet_tree_#res.offset| 0) (<= 0 |nondet_tree_#res.offset|) (<= |nondet_tree_#res.base| 0) (<= 0 |nondet_tree_#res.base|))} is VALID [2022-02-20 18:18:13,850 INFO L272 TraceCheckUtils]: 2: Hoare triple {613#true} call main_#t~ret43#1.base, main_#t~ret43#1.offset := nondet_tree(); {613#true} is VALID [2022-02-20 18:18:13,850 INFO L290 TraceCheckUtils]: 1: Hoare triple {613#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret43#1.base, main_#t~ret43#1.offset; {613#true} is VALID [2022-02-20 18:18:13,850 INFO L290 TraceCheckUtils]: 0: Hoare triple {613#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);call #Ultimate.allocInit(12, 3); {613#true} is VALID [2022-02-20 18:18:13,851 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 4 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 18:18:13,851 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1660793294] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 18:18:13,852 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 18:18:13,852 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 7, 7] total 13 [2022-02-20 18:18:13,853 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1961874007] [2022-02-20 18:18:13,853 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 18:18:13,854 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 3.3076923076923075) internal successors, (43), 9 states have internal predecessors, (43), 5 states have call successors, (14), 5 states have call predecessors, (14), 4 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) Word has length 48 [2022-02-20 18:18:13,859 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:18:13,859 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 3.3076923076923075) internal successors, (43), 9 states have internal predecessors, (43), 5 states have call successors, (14), 5 states have call predecessors, (14), 4 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) [2022-02-20 18:18:13,911 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:18:13,912 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-02-20 18:18:13,912 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 18:18:13,912 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-02-20 18:18:13,913 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=124, Unknown=0, NotChecked=0, Total=156 [2022-02-20 18:18:13,915 INFO L87 Difference]: Start difference. First operand 82 states and 106 transitions. Second operand has 13 states, 13 states have (on average 3.3076923076923075) internal successors, (43), 9 states have internal predecessors, (43), 5 states have call successors, (14), 5 states have call predecessors, (14), 4 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) [2022-02-20 18:18:15,638 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:18:15,639 INFO L93 Difference]: Finished difference Result 149 states and 195 transitions. [2022-02-20 18:18:15,639 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 18:18:15,639 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 3.3076923076923075) internal successors, (43), 9 states have internal predecessors, (43), 5 states have call successors, (14), 5 states have call predecessors, (14), 4 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) Word has length 48 [2022-02-20 18:18:15,640 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:18:15,640 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 3.3076923076923075) internal successors, (43), 9 states have internal predecessors, (43), 5 states have call successors, (14), 5 states have call predecessors, (14), 4 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) [2022-02-20 18:18:15,645 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 191 transitions. [2022-02-20 18:18:15,646 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 3.3076923076923075) internal successors, (43), 9 states have internal predecessors, (43), 5 states have call successors, (14), 5 states have call predecessors, (14), 4 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) [2022-02-20 18:18:15,649 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 191 transitions. [2022-02-20 18:18:15,650 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 191 transitions. [2022-02-20 18:18:15,860 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 191 edges. 191 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:18:15,864 INFO L225 Difference]: With dead ends: 149 [2022-02-20 18:18:15,865 INFO L226 Difference]: Without dead ends: 87 [2022-02-20 18:18:15,866 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 119 GetRequests, 101 SyntacticMatches, 3 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 23 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=61, Invalid=211, Unknown=0, NotChecked=0, Total=272 [2022-02-20 18:18:15,867 INFO L933 BasicCegarLoop]: 84 mSDtfsCounter, 44 mSDsluCounter, 362 mSDsCounter, 0 mSdLazyCounter, 471 mSolverCounterSat, 34 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 46 SdHoareTripleChecker+Valid, 446 SdHoareTripleChecker+Invalid, 505 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 34 IncrementalHoareTripleChecker+Valid, 471 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-02-20 18:18:15,867 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [46 Valid, 446 Invalid, 505 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [34 Valid, 471 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-02-20 18:18:15,868 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 87 states. [2022-02-20 18:18:15,878 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 87 to 84. [2022-02-20 18:18:15,880 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:18:15,881 INFO L82 GeneralOperation]: Start isEquivalent. First operand 87 states. Second operand has 84 states, 52 states have (on average 1.1538461538461537) internal successors, (60), 54 states have internal predecessors, (60), 22 states have call successors, (22), 7 states have call predecessors, (22), 9 states have return successors, (27), 22 states have call predecessors, (27), 22 states have call successors, (27) [2022-02-20 18:18:15,883 INFO L74 IsIncluded]: Start isIncluded. First operand 87 states. Second operand has 84 states, 52 states have (on average 1.1538461538461537) internal successors, (60), 54 states have internal predecessors, (60), 22 states have call successors, (22), 7 states have call predecessors, (22), 9 states have return successors, (27), 22 states have call predecessors, (27), 22 states have call successors, (27) [2022-02-20 18:18:15,884 INFO L87 Difference]: Start difference. First operand 87 states. Second operand has 84 states, 52 states have (on average 1.1538461538461537) internal successors, (60), 54 states have internal predecessors, (60), 22 states have call successors, (22), 7 states have call predecessors, (22), 9 states have return successors, (27), 22 states have call predecessors, (27), 22 states have call successors, (27) [2022-02-20 18:18:15,891 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:18:15,895 INFO L93 Difference]: Finished difference Result 87 states and 115 transitions. [2022-02-20 18:18:15,895 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 115 transitions. [2022-02-20 18:18:15,897 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:18:15,899 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:18:15,900 INFO L74 IsIncluded]: Start isIncluded. First operand has 84 states, 52 states have (on average 1.1538461538461537) internal successors, (60), 54 states have internal predecessors, (60), 22 states have call successors, (22), 7 states have call predecessors, (22), 9 states have return successors, (27), 22 states have call predecessors, (27), 22 states have call successors, (27) Second operand 87 states. [2022-02-20 18:18:15,901 INFO L87 Difference]: Start difference. First operand has 84 states, 52 states have (on average 1.1538461538461537) internal successors, (60), 54 states have internal predecessors, (60), 22 states have call successors, (22), 7 states have call predecessors, (22), 9 states have return successors, (27), 22 states have call predecessors, (27), 22 states have call successors, (27) Second operand 87 states. [2022-02-20 18:18:15,906 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:18:15,906 INFO L93 Difference]: Finished difference Result 87 states and 115 transitions. [2022-02-20 18:18:15,906 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 115 transitions. [2022-02-20 18:18:15,907 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:18:15,908 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:18:15,908 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:18:15,908 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:18:15,908 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 84 states, 52 states have (on average 1.1538461538461537) internal successors, (60), 54 states have internal predecessors, (60), 22 states have call successors, (22), 7 states have call predecessors, (22), 9 states have return successors, (27), 22 states have call predecessors, (27), 22 states have call successors, (27) [2022-02-20 18:18:15,914 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 84 states to 84 states and 109 transitions. [2022-02-20 18:18:15,915 INFO L78 Accepts]: Start accepts. Automaton has 84 states and 109 transitions. Word has length 48 [2022-02-20 18:18:15,916 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:18:15,916 INFO L470 AbstractCegarLoop]: Abstraction has 84 states and 109 transitions. [2022-02-20 18:18:15,916 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 3.3076923076923075) internal successors, (43), 9 states have internal predecessors, (43), 5 states have call successors, (14), 5 states have call predecessors, (14), 4 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) [2022-02-20 18:18:15,917 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 109 transitions. [2022-02-20 18:18:15,920 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-02-20 18:18:15,921 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:18:15,921 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:18:15,955 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 18:18:16,147 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 18:18:16,148 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:18:16,148 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:18:16,148 INFO L85 PathProgramCache]: Analyzing trace with hash 1481222417, now seen corresponding path program 1 times [2022-02-20 18:18:16,148 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 18:18:16,149 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2110422334] [2022-02-20 18:18:16,149 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:18:16,149 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 18:18:16,198 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:16,241 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:18:16,262 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:16,313 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-02-20 18:18:16,317 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:16,322 INFO L290 TraceCheckUtils]: 0: Hoare triple {1491#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} assume 0 != #t~nondet5 % 256;havoc #t~nondet5;#res.base, #res.offset := 0, 0; {1447#true} is VALID [2022-02-20 18:18:16,322 INFO L290 TraceCheckUtils]: 1: Hoare triple {1447#true} assume true; {1447#true} is VALID [2022-02-20 18:18:16,323 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1447#true} {1492#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} #135#return; {1492#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} is VALID [2022-02-20 18:18:16,323 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-02-20 18:18:16,341 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:16,345 INFO L290 TraceCheckUtils]: 0: Hoare triple {1491#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} assume 0 != #t~nondet5 % 256;havoc #t~nondet5;#res.base, #res.offset := 0, 0; {1447#true} is VALID [2022-02-20 18:18:16,346 INFO L290 TraceCheckUtils]: 1: Hoare triple {1447#true} assume true; {1447#true} is VALID [2022-02-20 18:18:16,347 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1447#true} {1492#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} #137#return; {1492#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} is VALID [2022-02-20 18:18:16,348 INFO L290 TraceCheckUtils]: 0: Hoare triple {1491#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} assume !(0 != #t~nondet5 % 256);havoc #t~nondet5;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(12);~n~0.base, ~n~0.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;call write~int(#t~nondet7, ~n~0.base, ~n~0.offset, 4);havoc #t~nondet7; {1492#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} is VALID [2022-02-20 18:18:16,349 INFO L272 TraceCheckUtils]: 1: Hoare triple {1492#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {1491#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 18:18:16,349 INFO L290 TraceCheckUtils]: 2: Hoare triple {1491#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} assume 0 != #t~nondet5 % 256;havoc #t~nondet5;#res.base, #res.offset := 0, 0; {1447#true} is VALID [2022-02-20 18:18:16,350 INFO L290 TraceCheckUtils]: 3: Hoare triple {1447#true} assume true; {1447#true} is VALID [2022-02-20 18:18:16,354 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {1447#true} {1492#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} #135#return; {1492#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} is VALID [2022-02-20 18:18:16,355 INFO L290 TraceCheckUtils]: 5: Hoare triple {1492#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} call write~$Pointer$(#t~ret8.base, #t~ret8.offset, ~n~0.base, 4 + ~n~0.offset, 4);havoc #t~ret8.base, #t~ret8.offset; {1492#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} is VALID [2022-02-20 18:18:16,356 INFO L272 TraceCheckUtils]: 6: Hoare triple {1492#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} call #t~ret9.base, #t~ret9.offset := nondet_tree(); {1491#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 18:18:16,356 INFO L290 TraceCheckUtils]: 7: Hoare triple {1491#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} assume 0 != #t~nondet5 % 256;havoc #t~nondet5;#res.base, #res.offset := 0, 0; {1447#true} is VALID [2022-02-20 18:18:16,357 INFO L290 TraceCheckUtils]: 8: Hoare triple {1447#true} assume true; {1447#true} is VALID [2022-02-20 18:18:16,357 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {1447#true} {1492#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} #137#return; {1492#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} is VALID [2022-02-20 18:18:16,358 INFO L290 TraceCheckUtils]: 10: Hoare triple {1492#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} call write~$Pointer$(#t~ret9.base, #t~ret9.offset, ~n~0.base, 8 + ~n~0.offset, 4);havoc #t~ret9.base, #t~ret9.offset;#res.base, #res.offset := ~n~0.base, ~n~0.offset; {1499#(or (<= 1 |nondet_tree_#res.base|) (<= (+ |nondet_tree_#res.base| 1) 0))} is VALID [2022-02-20 18:18:16,358 INFO L290 TraceCheckUtils]: 11: Hoare triple {1499#(or (<= 1 |nondet_tree_#res.base|) (<= (+ |nondet_tree_#res.base| 1) 0))} assume true; {1499#(or (<= 1 |nondet_tree_#res.base|) (<= (+ |nondet_tree_#res.base| 1) 0))} is VALID [2022-02-20 18:18:16,359 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1499#(or (<= 1 |nondet_tree_#res.base|) (<= (+ |nondet_tree_#res.base| 1) 0))} {1447#true} #149#return; {1462#(not (= |ULTIMATE.start_main_#t~ret43#1.base| 0))} is VALID [2022-02-20 18:18:16,360 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-02-20 18:18:16,362 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:16,384 INFO L290 TraceCheckUtils]: 0: Hoare triple {1447#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {1500#(= min_~n.base |min_#in~n.base|)} is VALID [2022-02-20 18:18:16,385 INFO L290 TraceCheckUtils]: 1: Hoare triple {1500#(= min_~n.base |min_#in~n.base|)} assume ~n.base == 0 && ~n.offset == 0;#res := 2147483647; {1501#(= |min_#in~n.base| 0)} is VALID [2022-02-20 18:18:16,387 INFO L290 TraceCheckUtils]: 2: Hoare triple {1501#(= |min_#in~n.base| 0)} assume true; {1501#(= |min_#in~n.base| 0)} is VALID [2022-02-20 18:18:16,388 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1501#(= |min_#in~n.base| 0)} {1463#(not (= |ULTIMATE.start_task_~t#1.base| 0))} #151#return; {1448#false} is VALID [2022-02-20 18:18:16,388 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-02-20 18:18:16,404 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:16,413 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:18:16,414 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:16,420 INFO L290 TraceCheckUtils]: 0: Hoare triple {1447#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {1447#true} is VALID [2022-02-20 18:18:16,420 INFO L290 TraceCheckUtils]: 1: Hoare triple {1447#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {1447#true} is VALID [2022-02-20 18:18:16,421 INFO L290 TraceCheckUtils]: 2: Hoare triple {1447#true} assume true; {1447#true} is VALID [2022-02-20 18:18:16,421 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1447#true} {1447#true} #145#return; {1447#true} is VALID [2022-02-20 18:18:16,421 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2022-02-20 18:18:16,422 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:16,428 INFO L290 TraceCheckUtils]: 0: Hoare triple {1447#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {1447#true} is VALID [2022-02-20 18:18:16,428 INFO L290 TraceCheckUtils]: 1: Hoare triple {1447#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {1447#true} is VALID [2022-02-20 18:18:16,428 INFO L290 TraceCheckUtils]: 2: Hoare triple {1447#true} assume true; {1447#true} is VALID [2022-02-20 18:18:16,429 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1447#true} {1447#true} #147#return; {1447#true} is VALID [2022-02-20 18:18:16,429 INFO L290 TraceCheckUtils]: 0: Hoare triple {1447#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {1447#true} is VALID [2022-02-20 18:18:16,430 INFO L290 TraceCheckUtils]: 1: Hoare triple {1447#true} assume !(~t.base == 0 && ~t.offset == 0);call #t~mem26.base, #t~mem26.offset := read~$Pointer$(~t.base, 4 + ~t.offset, 4); {1447#true} is VALID [2022-02-20 18:18:16,430 INFO L272 TraceCheckUtils]: 2: Hoare triple {1447#true} call #t~ret27 := size(#t~mem26.base, #t~mem26.offset); {1447#true} is VALID [2022-02-20 18:18:16,430 INFO L290 TraceCheckUtils]: 3: Hoare triple {1447#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {1447#true} is VALID [2022-02-20 18:18:16,430 INFO L290 TraceCheckUtils]: 4: Hoare triple {1447#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {1447#true} is VALID [2022-02-20 18:18:16,431 INFO L290 TraceCheckUtils]: 5: Hoare triple {1447#true} assume true; {1447#true} is VALID [2022-02-20 18:18:16,431 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1447#true} {1447#true} #145#return; {1447#true} is VALID [2022-02-20 18:18:16,431 INFO L290 TraceCheckUtils]: 7: Hoare triple {1447#true} assume -2147483648 <= #t~ret27 && #t~ret27 <= 2147483647;call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~t.base, 8 + ~t.offset, 4); {1447#true} is VALID [2022-02-20 18:18:16,431 INFO L272 TraceCheckUtils]: 8: Hoare triple {1447#true} call #t~ret29 := size(#t~mem28.base, #t~mem28.offset); {1447#true} is VALID [2022-02-20 18:18:16,431 INFO L290 TraceCheckUtils]: 9: Hoare triple {1447#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {1447#true} is VALID [2022-02-20 18:18:16,432 INFO L290 TraceCheckUtils]: 10: Hoare triple {1447#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {1447#true} is VALID [2022-02-20 18:18:16,432 INFO L290 TraceCheckUtils]: 11: Hoare triple {1447#true} assume true; {1447#true} is VALID [2022-02-20 18:18:16,432 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1447#true} {1447#true} #147#return; {1447#true} is VALID [2022-02-20 18:18:16,432 INFO L290 TraceCheckUtils]: 13: Hoare triple {1447#true} assume -2147483648 <= #t~ret29 && #t~ret29 <= 2147483647;#res := 1 + (#t~ret27 + #t~ret29);havoc #t~mem26.base, #t~mem26.offset;havoc #t~ret27;havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29; {1447#true} is VALID [2022-02-20 18:18:16,433 INFO L290 TraceCheckUtils]: 14: Hoare triple {1447#true} assume true; {1447#true} is VALID [2022-02-20 18:18:16,433 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1447#true} {1448#false} #153#return; {1448#false} is VALID [2022-02-20 18:18:16,442 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 43 [2022-02-20 18:18:16,446 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:16,456 INFO L290 TraceCheckUtils]: 0: Hoare triple {1510#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {1447#true} is VALID [2022-02-20 18:18:16,457 INFO L290 TraceCheckUtils]: 1: Hoare triple {1447#true} assume true; {1447#true} is VALID [2022-02-20 18:18:16,457 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1447#true} {1448#false} #155#return; {1448#false} is VALID [2022-02-20 18:18:16,467 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 48 [2022-02-20 18:18:16,470 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:16,473 INFO L290 TraceCheckUtils]: 0: Hoare triple {1511#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~t.base, ~t.offset := #in~t.base, #in~t.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~i := #in~i; {1447#true} is VALID [2022-02-20 18:18:16,473 INFO L290 TraceCheckUtils]: 1: Hoare triple {1447#true} assume ~t.base == 0 && ~t.offset == 0;#res := ~i; {1447#true} is VALID [2022-02-20 18:18:16,474 INFO L290 TraceCheckUtils]: 2: Hoare triple {1447#true} assume true; {1447#true} is VALID [2022-02-20 18:18:16,474 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1447#true} {1448#false} #157#return; {1448#false} is VALID [2022-02-20 18:18:16,474 INFO L290 TraceCheckUtils]: 0: Hoare triple {1447#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);call #Ultimate.allocInit(12, 3); {1447#true} is VALID [2022-02-20 18:18:16,474 INFO L290 TraceCheckUtils]: 1: Hoare triple {1447#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret43#1.base, main_#t~ret43#1.offset; {1447#true} is VALID [2022-02-20 18:18:16,475 INFO L272 TraceCheckUtils]: 2: Hoare triple {1447#true} call main_#t~ret43#1.base, main_#t~ret43#1.offset := nondet_tree(); {1491#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 18:18:16,476 INFO L290 TraceCheckUtils]: 3: Hoare triple {1491#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} assume !(0 != #t~nondet5 % 256);havoc #t~nondet5;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(12);~n~0.base, ~n~0.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;call write~int(#t~nondet7, ~n~0.base, ~n~0.offset, 4);havoc #t~nondet7; {1492#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} is VALID [2022-02-20 18:18:16,477 INFO L272 TraceCheckUtils]: 4: Hoare triple {1492#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {1491#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 18:18:16,477 INFO L290 TraceCheckUtils]: 5: Hoare triple {1491#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} assume 0 != #t~nondet5 % 256;havoc #t~nondet5;#res.base, #res.offset := 0, 0; {1447#true} is VALID [2022-02-20 18:18:16,477 INFO L290 TraceCheckUtils]: 6: Hoare triple {1447#true} assume true; {1447#true} is VALID [2022-02-20 18:18:16,478 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {1447#true} {1492#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} #135#return; {1492#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} is VALID [2022-02-20 18:18:16,478 INFO L290 TraceCheckUtils]: 8: Hoare triple {1492#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} call write~$Pointer$(#t~ret8.base, #t~ret8.offset, ~n~0.base, 4 + ~n~0.offset, 4);havoc #t~ret8.base, #t~ret8.offset; {1492#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} is VALID [2022-02-20 18:18:16,479 INFO L272 TraceCheckUtils]: 9: Hoare triple {1492#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} call #t~ret9.base, #t~ret9.offset := nondet_tree(); {1491#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 18:18:16,479 INFO L290 TraceCheckUtils]: 10: Hoare triple {1491#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} assume 0 != #t~nondet5 % 256;havoc #t~nondet5;#res.base, #res.offset := 0, 0; {1447#true} is VALID [2022-02-20 18:18:16,479 INFO L290 TraceCheckUtils]: 11: Hoare triple {1447#true} assume true; {1447#true} is VALID [2022-02-20 18:18:16,480 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1447#true} {1492#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} #137#return; {1492#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} is VALID [2022-02-20 18:18:16,481 INFO L290 TraceCheckUtils]: 13: Hoare triple {1492#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} call write~$Pointer$(#t~ret9.base, #t~ret9.offset, ~n~0.base, 8 + ~n~0.offset, 4);havoc #t~ret9.base, #t~ret9.offset;#res.base, #res.offset := ~n~0.base, ~n~0.offset; {1499#(or (<= 1 |nondet_tree_#res.base|) (<= (+ |nondet_tree_#res.base| 1) 0))} is VALID [2022-02-20 18:18:16,481 INFO L290 TraceCheckUtils]: 14: Hoare triple {1499#(or (<= 1 |nondet_tree_#res.base|) (<= (+ |nondet_tree_#res.base| 1) 0))} assume true; {1499#(or (<= 1 |nondet_tree_#res.base|) (<= (+ |nondet_tree_#res.base| 1) 0))} is VALID [2022-02-20 18:18:16,482 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1499#(or (<= 1 |nondet_tree_#res.base|) (<= (+ |nondet_tree_#res.base| 1) 0))} {1447#true} #149#return; {1462#(not (= |ULTIMATE.start_main_#t~ret43#1.base| 0))} is VALID [2022-02-20 18:18:16,482 INFO L290 TraceCheckUtils]: 16: Hoare triple {1462#(not (= |ULTIMATE.start_main_#t~ret43#1.base| 0))} assume { :begin_inline_task } true;task_#in~t#1.base, task_#in~t#1.offset := main_#t~ret43#1.base, main_#t~ret43#1.offset;havoc task_#t~ret30#1, task_#t~ret31#1, task_#t~malloc32#1.base, task_#t~malloc32#1.offset, task_#t~ret33#1, task_#t~mem34#1, task_#t~ret35#1.base, task_#t~ret35#1.offset, task_#t~mem36#1, task_#t~ret37#1, task_#t~malloc38#1.base, task_#t~malloc38#1.offset, task_#t~ret39#1, task_#t~mem41#1, task_#t~mem42#1, task_#t~post40#1, task_~t#1.base, task_~t#1.offset, task_~a~1#1, task_~#b~1#1.base, task_~#b~1#1.offset, task_~n~1#1, task_~x~0#1.base, task_~x~0#1.offset, task_~r~1#1.base, task_~r~1#1.offset, task_~m~0#1, task_~y~0#1.base, task_~y~0#1.offset, task_~i~0#1;task_~t#1.base, task_~t#1.offset := task_#in~t#1.base, task_#in~t#1.offset; {1463#(not (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 18:18:16,482 INFO L272 TraceCheckUtils]: 17: Hoare triple {1463#(not (= |ULTIMATE.start_task_~t#1.base| 0))} call task_#t~ret30#1 := min(task_~t#1.base, task_~t#1.offset); {1447#true} is VALID [2022-02-20 18:18:16,483 INFO L290 TraceCheckUtils]: 18: Hoare triple {1447#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {1500#(= min_~n.base |min_#in~n.base|)} is VALID [2022-02-20 18:18:16,483 INFO L290 TraceCheckUtils]: 19: Hoare triple {1500#(= min_~n.base |min_#in~n.base|)} assume ~n.base == 0 && ~n.offset == 0;#res := 2147483647; {1501#(= |min_#in~n.base| 0)} is VALID [2022-02-20 18:18:16,484 INFO L290 TraceCheckUtils]: 20: Hoare triple {1501#(= |min_#in~n.base| 0)} assume true; {1501#(= |min_#in~n.base| 0)} is VALID [2022-02-20 18:18:16,484 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1501#(= |min_#in~n.base| 0)} {1463#(not (= |ULTIMATE.start_task_~t#1.base| 0))} #151#return; {1448#false} is VALID [2022-02-20 18:18:16,485 INFO L290 TraceCheckUtils]: 22: Hoare triple {1448#false} assume -2147483648 <= task_#t~ret30#1 && task_#t~ret30#1 <= 2147483647;task_~a~1#1 := task_#t~ret30#1;havoc task_#t~ret30#1;call task_~#b~1#1.base, task_~#b~1#1.offset := #Ultimate.allocOnStack(4); {1448#false} is VALID [2022-02-20 18:18:16,485 INFO L272 TraceCheckUtils]: 23: Hoare triple {1448#false} call task_#t~ret31#1 := size(task_~t#1.base, task_~t#1.offset); {1447#true} is VALID [2022-02-20 18:18:16,485 INFO L290 TraceCheckUtils]: 24: Hoare triple {1447#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {1447#true} is VALID [2022-02-20 18:18:16,485 INFO L290 TraceCheckUtils]: 25: Hoare triple {1447#true} assume !(~t.base == 0 && ~t.offset == 0);call #t~mem26.base, #t~mem26.offset := read~$Pointer$(~t.base, 4 + ~t.offset, 4); {1447#true} is VALID [2022-02-20 18:18:16,485 INFO L272 TraceCheckUtils]: 26: Hoare triple {1447#true} call #t~ret27 := size(#t~mem26.base, #t~mem26.offset); {1447#true} is VALID [2022-02-20 18:18:16,485 INFO L290 TraceCheckUtils]: 27: Hoare triple {1447#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {1447#true} is VALID [2022-02-20 18:18:16,486 INFO L290 TraceCheckUtils]: 28: Hoare triple {1447#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {1447#true} is VALID [2022-02-20 18:18:16,486 INFO L290 TraceCheckUtils]: 29: Hoare triple {1447#true} assume true; {1447#true} is VALID [2022-02-20 18:18:16,486 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {1447#true} {1447#true} #145#return; {1447#true} is VALID [2022-02-20 18:18:16,486 INFO L290 TraceCheckUtils]: 31: Hoare triple {1447#true} assume -2147483648 <= #t~ret27 && #t~ret27 <= 2147483647;call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~t.base, 8 + ~t.offset, 4); {1447#true} is VALID [2022-02-20 18:18:16,486 INFO L272 TraceCheckUtils]: 32: Hoare triple {1447#true} call #t~ret29 := size(#t~mem28.base, #t~mem28.offset); {1447#true} is VALID [2022-02-20 18:18:16,486 INFO L290 TraceCheckUtils]: 33: Hoare triple {1447#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {1447#true} is VALID [2022-02-20 18:18:16,487 INFO L290 TraceCheckUtils]: 34: Hoare triple {1447#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {1447#true} is VALID [2022-02-20 18:18:16,487 INFO L290 TraceCheckUtils]: 35: Hoare triple {1447#true} assume true; {1447#true} is VALID [2022-02-20 18:18:16,491 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {1447#true} {1447#true} #147#return; {1447#true} is VALID [2022-02-20 18:18:16,491 INFO L290 TraceCheckUtils]: 37: Hoare triple {1447#true} assume -2147483648 <= #t~ret29 && #t~ret29 <= 2147483647;#res := 1 + (#t~ret27 + #t~ret29);havoc #t~mem26.base, #t~mem26.offset;havoc #t~ret27;havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29; {1447#true} is VALID [2022-02-20 18:18:16,492 INFO L290 TraceCheckUtils]: 38: Hoare triple {1447#true} assume true; {1447#true} is VALID [2022-02-20 18:18:16,492 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {1447#true} {1448#false} #153#return; {1448#false} is VALID [2022-02-20 18:18:16,492 INFO L290 TraceCheckUtils]: 40: Hoare triple {1448#false} assume -2147483648 <= task_#t~ret31#1 && task_#t~ret31#1 <= 2147483647;task_~n~1#1 := task_#t~ret31#1;havoc task_#t~ret31#1;assume { :begin_inline_assume_cycle_if_not } true;assume_cycle_if_not_#in~cond#1 := (if 0 != task_~n~1#1 then 1 else 0);havoc assume_cycle_if_not_~cond#1;assume_cycle_if_not_~cond#1 := assume_cycle_if_not_#in~cond#1; {1448#false} is VALID [2022-02-20 18:18:16,492 INFO L290 TraceCheckUtils]: 41: Hoare triple {1448#false} assume !(0 == assume_cycle_if_not_~cond#1); {1448#false} is VALID [2022-02-20 18:18:16,492 INFO L290 TraceCheckUtils]: 42: Hoare triple {1448#false} assume { :end_inline_assume_cycle_if_not } true;call task_#t~malloc32#1.base, task_#t~malloc32#1.offset := #Ultimate.allocOnHeap(4 * task_~n~1#1); {1448#false} is VALID [2022-02-20 18:18:16,493 INFO L272 TraceCheckUtils]: 43: Hoare triple {1448#false} call #Ultimate.meminit(task_#t~malloc32#1.base, task_#t~malloc32#1.offset, task_~n~1#1, 4, 4 * task_~n~1#1); {1510#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-02-20 18:18:16,493 INFO L290 TraceCheckUtils]: 44: Hoare triple {1510#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {1447#true} is VALID [2022-02-20 18:18:16,493 INFO L290 TraceCheckUtils]: 45: Hoare triple {1447#true} assume true; {1447#true} is VALID [2022-02-20 18:18:16,493 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {1447#true} {1448#false} #155#return; {1448#false} is VALID [2022-02-20 18:18:16,493 INFO L290 TraceCheckUtils]: 47: Hoare triple {1448#false} task_~x~0#1.base, task_~x~0#1.offset := task_#t~malloc32#1.base, task_#t~malloc32#1.offset; {1448#false} is VALID [2022-02-20 18:18:16,493 INFO L272 TraceCheckUtils]: 48: Hoare triple {1448#false} call task_#t~ret33#1 := tree_inorder(task_~t#1.base, task_~t#1.offset, task_~x~0#1.base, task_~x~0#1.offset, task_~n~1#1); {1511#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-02-20 18:18:16,494 INFO L290 TraceCheckUtils]: 49: Hoare triple {1511#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~t.base, ~t.offset := #in~t.base, #in~t.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~i := #in~i; {1447#true} is VALID [2022-02-20 18:18:16,494 INFO L290 TraceCheckUtils]: 50: Hoare triple {1447#true} assume ~t.base == 0 && ~t.offset == 0;#res := ~i; {1447#true} is VALID [2022-02-20 18:18:16,494 INFO L290 TraceCheckUtils]: 51: Hoare triple {1447#true} assume true; {1447#true} is VALID [2022-02-20 18:18:16,494 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {1447#true} {1448#false} #157#return; {1448#false} is VALID [2022-02-20 18:18:16,494 INFO L290 TraceCheckUtils]: 53: Hoare triple {1448#false} assume -2147483648 <= task_#t~ret33#1 && task_#t~ret33#1 <= 2147483647;havoc task_#t~ret33#1;call task_#t~mem34#1 := read~int(task_~x~0#1.base, task_~x~0#1.offset, 4); {1448#false} is VALID [2022-02-20 18:18:16,494 INFO L272 TraceCheckUtils]: 54: Hoare triple {1448#false} call __VERIFIER_assert((if task_~a~1#1 == task_#t~mem34#1 then 1 else 0)); {1448#false} is VALID [2022-02-20 18:18:16,495 INFO L290 TraceCheckUtils]: 55: Hoare triple {1448#false} ~cond := #in~cond; {1448#false} is VALID [2022-02-20 18:18:16,495 INFO L290 TraceCheckUtils]: 56: Hoare triple {1448#false} assume 0 == ~cond; {1448#false} is VALID [2022-02-20 18:18:16,495 INFO L290 TraceCheckUtils]: 57: Hoare triple {1448#false} assume !false; {1448#false} is VALID [2022-02-20 18:18:16,495 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2022-02-20 18:18:16,496 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 18:18:16,496 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2110422334] [2022-02-20 18:18:16,496 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2110422334] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 18:18:16,496 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 18:18:16,496 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-02-20 18:18:16,496 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [553446026] [2022-02-20 18:18:16,497 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 18:18:16,497 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 3.2) internal successors, (32), 7 states have internal predecessors, (32), 4 states have call successors, (10), 5 states have call predecessors, (10), 3 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 58 [2022-02-20 18:18:16,498 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:18:16,500 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 3.2) internal successors, (32), 7 states have internal predecessors, (32), 4 states have call successors, (10), 5 states have call predecessors, (10), 3 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-02-20 18:18:16,539 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 18:18:16,539 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-02-20 18:18:16,540 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 18:18:16,540 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-02-20 18:18:16,540 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=88, Unknown=0, NotChecked=0, Total=110 [2022-02-20 18:18:16,541 INFO L87 Difference]: Start difference. First operand 84 states and 109 transitions. Second operand has 11 states, 10 states have (on average 3.2) internal successors, (32), 7 states have internal predecessors, (32), 4 states have call successors, (10), 5 states have call predecessors, (10), 3 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-02-20 18:18:17,985 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:18:17,986 INFO L93 Difference]: Finished difference Result 149 states and 195 transitions. [2022-02-20 18:18:17,986 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 18:18:17,987 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 3.2) internal successors, (32), 7 states have internal predecessors, (32), 4 states have call successors, (10), 5 states have call predecessors, (10), 3 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 58 [2022-02-20 18:18:17,987 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:18:17,988 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 3.2) internal successors, (32), 7 states have internal predecessors, (32), 4 states have call successors, (10), 5 states have call predecessors, (10), 3 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-02-20 18:18:17,995 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 187 transitions. [2022-02-20 18:18:17,995 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 3.2) internal successors, (32), 7 states have internal predecessors, (32), 4 states have call successors, (10), 5 states have call predecessors, (10), 3 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-02-20 18:18:18,003 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 187 transitions. [2022-02-20 18:18:18,004 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 187 transitions. [2022-02-20 18:18:18,192 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 187 edges. 187 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:18:18,194 INFO L225 Difference]: With dead ends: 149 [2022-02-20 18:18:18,195 INFO L226 Difference]: Without dead ends: 89 [2022-02-20 18:18:18,196 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 29 GetRequests, 16 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=44, Invalid=166, Unknown=0, NotChecked=0, Total=210 [2022-02-20 18:18:18,196 INFO L933 BasicCegarLoop]: 84 mSDtfsCounter, 75 mSDsluCounter, 288 mSDsCounter, 0 mSdLazyCounter, 383 mSolverCounterSat, 62 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 77 SdHoareTripleChecker+Valid, 372 SdHoareTripleChecker+Invalid, 445 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 62 IncrementalHoareTripleChecker+Valid, 383 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-02-20 18:18:18,197 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [77 Valid, 372 Invalid, 445 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [62 Valid, 383 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-02-20 18:18:18,198 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 89 states. [2022-02-20 18:18:18,215 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 89 to 86. [2022-02-20 18:18:18,219 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:18:18,220 INFO L82 GeneralOperation]: Start isEquivalent. First operand 89 states. Second operand has 86 states, 53 states have (on average 1.150943396226415) internal successors, (61), 56 states have internal predecessors, (61), 22 states have call successors, (22), 7 states have call predecessors, (22), 10 states have return successors, (29), 22 states have call predecessors, (29), 22 states have call successors, (29) [2022-02-20 18:18:18,221 INFO L74 IsIncluded]: Start isIncluded. First operand 89 states. Second operand has 86 states, 53 states have (on average 1.150943396226415) internal successors, (61), 56 states have internal predecessors, (61), 22 states have call successors, (22), 7 states have call predecessors, (22), 10 states have return successors, (29), 22 states have call predecessors, (29), 22 states have call successors, (29) [2022-02-20 18:18:18,221 INFO L87 Difference]: Start difference. First operand 89 states. Second operand has 86 states, 53 states have (on average 1.150943396226415) internal successors, (61), 56 states have internal predecessors, (61), 22 states have call successors, (22), 7 states have call predecessors, (22), 10 states have return successors, (29), 22 states have call predecessors, (29), 22 states have call successors, (29) [2022-02-20 18:18:18,227 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:18:18,228 INFO L93 Difference]: Finished difference Result 89 states and 118 transitions. [2022-02-20 18:18:18,228 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 118 transitions. [2022-02-20 18:18:18,228 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:18:18,229 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:18:18,229 INFO L74 IsIncluded]: Start isIncluded. First operand has 86 states, 53 states have (on average 1.150943396226415) internal successors, (61), 56 states have internal predecessors, (61), 22 states have call successors, (22), 7 states have call predecessors, (22), 10 states have return successors, (29), 22 states have call predecessors, (29), 22 states have call successors, (29) Second operand 89 states. [2022-02-20 18:18:18,230 INFO L87 Difference]: Start difference. First operand has 86 states, 53 states have (on average 1.150943396226415) internal successors, (61), 56 states have internal predecessors, (61), 22 states have call successors, (22), 7 states have call predecessors, (22), 10 states have return successors, (29), 22 states have call predecessors, (29), 22 states have call successors, (29) Second operand 89 states. [2022-02-20 18:18:18,234 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:18:18,234 INFO L93 Difference]: Finished difference Result 89 states and 118 transitions. [2022-02-20 18:18:18,235 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 118 transitions. [2022-02-20 18:18:18,235 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:18:18,235 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:18:18,235 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:18:18,236 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:18:18,236 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 86 states, 53 states have (on average 1.150943396226415) internal successors, (61), 56 states have internal predecessors, (61), 22 states have call successors, (22), 7 states have call predecessors, (22), 10 states have return successors, (29), 22 states have call predecessors, (29), 22 states have call successors, (29) [2022-02-20 18:18:18,240 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 86 states to 86 states and 112 transitions. [2022-02-20 18:18:18,240 INFO L78 Accepts]: Start accepts. Automaton has 86 states and 112 transitions. Word has length 58 [2022-02-20 18:18:18,241 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:18:18,241 INFO L470 AbstractCegarLoop]: Abstraction has 86 states and 112 transitions. [2022-02-20 18:18:18,241 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 3.2) internal successors, (32), 7 states have internal predecessors, (32), 4 states have call successors, (10), 5 states have call predecessors, (10), 3 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-02-20 18:18:18,241 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 112 transitions. [2022-02-20 18:18:18,242 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 72 [2022-02-20 18:18:18,242 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:18:18,243 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:18:18,243 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-02-20 18:18:18,243 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:18:18,243 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:18:18,244 INFO L85 PathProgramCache]: Analyzing trace with hash -1364034462, now seen corresponding path program 1 times [2022-02-20 18:18:18,244 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 18:18:18,244 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1770871968] [2022-02-20 18:18:18,244 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:18:18,244 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 18:18:18,278 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:18,339 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:18:18,350 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:18,373 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-02-20 18:18:18,376 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:18,380 INFO L290 TraceCheckUtils]: 0: Hoare triple {2076#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} assume 0 != #t~nondet5 % 256;havoc #t~nondet5;#res.base, #res.offset := 0, 0; {2018#true} is VALID [2022-02-20 18:18:18,380 INFO L290 TraceCheckUtils]: 1: Hoare triple {2018#true} assume true; {2018#true} is VALID [2022-02-20 18:18:18,381 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {2018#true} {2077#(= nondet_tree_~n~0.offset 0)} #135#return; {2077#(= nondet_tree_~n~0.offset 0)} is VALID [2022-02-20 18:18:18,381 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-02-20 18:18:18,383 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:18,386 INFO L290 TraceCheckUtils]: 0: Hoare triple {2076#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} assume 0 != #t~nondet5 % 256;havoc #t~nondet5;#res.base, #res.offset := 0, 0; {2018#true} is VALID [2022-02-20 18:18:18,387 INFO L290 TraceCheckUtils]: 1: Hoare triple {2018#true} assume true; {2018#true} is VALID [2022-02-20 18:18:18,387 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {2018#true} {2077#(= nondet_tree_~n~0.offset 0)} #137#return; {2077#(= nondet_tree_~n~0.offset 0)} is VALID [2022-02-20 18:18:18,388 INFO L290 TraceCheckUtils]: 0: Hoare triple {2076#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} assume !(0 != #t~nondet5 % 256);havoc #t~nondet5;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(12);~n~0.base, ~n~0.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;call write~int(#t~nondet7, ~n~0.base, ~n~0.offset, 4);havoc #t~nondet7; {2077#(= nondet_tree_~n~0.offset 0)} is VALID [2022-02-20 18:18:18,389 INFO L272 TraceCheckUtils]: 1: Hoare triple {2077#(= nondet_tree_~n~0.offset 0)} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {2076#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 18:18:18,389 INFO L290 TraceCheckUtils]: 2: Hoare triple {2076#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} assume 0 != #t~nondet5 % 256;havoc #t~nondet5;#res.base, #res.offset := 0, 0; {2018#true} is VALID [2022-02-20 18:18:18,389 INFO L290 TraceCheckUtils]: 3: Hoare triple {2018#true} assume true; {2018#true} is VALID [2022-02-20 18:18:18,390 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {2018#true} {2077#(= nondet_tree_~n~0.offset 0)} #135#return; {2077#(= nondet_tree_~n~0.offset 0)} is VALID [2022-02-20 18:18:18,390 INFO L290 TraceCheckUtils]: 5: Hoare triple {2077#(= nondet_tree_~n~0.offset 0)} call write~$Pointer$(#t~ret8.base, #t~ret8.offset, ~n~0.base, 4 + ~n~0.offset, 4);havoc #t~ret8.base, #t~ret8.offset; {2077#(= nondet_tree_~n~0.offset 0)} is VALID [2022-02-20 18:18:18,391 INFO L272 TraceCheckUtils]: 6: Hoare triple {2077#(= nondet_tree_~n~0.offset 0)} call #t~ret9.base, #t~ret9.offset := nondet_tree(); {2076#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 18:18:18,391 INFO L290 TraceCheckUtils]: 7: Hoare triple {2076#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} assume 0 != #t~nondet5 % 256;havoc #t~nondet5;#res.base, #res.offset := 0, 0; {2018#true} is VALID [2022-02-20 18:18:18,391 INFO L290 TraceCheckUtils]: 8: Hoare triple {2018#true} assume true; {2018#true} is VALID [2022-02-20 18:18:18,392 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {2018#true} {2077#(= nondet_tree_~n~0.offset 0)} #137#return; {2077#(= nondet_tree_~n~0.offset 0)} is VALID [2022-02-20 18:18:18,392 INFO L290 TraceCheckUtils]: 10: Hoare triple {2077#(= nondet_tree_~n~0.offset 0)} call write~$Pointer$(#t~ret9.base, #t~ret9.offset, ~n~0.base, 8 + ~n~0.offset, 4);havoc #t~ret9.base, #t~ret9.offset;#res.base, #res.offset := ~n~0.base, ~n~0.offset; {2084#(= |nondet_tree_#res.offset| 0)} is VALID [2022-02-20 18:18:18,393 INFO L290 TraceCheckUtils]: 11: Hoare triple {2084#(= |nondet_tree_#res.offset| 0)} assume true; {2084#(= |nondet_tree_#res.offset| 0)} is VALID [2022-02-20 18:18:18,394 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2084#(= |nondet_tree_#res.offset| 0)} {2018#true} #149#return; {2033#(= |ULTIMATE.start_main_#t~ret43#1.offset| 0)} is VALID [2022-02-20 18:18:18,394 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-02-20 18:18:18,402 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:18,472 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:18:18,475 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:18,481 INFO L290 TraceCheckUtils]: 0: Hoare triple {2018#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {2018#true} is VALID [2022-02-20 18:18:18,482 INFO L290 TraceCheckUtils]: 1: Hoare triple {2018#true} assume ~n.base == 0 && ~n.offset == 0;#res := 2147483647; {2018#true} is VALID [2022-02-20 18:18:18,482 INFO L290 TraceCheckUtils]: 2: Hoare triple {2018#true} assume true; {2018#true} is VALID [2022-02-20 18:18:18,483 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2018#true} {2086#(or (and (not (= min_~n.offset 0)) (= min_~n.offset |min_#in~n.offset|)) (and (= min_~n.offset |min_#in~n.offset|) (not (= |min_#in~n.base| 0))))} #141#return; {2086#(or (and (not (= min_~n.offset 0)) (= min_~n.offset |min_#in~n.offset|)) (and (= min_~n.offset |min_#in~n.offset|) (not (= |min_#in~n.base| 0))))} is VALID [2022-02-20 18:18:18,483 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2022-02-20 18:18:18,485 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:18,488 INFO L290 TraceCheckUtils]: 0: Hoare triple {2018#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {2018#true} is VALID [2022-02-20 18:18:18,489 INFO L290 TraceCheckUtils]: 1: Hoare triple {2018#true} assume ~n.base == 0 && ~n.offset == 0;#res := 2147483647; {2018#true} is VALID [2022-02-20 18:18:18,489 INFO L290 TraceCheckUtils]: 2: Hoare triple {2018#true} assume true; {2018#true} is VALID [2022-02-20 18:18:18,491 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2018#true} {2091#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} #143#return; {2091#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} is VALID [2022-02-20 18:18:18,499 INFO L290 TraceCheckUtils]: 0: Hoare triple {2018#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {2085#(and (= min_~n.base |min_#in~n.base|) (= min_~n.offset |min_#in~n.offset|))} is VALID [2022-02-20 18:18:18,502 INFO L290 TraceCheckUtils]: 1: Hoare triple {2085#(and (= min_~n.base |min_#in~n.base|) (= min_~n.offset |min_#in~n.offset|))} assume !(~n.base == 0 && ~n.offset == 0);call #t~mem10 := read~int(~n.base, ~n.offset, 4);~a~0 := #t~mem10;havoc #t~mem10;call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~n.base, 4 + ~n.offset, 4); {2086#(or (and (not (= min_~n.offset 0)) (= min_~n.offset |min_#in~n.offset|)) (and (= min_~n.offset |min_#in~n.offset|) (not (= |min_#in~n.base| 0))))} is VALID [2022-02-20 18:18:18,503 INFO L272 TraceCheckUtils]: 2: Hoare triple {2086#(or (and (not (= min_~n.offset 0)) (= min_~n.offset |min_#in~n.offset|)) (and (= min_~n.offset |min_#in~n.offset|) (not (= |min_#in~n.base| 0))))} call #t~ret12 := min(#t~mem11.base, #t~mem11.offset); {2018#true} is VALID [2022-02-20 18:18:18,503 INFO L290 TraceCheckUtils]: 3: Hoare triple {2018#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {2018#true} is VALID [2022-02-20 18:18:18,503 INFO L290 TraceCheckUtils]: 4: Hoare triple {2018#true} assume ~n.base == 0 && ~n.offset == 0;#res := 2147483647; {2018#true} is VALID [2022-02-20 18:18:18,503 INFO L290 TraceCheckUtils]: 5: Hoare triple {2018#true} assume true; {2018#true} is VALID [2022-02-20 18:18:18,508 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {2018#true} {2086#(or (and (not (= min_~n.offset 0)) (= min_~n.offset |min_#in~n.offset|)) (and (= min_~n.offset |min_#in~n.offset|) (not (= |min_#in~n.base| 0))))} #141#return; {2086#(or (and (not (= min_~n.offset 0)) (= min_~n.offset |min_#in~n.offset|)) (and (= min_~n.offset |min_#in~n.offset|) (not (= |min_#in~n.base| 0))))} is VALID [2022-02-20 18:18:18,509 INFO L290 TraceCheckUtils]: 7: Hoare triple {2086#(or (and (not (= min_~n.offset 0)) (= min_~n.offset |min_#in~n.offset|)) (and (= min_~n.offset |min_#in~n.offset|) (not (= |min_#in~n.base| 0))))} assume -2147483648 <= #t~ret12 && #t~ret12 <= 2147483647;~b~0 := #t~ret12;havoc #t~mem11.base, #t~mem11.offset;havoc #t~ret12;call #t~mem13.base, #t~mem13.offset := read~$Pointer$(~n.base, 8 + ~n.offset, 4); {2091#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} is VALID [2022-02-20 18:18:18,509 INFO L272 TraceCheckUtils]: 8: Hoare triple {2091#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} call #t~ret14 := min(#t~mem13.base, #t~mem13.offset); {2018#true} is VALID [2022-02-20 18:18:18,509 INFO L290 TraceCheckUtils]: 9: Hoare triple {2018#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {2018#true} is VALID [2022-02-20 18:18:18,510 INFO L290 TraceCheckUtils]: 10: Hoare triple {2018#true} assume ~n.base == 0 && ~n.offset == 0;#res := 2147483647; {2018#true} is VALID [2022-02-20 18:18:18,510 INFO L290 TraceCheckUtils]: 11: Hoare triple {2018#true} assume true; {2018#true} is VALID [2022-02-20 18:18:18,511 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2018#true} {2091#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} #143#return; {2091#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} is VALID [2022-02-20 18:18:18,511 INFO L290 TraceCheckUtils]: 13: Hoare triple {2091#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~c~0 := #t~ret14;havoc #t~mem13.base, #t~mem13.offset;havoc #t~ret14; {2091#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} is VALID [2022-02-20 18:18:18,511 INFO L290 TraceCheckUtils]: 14: Hoare triple {2091#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} assume ~b~0 <= ~a~0 && ~b~0 <= ~c~0;#res := ~b~0; {2091#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} is VALID [2022-02-20 18:18:18,512 INFO L290 TraceCheckUtils]: 15: Hoare triple {2091#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} assume true; {2091#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} is VALID [2022-02-20 18:18:18,516 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2091#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} {2034#(= |ULTIMATE.start_task_~t#1.offset| 0)} #151#return; {2052#(not (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 18:18:18,516 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-02-20 18:18:18,522 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:18,527 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:18:18,528 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:18,536 INFO L290 TraceCheckUtils]: 0: Hoare triple {2018#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {2018#true} is VALID [2022-02-20 18:18:18,537 INFO L290 TraceCheckUtils]: 1: Hoare triple {2018#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {2018#true} is VALID [2022-02-20 18:18:18,537 INFO L290 TraceCheckUtils]: 2: Hoare triple {2018#true} assume true; {2018#true} is VALID [2022-02-20 18:18:18,537 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2018#true} {2018#true} #145#return; {2018#true} is VALID [2022-02-20 18:18:18,537 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2022-02-20 18:18:18,538 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:18,544 INFO L290 TraceCheckUtils]: 0: Hoare triple {2018#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {2018#true} is VALID [2022-02-20 18:18:18,544 INFO L290 TraceCheckUtils]: 1: Hoare triple {2018#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {2018#true} is VALID [2022-02-20 18:18:18,544 INFO L290 TraceCheckUtils]: 2: Hoare triple {2018#true} assume true; {2018#true} is VALID [2022-02-20 18:18:18,544 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2018#true} {2018#true} #147#return; {2018#true} is VALID [2022-02-20 18:18:18,544 INFO L290 TraceCheckUtils]: 0: Hoare triple {2018#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {2018#true} is VALID [2022-02-20 18:18:18,544 INFO L290 TraceCheckUtils]: 1: Hoare triple {2018#true} assume !(~t.base == 0 && ~t.offset == 0);call #t~mem26.base, #t~mem26.offset := read~$Pointer$(~t.base, 4 + ~t.offset, 4); {2018#true} is VALID [2022-02-20 18:18:18,545 INFO L272 TraceCheckUtils]: 2: Hoare triple {2018#true} call #t~ret27 := size(#t~mem26.base, #t~mem26.offset); {2018#true} is VALID [2022-02-20 18:18:18,545 INFO L290 TraceCheckUtils]: 3: Hoare triple {2018#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {2018#true} is VALID [2022-02-20 18:18:18,545 INFO L290 TraceCheckUtils]: 4: Hoare triple {2018#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {2018#true} is VALID [2022-02-20 18:18:18,545 INFO L290 TraceCheckUtils]: 5: Hoare triple {2018#true} assume true; {2018#true} is VALID [2022-02-20 18:18:18,545 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {2018#true} {2018#true} #145#return; {2018#true} is VALID [2022-02-20 18:18:18,545 INFO L290 TraceCheckUtils]: 7: Hoare triple {2018#true} assume -2147483648 <= #t~ret27 && #t~ret27 <= 2147483647;call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~t.base, 8 + ~t.offset, 4); {2018#true} is VALID [2022-02-20 18:18:18,545 INFO L272 TraceCheckUtils]: 8: Hoare triple {2018#true} call #t~ret29 := size(#t~mem28.base, #t~mem28.offset); {2018#true} is VALID [2022-02-20 18:18:18,545 INFO L290 TraceCheckUtils]: 9: Hoare triple {2018#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {2018#true} is VALID [2022-02-20 18:18:18,546 INFO L290 TraceCheckUtils]: 10: Hoare triple {2018#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {2018#true} is VALID [2022-02-20 18:18:18,546 INFO L290 TraceCheckUtils]: 11: Hoare triple {2018#true} assume true; {2018#true} is VALID [2022-02-20 18:18:18,546 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2018#true} {2018#true} #147#return; {2018#true} is VALID [2022-02-20 18:18:18,546 INFO L290 TraceCheckUtils]: 13: Hoare triple {2018#true} assume -2147483648 <= #t~ret29 && #t~ret29 <= 2147483647;#res := 1 + (#t~ret27 + #t~ret29);havoc #t~mem26.base, #t~mem26.offset;havoc #t~ret27;havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29; {2018#true} is VALID [2022-02-20 18:18:18,546 INFO L290 TraceCheckUtils]: 14: Hoare triple {2018#true} assume true; {2018#true} is VALID [2022-02-20 18:18:18,547 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2018#true} {2052#(not (= |ULTIMATE.start_task_~t#1.base| 0))} #153#return; {2052#(not (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 18:18:18,556 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 56 [2022-02-20 18:18:18,562 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:18,567 INFO L290 TraceCheckUtils]: 0: Hoare triple {2104#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {2018#true} is VALID [2022-02-20 18:18:18,567 INFO L290 TraceCheckUtils]: 1: Hoare triple {2018#true} assume true; {2018#true} is VALID [2022-02-20 18:18:18,568 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {2018#true} {2052#(not (= |ULTIMATE.start_task_~t#1.base| 0))} #155#return; {2052#(not (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 18:18:18,579 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 61 [2022-02-20 18:18:18,581 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:18,622 INFO L290 TraceCheckUtils]: 0: Hoare triple {2105#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~t.base, ~t.offset := #in~t.base, #in~t.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~i := #in~i; {2106#(= |tree_inorder_#in~t.base| tree_inorder_~t.base)} is VALID [2022-02-20 18:18:18,622 INFO L290 TraceCheckUtils]: 1: Hoare triple {2106#(= |tree_inorder_#in~t.base| tree_inorder_~t.base)} assume ~t.base == 0 && ~t.offset == 0;#res := ~i; {2107#(= |tree_inorder_#in~t.base| 0)} is VALID [2022-02-20 18:18:18,622 INFO L290 TraceCheckUtils]: 2: Hoare triple {2107#(= |tree_inorder_#in~t.base| 0)} assume true; {2107#(= |tree_inorder_#in~t.base| 0)} is VALID [2022-02-20 18:18:18,624 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2107#(= |tree_inorder_#in~t.base| 0)} {2052#(not (= |ULTIMATE.start_task_~t#1.base| 0))} #157#return; {2019#false} is VALID [2022-02-20 18:18:18,624 INFO L290 TraceCheckUtils]: 0: Hoare triple {2018#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);call #Ultimate.allocInit(12, 3); {2018#true} is VALID [2022-02-20 18:18:18,624 INFO L290 TraceCheckUtils]: 1: Hoare triple {2018#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret43#1.base, main_#t~ret43#1.offset; {2018#true} is VALID [2022-02-20 18:18:18,625 INFO L272 TraceCheckUtils]: 2: Hoare triple {2018#true} call main_#t~ret43#1.base, main_#t~ret43#1.offset := nondet_tree(); {2076#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 18:18:18,625 INFO L290 TraceCheckUtils]: 3: Hoare triple {2076#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} assume !(0 != #t~nondet5 % 256);havoc #t~nondet5;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(12);~n~0.base, ~n~0.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;call write~int(#t~nondet7, ~n~0.base, ~n~0.offset, 4);havoc #t~nondet7; {2077#(= nondet_tree_~n~0.offset 0)} is VALID [2022-02-20 18:18:18,626 INFO L272 TraceCheckUtils]: 4: Hoare triple {2077#(= nondet_tree_~n~0.offset 0)} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {2076#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 18:18:18,626 INFO L290 TraceCheckUtils]: 5: Hoare triple {2076#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} assume 0 != #t~nondet5 % 256;havoc #t~nondet5;#res.base, #res.offset := 0, 0; {2018#true} is VALID [2022-02-20 18:18:18,626 INFO L290 TraceCheckUtils]: 6: Hoare triple {2018#true} assume true; {2018#true} is VALID [2022-02-20 18:18:18,626 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {2018#true} {2077#(= nondet_tree_~n~0.offset 0)} #135#return; {2077#(= nondet_tree_~n~0.offset 0)} is VALID [2022-02-20 18:18:18,627 INFO L290 TraceCheckUtils]: 8: Hoare triple {2077#(= nondet_tree_~n~0.offset 0)} call write~$Pointer$(#t~ret8.base, #t~ret8.offset, ~n~0.base, 4 + ~n~0.offset, 4);havoc #t~ret8.base, #t~ret8.offset; {2077#(= nondet_tree_~n~0.offset 0)} is VALID [2022-02-20 18:18:18,628 INFO L272 TraceCheckUtils]: 9: Hoare triple {2077#(= nondet_tree_~n~0.offset 0)} call #t~ret9.base, #t~ret9.offset := nondet_tree(); {2076#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 18:18:18,628 INFO L290 TraceCheckUtils]: 10: Hoare triple {2076#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} assume 0 != #t~nondet5 % 256;havoc #t~nondet5;#res.base, #res.offset := 0, 0; {2018#true} is VALID [2022-02-20 18:18:18,628 INFO L290 TraceCheckUtils]: 11: Hoare triple {2018#true} assume true; {2018#true} is VALID [2022-02-20 18:18:18,629 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2018#true} {2077#(= nondet_tree_~n~0.offset 0)} #137#return; {2077#(= nondet_tree_~n~0.offset 0)} is VALID [2022-02-20 18:18:18,629 INFO L290 TraceCheckUtils]: 13: Hoare triple {2077#(= nondet_tree_~n~0.offset 0)} call write~$Pointer$(#t~ret9.base, #t~ret9.offset, ~n~0.base, 8 + ~n~0.offset, 4);havoc #t~ret9.base, #t~ret9.offset;#res.base, #res.offset := ~n~0.base, ~n~0.offset; {2084#(= |nondet_tree_#res.offset| 0)} is VALID [2022-02-20 18:18:18,630 INFO L290 TraceCheckUtils]: 14: Hoare triple {2084#(= |nondet_tree_#res.offset| 0)} assume true; {2084#(= |nondet_tree_#res.offset| 0)} is VALID [2022-02-20 18:18:18,630 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2084#(= |nondet_tree_#res.offset| 0)} {2018#true} #149#return; {2033#(= |ULTIMATE.start_main_#t~ret43#1.offset| 0)} is VALID [2022-02-20 18:18:18,631 INFO L290 TraceCheckUtils]: 16: Hoare triple {2033#(= |ULTIMATE.start_main_#t~ret43#1.offset| 0)} assume { :begin_inline_task } true;task_#in~t#1.base, task_#in~t#1.offset := main_#t~ret43#1.base, main_#t~ret43#1.offset;havoc task_#t~ret30#1, task_#t~ret31#1, task_#t~malloc32#1.base, task_#t~malloc32#1.offset, task_#t~ret33#1, task_#t~mem34#1, task_#t~ret35#1.base, task_#t~ret35#1.offset, task_#t~mem36#1, task_#t~ret37#1, task_#t~malloc38#1.base, task_#t~malloc38#1.offset, task_#t~ret39#1, task_#t~mem41#1, task_#t~mem42#1, task_#t~post40#1, task_~t#1.base, task_~t#1.offset, task_~a~1#1, task_~#b~1#1.base, task_~#b~1#1.offset, task_~n~1#1, task_~x~0#1.base, task_~x~0#1.offset, task_~r~1#1.base, task_~r~1#1.offset, task_~m~0#1, task_~y~0#1.base, task_~y~0#1.offset, task_~i~0#1;task_~t#1.base, task_~t#1.offset := task_#in~t#1.base, task_#in~t#1.offset; {2034#(= |ULTIMATE.start_task_~t#1.offset| 0)} is VALID [2022-02-20 18:18:18,631 INFO L272 TraceCheckUtils]: 17: Hoare triple {2034#(= |ULTIMATE.start_task_~t#1.offset| 0)} call task_#t~ret30#1 := min(task_~t#1.base, task_~t#1.offset); {2018#true} is VALID [2022-02-20 18:18:18,631 INFO L290 TraceCheckUtils]: 18: Hoare triple {2018#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {2085#(and (= min_~n.base |min_#in~n.base|) (= min_~n.offset |min_#in~n.offset|))} is VALID [2022-02-20 18:18:18,632 INFO L290 TraceCheckUtils]: 19: Hoare triple {2085#(and (= min_~n.base |min_#in~n.base|) (= min_~n.offset |min_#in~n.offset|))} assume !(~n.base == 0 && ~n.offset == 0);call #t~mem10 := read~int(~n.base, ~n.offset, 4);~a~0 := #t~mem10;havoc #t~mem10;call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~n.base, 4 + ~n.offset, 4); {2086#(or (and (not (= min_~n.offset 0)) (= min_~n.offset |min_#in~n.offset|)) (and (= min_~n.offset |min_#in~n.offset|) (not (= |min_#in~n.base| 0))))} is VALID [2022-02-20 18:18:18,632 INFO L272 TraceCheckUtils]: 20: Hoare triple {2086#(or (and (not (= min_~n.offset 0)) (= min_~n.offset |min_#in~n.offset|)) (and (= min_~n.offset |min_#in~n.offset|) (not (= |min_#in~n.base| 0))))} call #t~ret12 := min(#t~mem11.base, #t~mem11.offset); {2018#true} is VALID [2022-02-20 18:18:18,632 INFO L290 TraceCheckUtils]: 21: Hoare triple {2018#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {2018#true} is VALID [2022-02-20 18:18:18,632 INFO L290 TraceCheckUtils]: 22: Hoare triple {2018#true} assume ~n.base == 0 && ~n.offset == 0;#res := 2147483647; {2018#true} is VALID [2022-02-20 18:18:18,632 INFO L290 TraceCheckUtils]: 23: Hoare triple {2018#true} assume true; {2018#true} is VALID [2022-02-20 18:18:18,633 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {2018#true} {2086#(or (and (not (= min_~n.offset 0)) (= min_~n.offset |min_#in~n.offset|)) (and (= min_~n.offset |min_#in~n.offset|) (not (= |min_#in~n.base| 0))))} #141#return; {2086#(or (and (not (= min_~n.offset 0)) (= min_~n.offset |min_#in~n.offset|)) (and (= min_~n.offset |min_#in~n.offset|) (not (= |min_#in~n.base| 0))))} is VALID [2022-02-20 18:18:18,633 INFO L290 TraceCheckUtils]: 25: Hoare triple {2086#(or (and (not (= min_~n.offset 0)) (= min_~n.offset |min_#in~n.offset|)) (and (= min_~n.offset |min_#in~n.offset|) (not (= |min_#in~n.base| 0))))} assume -2147483648 <= #t~ret12 && #t~ret12 <= 2147483647;~b~0 := #t~ret12;havoc #t~mem11.base, #t~mem11.offset;havoc #t~ret12;call #t~mem13.base, #t~mem13.offset := read~$Pointer$(~n.base, 8 + ~n.offset, 4); {2091#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} is VALID [2022-02-20 18:18:18,633 INFO L272 TraceCheckUtils]: 26: Hoare triple {2091#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} call #t~ret14 := min(#t~mem13.base, #t~mem13.offset); {2018#true} is VALID [2022-02-20 18:18:18,633 INFO L290 TraceCheckUtils]: 27: Hoare triple {2018#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {2018#true} is VALID [2022-02-20 18:18:18,633 INFO L290 TraceCheckUtils]: 28: Hoare triple {2018#true} assume ~n.base == 0 && ~n.offset == 0;#res := 2147483647; {2018#true} is VALID [2022-02-20 18:18:18,633 INFO L290 TraceCheckUtils]: 29: Hoare triple {2018#true} assume true; {2018#true} is VALID [2022-02-20 18:18:18,634 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {2018#true} {2091#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} #143#return; {2091#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} is VALID [2022-02-20 18:18:18,634 INFO L290 TraceCheckUtils]: 31: Hoare triple {2091#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~c~0 := #t~ret14;havoc #t~mem13.base, #t~mem13.offset;havoc #t~ret14; {2091#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} is VALID [2022-02-20 18:18:18,635 INFO L290 TraceCheckUtils]: 32: Hoare triple {2091#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} assume ~b~0 <= ~a~0 && ~b~0 <= ~c~0;#res := ~b~0; {2091#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} is VALID [2022-02-20 18:18:18,635 INFO L290 TraceCheckUtils]: 33: Hoare triple {2091#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} assume true; {2091#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} is VALID [2022-02-20 18:18:18,635 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2091#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} {2034#(= |ULTIMATE.start_task_~t#1.offset| 0)} #151#return; {2052#(not (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 18:18:18,636 INFO L290 TraceCheckUtils]: 35: Hoare triple {2052#(not (= |ULTIMATE.start_task_~t#1.base| 0))} assume -2147483648 <= task_#t~ret30#1 && task_#t~ret30#1 <= 2147483647;task_~a~1#1 := task_#t~ret30#1;havoc task_#t~ret30#1;call task_~#b~1#1.base, task_~#b~1#1.offset := #Ultimate.allocOnStack(4); {2052#(not (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 18:18:18,636 INFO L272 TraceCheckUtils]: 36: Hoare triple {2052#(not (= |ULTIMATE.start_task_~t#1.base| 0))} call task_#t~ret31#1 := size(task_~t#1.base, task_~t#1.offset); {2018#true} is VALID [2022-02-20 18:18:18,636 INFO L290 TraceCheckUtils]: 37: Hoare triple {2018#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {2018#true} is VALID [2022-02-20 18:18:18,636 INFO L290 TraceCheckUtils]: 38: Hoare triple {2018#true} assume !(~t.base == 0 && ~t.offset == 0);call #t~mem26.base, #t~mem26.offset := read~$Pointer$(~t.base, 4 + ~t.offset, 4); {2018#true} is VALID [2022-02-20 18:18:18,636 INFO L272 TraceCheckUtils]: 39: Hoare triple {2018#true} call #t~ret27 := size(#t~mem26.base, #t~mem26.offset); {2018#true} is VALID [2022-02-20 18:18:18,637 INFO L290 TraceCheckUtils]: 40: Hoare triple {2018#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {2018#true} is VALID [2022-02-20 18:18:18,637 INFO L290 TraceCheckUtils]: 41: Hoare triple {2018#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {2018#true} is VALID [2022-02-20 18:18:18,637 INFO L290 TraceCheckUtils]: 42: Hoare triple {2018#true} assume true; {2018#true} is VALID [2022-02-20 18:18:18,637 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {2018#true} {2018#true} #145#return; {2018#true} is VALID [2022-02-20 18:18:18,637 INFO L290 TraceCheckUtils]: 44: Hoare triple {2018#true} assume -2147483648 <= #t~ret27 && #t~ret27 <= 2147483647;call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~t.base, 8 + ~t.offset, 4); {2018#true} is VALID [2022-02-20 18:18:18,637 INFO L272 TraceCheckUtils]: 45: Hoare triple {2018#true} call #t~ret29 := size(#t~mem28.base, #t~mem28.offset); {2018#true} is VALID [2022-02-20 18:18:18,638 INFO L290 TraceCheckUtils]: 46: Hoare triple {2018#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {2018#true} is VALID [2022-02-20 18:18:18,638 INFO L290 TraceCheckUtils]: 47: Hoare triple {2018#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {2018#true} is VALID [2022-02-20 18:18:18,638 INFO L290 TraceCheckUtils]: 48: Hoare triple {2018#true} assume true; {2018#true} is VALID [2022-02-20 18:18:18,638 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {2018#true} {2018#true} #147#return; {2018#true} is VALID [2022-02-20 18:18:18,638 INFO L290 TraceCheckUtils]: 50: Hoare triple {2018#true} assume -2147483648 <= #t~ret29 && #t~ret29 <= 2147483647;#res := 1 + (#t~ret27 + #t~ret29);havoc #t~mem26.base, #t~mem26.offset;havoc #t~ret27;havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29; {2018#true} is VALID [2022-02-20 18:18:18,638 INFO L290 TraceCheckUtils]: 51: Hoare triple {2018#true} assume true; {2018#true} is VALID [2022-02-20 18:18:18,639 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {2018#true} {2052#(not (= |ULTIMATE.start_task_~t#1.base| 0))} #153#return; {2052#(not (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 18:18:18,639 INFO L290 TraceCheckUtils]: 53: Hoare triple {2052#(not (= |ULTIMATE.start_task_~t#1.base| 0))} assume -2147483648 <= task_#t~ret31#1 && task_#t~ret31#1 <= 2147483647;task_~n~1#1 := task_#t~ret31#1;havoc task_#t~ret31#1;assume { :begin_inline_assume_cycle_if_not } true;assume_cycle_if_not_#in~cond#1 := (if 0 != task_~n~1#1 then 1 else 0);havoc assume_cycle_if_not_~cond#1;assume_cycle_if_not_~cond#1 := assume_cycle_if_not_#in~cond#1; {2052#(not (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 18:18:18,640 INFO L290 TraceCheckUtils]: 54: Hoare triple {2052#(not (= |ULTIMATE.start_task_~t#1.base| 0))} assume !(0 == assume_cycle_if_not_~cond#1); {2052#(not (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 18:18:18,640 INFO L290 TraceCheckUtils]: 55: Hoare triple {2052#(not (= |ULTIMATE.start_task_~t#1.base| 0))} assume { :end_inline_assume_cycle_if_not } true;call task_#t~malloc32#1.base, task_#t~malloc32#1.offset := #Ultimate.allocOnHeap(4 * task_~n~1#1); {2052#(not (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 18:18:18,641 INFO L272 TraceCheckUtils]: 56: Hoare triple {2052#(not (= |ULTIMATE.start_task_~t#1.base| 0))} call #Ultimate.meminit(task_#t~malloc32#1.base, task_#t~malloc32#1.offset, task_~n~1#1, 4, 4 * task_~n~1#1); {2104#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-02-20 18:18:18,641 INFO L290 TraceCheckUtils]: 57: Hoare triple {2104#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {2018#true} is VALID [2022-02-20 18:18:18,641 INFO L290 TraceCheckUtils]: 58: Hoare triple {2018#true} assume true; {2018#true} is VALID [2022-02-20 18:18:18,642 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {2018#true} {2052#(not (= |ULTIMATE.start_task_~t#1.base| 0))} #155#return; {2052#(not (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 18:18:18,642 INFO L290 TraceCheckUtils]: 60: Hoare triple {2052#(not (= |ULTIMATE.start_task_~t#1.base| 0))} task_~x~0#1.base, task_~x~0#1.offset := task_#t~malloc32#1.base, task_#t~malloc32#1.offset; {2052#(not (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 18:18:18,643 INFO L272 TraceCheckUtils]: 61: Hoare triple {2052#(not (= |ULTIMATE.start_task_~t#1.base| 0))} call task_#t~ret33#1 := tree_inorder(task_~t#1.base, task_~t#1.offset, task_~x~0#1.base, task_~x~0#1.offset, task_~n~1#1); {2105#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-02-20 18:18:18,644 INFO L290 TraceCheckUtils]: 62: Hoare triple {2105#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~t.base, ~t.offset := #in~t.base, #in~t.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~i := #in~i; {2106#(= |tree_inorder_#in~t.base| tree_inorder_~t.base)} is VALID [2022-02-20 18:18:18,645 INFO L290 TraceCheckUtils]: 63: Hoare triple {2106#(= |tree_inorder_#in~t.base| tree_inorder_~t.base)} assume ~t.base == 0 && ~t.offset == 0;#res := ~i; {2107#(= |tree_inorder_#in~t.base| 0)} is VALID [2022-02-20 18:18:18,645 INFO L290 TraceCheckUtils]: 64: Hoare triple {2107#(= |tree_inorder_#in~t.base| 0)} assume true; {2107#(= |tree_inorder_#in~t.base| 0)} is VALID [2022-02-20 18:18:18,646 INFO L284 TraceCheckUtils]: 65: Hoare quadruple {2107#(= |tree_inorder_#in~t.base| 0)} {2052#(not (= |ULTIMATE.start_task_~t#1.base| 0))} #157#return; {2019#false} is VALID [2022-02-20 18:18:18,646 INFO L290 TraceCheckUtils]: 66: Hoare triple {2019#false} assume -2147483648 <= task_#t~ret33#1 && task_#t~ret33#1 <= 2147483647;havoc task_#t~ret33#1;call task_#t~mem34#1 := read~int(task_~x~0#1.base, task_~x~0#1.offset, 4); {2019#false} is VALID [2022-02-20 18:18:18,646 INFO L272 TraceCheckUtils]: 67: Hoare triple {2019#false} call __VERIFIER_assert((if task_~a~1#1 == task_#t~mem34#1 then 1 else 0)); {2019#false} is VALID [2022-02-20 18:18:18,647 INFO L290 TraceCheckUtils]: 68: Hoare triple {2019#false} ~cond := #in~cond; {2019#false} is VALID [2022-02-20 18:18:18,647 INFO L290 TraceCheckUtils]: 69: Hoare triple {2019#false} assume 0 == ~cond; {2019#false} is VALID [2022-02-20 18:18:18,647 INFO L290 TraceCheckUtils]: 70: Hoare triple {2019#false} assume !false; {2019#false} is VALID [2022-02-20 18:18:18,647 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 8 proven. 2 refuted. 0 times theorem prover too weak. 23 trivial. 0 not checked. [2022-02-20 18:18:18,648 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 18:18:18,648 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1770871968] [2022-02-20 18:18:18,648 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1770871968] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 18:18:18,648 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [916448863] [2022-02-20 18:18:18,648 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:18:18,649 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 18:18:18,649 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 18:18:18,652 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 18:18:18,700 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 18:18:18,802 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:18,805 INFO L263 TraceCheckSpWp]: Trace formula consists of 393 conjuncts, 15 conjunts are in the unsatisfiable core [2022-02-20 18:18:18,828 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:18,830 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 18:18:19,106 INFO L290 TraceCheckUtils]: 0: Hoare triple {2018#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);call #Ultimate.allocInit(12, 3); {2018#true} is VALID [2022-02-20 18:18:19,107 INFO L290 TraceCheckUtils]: 1: Hoare triple {2018#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret43#1.base, main_#t~ret43#1.offset; {2018#true} is VALID [2022-02-20 18:18:19,107 INFO L272 TraceCheckUtils]: 2: Hoare triple {2018#true} call main_#t~ret43#1.base, main_#t~ret43#1.offset := nondet_tree(); {2018#true} is VALID [2022-02-20 18:18:19,111 INFO L290 TraceCheckUtils]: 3: Hoare triple {2018#true} assume !(0 != #t~nondet5 % 256);havoc #t~nondet5;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(12);~n~0.base, ~n~0.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;call write~int(#t~nondet7, ~n~0.base, ~n~0.offset, 4);havoc #t~nondet7; {2120#(not (= nondet_tree_~n~0.base 0))} is VALID [2022-02-20 18:18:19,112 INFO L272 TraceCheckUtils]: 4: Hoare triple {2120#(not (= nondet_tree_~n~0.base 0))} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {2018#true} is VALID [2022-02-20 18:18:19,112 INFO L290 TraceCheckUtils]: 5: Hoare triple {2018#true} assume 0 != #t~nondet5 % 256;havoc #t~nondet5;#res.base, #res.offset := 0, 0; {2018#true} is VALID [2022-02-20 18:18:19,112 INFO L290 TraceCheckUtils]: 6: Hoare triple {2018#true} assume true; {2018#true} is VALID [2022-02-20 18:18:19,113 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {2018#true} {2120#(not (= nondet_tree_~n~0.base 0))} #135#return; {2120#(not (= nondet_tree_~n~0.base 0))} is VALID [2022-02-20 18:18:19,113 INFO L290 TraceCheckUtils]: 8: Hoare triple {2120#(not (= nondet_tree_~n~0.base 0))} call write~$Pointer$(#t~ret8.base, #t~ret8.offset, ~n~0.base, 4 + ~n~0.offset, 4);havoc #t~ret8.base, #t~ret8.offset; {2120#(not (= nondet_tree_~n~0.base 0))} is VALID [2022-02-20 18:18:19,114 INFO L272 TraceCheckUtils]: 9: Hoare triple {2120#(not (= nondet_tree_~n~0.base 0))} call #t~ret9.base, #t~ret9.offset := nondet_tree(); {2018#true} is VALID [2022-02-20 18:18:19,114 INFO L290 TraceCheckUtils]: 10: Hoare triple {2018#true} assume 0 != #t~nondet5 % 256;havoc #t~nondet5;#res.base, #res.offset := 0, 0; {2018#true} is VALID [2022-02-20 18:18:19,114 INFO L290 TraceCheckUtils]: 11: Hoare triple {2018#true} assume true; {2018#true} is VALID [2022-02-20 18:18:19,116 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2018#true} {2120#(not (= nondet_tree_~n~0.base 0))} #137#return; {2120#(not (= nondet_tree_~n~0.base 0))} is VALID [2022-02-20 18:18:19,117 INFO L290 TraceCheckUtils]: 13: Hoare triple {2120#(not (= nondet_tree_~n~0.base 0))} call write~$Pointer$(#t~ret9.base, #t~ret9.offset, ~n~0.base, 8 + ~n~0.offset, 4);havoc #t~ret9.base, #t~ret9.offset;#res.base, #res.offset := ~n~0.base, ~n~0.offset; {2151#(not (= |nondet_tree_#res.base| 0))} is VALID [2022-02-20 18:18:19,117 INFO L290 TraceCheckUtils]: 14: Hoare triple {2151#(not (= |nondet_tree_#res.base| 0))} assume true; {2151#(not (= |nondet_tree_#res.base| 0))} is VALID [2022-02-20 18:18:19,118 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2151#(not (= |nondet_tree_#res.base| 0))} {2018#true} #149#return; {2158#(not (= |ULTIMATE.start_main_#t~ret43#1.base| 0))} is VALID [2022-02-20 18:18:19,118 INFO L290 TraceCheckUtils]: 16: Hoare triple {2158#(not (= |ULTIMATE.start_main_#t~ret43#1.base| 0))} assume { :begin_inline_task } true;task_#in~t#1.base, task_#in~t#1.offset := main_#t~ret43#1.base, main_#t~ret43#1.offset;havoc task_#t~ret30#1, task_#t~ret31#1, task_#t~malloc32#1.base, task_#t~malloc32#1.offset, task_#t~ret33#1, task_#t~mem34#1, task_#t~ret35#1.base, task_#t~ret35#1.offset, task_#t~mem36#1, task_#t~ret37#1, task_#t~malloc38#1.base, task_#t~malloc38#1.offset, task_#t~ret39#1, task_#t~mem41#1, task_#t~mem42#1, task_#t~post40#1, task_~t#1.base, task_~t#1.offset, task_~a~1#1, task_~#b~1#1.base, task_~#b~1#1.offset, task_~n~1#1, task_~x~0#1.base, task_~x~0#1.offset, task_~r~1#1.base, task_~r~1#1.offset, task_~m~0#1, task_~y~0#1.base, task_~y~0#1.offset, task_~i~0#1;task_~t#1.base, task_~t#1.offset := task_#in~t#1.base, task_#in~t#1.offset; {2052#(not (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 18:18:19,118 INFO L272 TraceCheckUtils]: 17: Hoare triple {2052#(not (= |ULTIMATE.start_task_~t#1.base| 0))} call task_#t~ret30#1 := min(task_~t#1.base, task_~t#1.offset); {2018#true} is VALID [2022-02-20 18:18:19,119 INFO L290 TraceCheckUtils]: 18: Hoare triple {2018#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {2018#true} is VALID [2022-02-20 18:18:19,119 INFO L290 TraceCheckUtils]: 19: Hoare triple {2018#true} assume !(~n.base == 0 && ~n.offset == 0);call #t~mem10 := read~int(~n.base, ~n.offset, 4);~a~0 := #t~mem10;havoc #t~mem10;call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~n.base, 4 + ~n.offset, 4); {2018#true} is VALID [2022-02-20 18:18:19,119 INFO L272 TraceCheckUtils]: 20: Hoare triple {2018#true} call #t~ret12 := min(#t~mem11.base, #t~mem11.offset); {2018#true} is VALID [2022-02-20 18:18:19,119 INFO L290 TraceCheckUtils]: 21: Hoare triple {2018#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {2018#true} is VALID [2022-02-20 18:18:19,119 INFO L290 TraceCheckUtils]: 22: Hoare triple {2018#true} assume ~n.base == 0 && ~n.offset == 0;#res := 2147483647; {2018#true} is VALID [2022-02-20 18:18:19,119 INFO L290 TraceCheckUtils]: 23: Hoare triple {2018#true} assume true; {2018#true} is VALID [2022-02-20 18:18:19,119 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {2018#true} {2018#true} #141#return; {2018#true} is VALID [2022-02-20 18:18:19,119 INFO L290 TraceCheckUtils]: 25: Hoare triple {2018#true} assume -2147483648 <= #t~ret12 && #t~ret12 <= 2147483647;~b~0 := #t~ret12;havoc #t~mem11.base, #t~mem11.offset;havoc #t~ret12;call #t~mem13.base, #t~mem13.offset := read~$Pointer$(~n.base, 8 + ~n.offset, 4); {2018#true} is VALID [2022-02-20 18:18:19,119 INFO L272 TraceCheckUtils]: 26: Hoare triple {2018#true} call #t~ret14 := min(#t~mem13.base, #t~mem13.offset); {2018#true} is VALID [2022-02-20 18:18:19,120 INFO L290 TraceCheckUtils]: 27: Hoare triple {2018#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {2018#true} is VALID [2022-02-20 18:18:19,120 INFO L290 TraceCheckUtils]: 28: Hoare triple {2018#true} assume ~n.base == 0 && ~n.offset == 0;#res := 2147483647; {2018#true} is VALID [2022-02-20 18:18:19,120 INFO L290 TraceCheckUtils]: 29: Hoare triple {2018#true} assume true; {2018#true} is VALID [2022-02-20 18:18:19,120 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {2018#true} {2018#true} #143#return; {2018#true} is VALID [2022-02-20 18:18:19,120 INFO L290 TraceCheckUtils]: 31: Hoare triple {2018#true} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~c~0 := #t~ret14;havoc #t~mem13.base, #t~mem13.offset;havoc #t~ret14; {2018#true} is VALID [2022-02-20 18:18:19,120 INFO L290 TraceCheckUtils]: 32: Hoare triple {2018#true} assume ~b~0 <= ~a~0 && ~b~0 <= ~c~0;#res := ~b~0; {2018#true} is VALID [2022-02-20 18:18:19,120 INFO L290 TraceCheckUtils]: 33: Hoare triple {2018#true} assume true; {2018#true} is VALID [2022-02-20 18:18:19,121 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2018#true} {2052#(not (= |ULTIMATE.start_task_~t#1.base| 0))} #151#return; {2052#(not (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 18:18:19,121 INFO L290 TraceCheckUtils]: 35: Hoare triple {2052#(not (= |ULTIMATE.start_task_~t#1.base| 0))} assume -2147483648 <= task_#t~ret30#1 && task_#t~ret30#1 <= 2147483647;task_~a~1#1 := task_#t~ret30#1;havoc task_#t~ret30#1;call task_~#b~1#1.base, task_~#b~1#1.offset := #Ultimate.allocOnStack(4); {2052#(not (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 18:18:19,121 INFO L272 TraceCheckUtils]: 36: Hoare triple {2052#(not (= |ULTIMATE.start_task_~t#1.base| 0))} call task_#t~ret31#1 := size(task_~t#1.base, task_~t#1.offset); {2018#true} is VALID [2022-02-20 18:18:19,122 INFO L290 TraceCheckUtils]: 37: Hoare triple {2018#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {2018#true} is VALID [2022-02-20 18:18:19,122 INFO L290 TraceCheckUtils]: 38: Hoare triple {2018#true} assume !(~t.base == 0 && ~t.offset == 0);call #t~mem26.base, #t~mem26.offset := read~$Pointer$(~t.base, 4 + ~t.offset, 4); {2018#true} is VALID [2022-02-20 18:18:19,122 INFO L272 TraceCheckUtils]: 39: Hoare triple {2018#true} call #t~ret27 := size(#t~mem26.base, #t~mem26.offset); {2018#true} is VALID [2022-02-20 18:18:19,122 INFO L290 TraceCheckUtils]: 40: Hoare triple {2018#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {2018#true} is VALID [2022-02-20 18:18:19,122 INFO L290 TraceCheckUtils]: 41: Hoare triple {2018#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {2018#true} is VALID [2022-02-20 18:18:19,122 INFO L290 TraceCheckUtils]: 42: Hoare triple {2018#true} assume true; {2018#true} is VALID [2022-02-20 18:18:19,122 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {2018#true} {2018#true} #145#return; {2018#true} is VALID [2022-02-20 18:18:19,122 INFO L290 TraceCheckUtils]: 44: Hoare triple {2018#true} assume -2147483648 <= #t~ret27 && #t~ret27 <= 2147483647;call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~t.base, 8 + ~t.offset, 4); {2018#true} is VALID [2022-02-20 18:18:19,122 INFO L272 TraceCheckUtils]: 45: Hoare triple {2018#true} call #t~ret29 := size(#t~mem28.base, #t~mem28.offset); {2018#true} is VALID [2022-02-20 18:18:19,123 INFO L290 TraceCheckUtils]: 46: Hoare triple {2018#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {2018#true} is VALID [2022-02-20 18:18:19,123 INFO L290 TraceCheckUtils]: 47: Hoare triple {2018#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {2018#true} is VALID [2022-02-20 18:18:19,123 INFO L290 TraceCheckUtils]: 48: Hoare triple {2018#true} assume true; {2018#true} is VALID [2022-02-20 18:18:19,123 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {2018#true} {2018#true} #147#return; {2018#true} is VALID [2022-02-20 18:18:19,123 INFO L290 TraceCheckUtils]: 50: Hoare triple {2018#true} assume -2147483648 <= #t~ret29 && #t~ret29 <= 2147483647;#res := 1 + (#t~ret27 + #t~ret29);havoc #t~mem26.base, #t~mem26.offset;havoc #t~ret27;havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29; {2018#true} is VALID [2022-02-20 18:18:19,123 INFO L290 TraceCheckUtils]: 51: Hoare triple {2018#true} assume true; {2018#true} is VALID [2022-02-20 18:18:19,124 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {2018#true} {2052#(not (= |ULTIMATE.start_task_~t#1.base| 0))} #153#return; {2052#(not (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 18:18:19,124 INFO L290 TraceCheckUtils]: 53: Hoare triple {2052#(not (= |ULTIMATE.start_task_~t#1.base| 0))} assume -2147483648 <= task_#t~ret31#1 && task_#t~ret31#1 <= 2147483647;task_~n~1#1 := task_#t~ret31#1;havoc task_#t~ret31#1;assume { :begin_inline_assume_cycle_if_not } true;assume_cycle_if_not_#in~cond#1 := (if 0 != task_~n~1#1 then 1 else 0);havoc assume_cycle_if_not_~cond#1;assume_cycle_if_not_~cond#1 := assume_cycle_if_not_#in~cond#1; {2052#(not (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 18:18:19,125 INFO L290 TraceCheckUtils]: 54: Hoare triple {2052#(not (= |ULTIMATE.start_task_~t#1.base| 0))} assume !(0 == assume_cycle_if_not_~cond#1); {2052#(not (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 18:18:19,125 INFO L290 TraceCheckUtils]: 55: Hoare triple {2052#(not (= |ULTIMATE.start_task_~t#1.base| 0))} assume { :end_inline_assume_cycle_if_not } true;call task_#t~malloc32#1.base, task_#t~malloc32#1.offset := #Ultimate.allocOnHeap(4 * task_~n~1#1); {2052#(not (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 18:18:19,125 INFO L272 TraceCheckUtils]: 56: Hoare triple {2052#(not (= |ULTIMATE.start_task_~t#1.base| 0))} call #Ultimate.meminit(task_#t~malloc32#1.base, task_#t~malloc32#1.offset, task_~n~1#1, 4, 4 * task_~n~1#1); {2018#true} is VALID [2022-02-20 18:18:19,125 INFO L290 TraceCheckUtils]: 57: Hoare triple {2018#true} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {2018#true} is VALID [2022-02-20 18:18:19,125 INFO L290 TraceCheckUtils]: 58: Hoare triple {2018#true} assume true; {2018#true} is VALID [2022-02-20 18:18:19,126 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {2018#true} {2052#(not (= |ULTIMATE.start_task_~t#1.base| 0))} #155#return; {2052#(not (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 18:18:19,126 INFO L290 TraceCheckUtils]: 60: Hoare triple {2052#(not (= |ULTIMATE.start_task_~t#1.base| 0))} task_~x~0#1.base, task_~x~0#1.offset := task_#t~malloc32#1.base, task_#t~malloc32#1.offset; {2052#(not (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 18:18:19,127 INFO L272 TraceCheckUtils]: 61: Hoare triple {2052#(not (= |ULTIMATE.start_task_~t#1.base| 0))} call task_#t~ret33#1 := tree_inorder(task_~t#1.base, task_~t#1.offset, task_~x~0#1.base, task_~x~0#1.offset, task_~n~1#1); {2018#true} is VALID [2022-02-20 18:18:19,127 INFO L290 TraceCheckUtils]: 62: Hoare triple {2018#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~i := #in~i; {2106#(= |tree_inorder_#in~t.base| tree_inorder_~t.base)} is VALID [2022-02-20 18:18:19,127 INFO L290 TraceCheckUtils]: 63: Hoare triple {2106#(= |tree_inorder_#in~t.base| tree_inorder_~t.base)} assume ~t.base == 0 && ~t.offset == 0;#res := ~i; {2107#(= |tree_inorder_#in~t.base| 0)} is VALID [2022-02-20 18:18:19,128 INFO L290 TraceCheckUtils]: 64: Hoare triple {2107#(= |tree_inorder_#in~t.base| 0)} assume true; {2107#(= |tree_inorder_#in~t.base| 0)} is VALID [2022-02-20 18:18:19,129 INFO L284 TraceCheckUtils]: 65: Hoare quadruple {2107#(= |tree_inorder_#in~t.base| 0)} {2052#(not (= |ULTIMATE.start_task_~t#1.base| 0))} #157#return; {2019#false} is VALID [2022-02-20 18:18:19,129 INFO L290 TraceCheckUtils]: 66: Hoare triple {2019#false} assume -2147483648 <= task_#t~ret33#1 && task_#t~ret33#1 <= 2147483647;havoc task_#t~ret33#1;call task_#t~mem34#1 := read~int(task_~x~0#1.base, task_~x~0#1.offset, 4); {2019#false} is VALID [2022-02-20 18:18:19,129 INFO L272 TraceCheckUtils]: 67: Hoare triple {2019#false} call __VERIFIER_assert((if task_~a~1#1 == task_#t~mem34#1 then 1 else 0)); {2019#false} is VALID [2022-02-20 18:18:19,129 INFO L290 TraceCheckUtils]: 68: Hoare triple {2019#false} ~cond := #in~cond; {2019#false} is VALID [2022-02-20 18:18:19,129 INFO L290 TraceCheckUtils]: 69: Hoare triple {2019#false} assume 0 == ~cond; {2019#false} is VALID [2022-02-20 18:18:19,129 INFO L290 TraceCheckUtils]: 70: Hoare triple {2019#false} assume !false; {2019#false} is VALID [2022-02-20 18:18:19,130 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 29 trivial. 0 not checked. [2022-02-20 18:18:19,130 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 18:18:19,130 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [916448863] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 18:18:19,130 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 18:18:19,130 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [15] total 18 [2022-02-20 18:18:19,131 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2041140035] [2022-02-20 18:18:19,131 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 18:18:19,132 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.5) internal successors, (36), 7 states have internal predecessors, (36), 4 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (11), 5 states have call predecessors, (11), 3 states have call successors, (11) Word has length 71 [2022-02-20 18:18:19,132 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:18:19,132 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 4.5) internal successors, (36), 7 states have internal predecessors, (36), 4 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (11), 5 states have call predecessors, (11), 3 states have call successors, (11) [2022-02-20 18:18:19,183 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:18:19,184 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-02-20 18:18:19,184 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 18:18:19,185 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-02-20 18:18:19,186 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=37, Invalid=269, Unknown=0, NotChecked=0, Total=306 [2022-02-20 18:18:19,187 INFO L87 Difference]: Start difference. First operand 86 states and 112 transitions. Second operand has 8 states, 8 states have (on average 4.5) internal successors, (36), 7 states have internal predecessors, (36), 4 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (11), 5 states have call predecessors, (11), 3 states have call successors, (11) [2022-02-20 18:18:19,790 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:18:19,790 INFO L93 Difference]: Finished difference Result 140 states and 182 transitions. [2022-02-20 18:18:19,790 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 18:18:19,791 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.5) internal successors, (36), 7 states have internal predecessors, (36), 4 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (11), 5 states have call predecessors, (11), 3 states have call successors, (11) Word has length 71 [2022-02-20 18:18:19,791 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:18:19,791 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.5) internal successors, (36), 7 states have internal predecessors, (36), 4 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (11), 5 states have call predecessors, (11), 3 states have call successors, (11) [2022-02-20 18:18:19,795 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 171 transitions. [2022-02-20 18:18:19,795 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.5) internal successors, (36), 7 states have internal predecessors, (36), 4 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (11), 5 states have call predecessors, (11), 3 states have call successors, (11) [2022-02-20 18:18:19,799 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 171 transitions. [2022-02-20 18:18:19,799 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 171 transitions. [2022-02-20 18:18:19,956 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 171 edges. 171 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:18:19,958 INFO L225 Difference]: With dead ends: 140 [2022-02-20 18:18:19,958 INFO L226 Difference]: Without dead ends: 88 [2022-02-20 18:18:19,959 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 105 GetRequests, 86 SyntacticMatches, 0 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=49, Invalid=371, Unknown=0, NotChecked=0, Total=420 [2022-02-20 18:18:19,960 INFO L933 BasicCegarLoop]: 95 mSDtfsCounter, 36 mSDsluCounter, 488 mSDsCounter, 0 mSdLazyCounter, 74 mSolverCounterSat, 22 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 40 SdHoareTripleChecker+Valid, 583 SdHoareTripleChecker+Invalid, 96 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 22 IncrementalHoareTripleChecker+Valid, 74 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 18:18:19,960 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [40 Valid, 583 Invalid, 96 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [22 Valid, 74 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 18:18:19,961 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 88 states. [2022-02-20 18:18:19,979 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 88 to 88. [2022-02-20 18:18:19,979 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:18:19,980 INFO L82 GeneralOperation]: Start isEquivalent. First operand 88 states. Second operand has 88 states, 54 states have (on average 1.1481481481481481) internal successors, (62), 58 states have internal predecessors, (62), 22 states have call successors, (22), 7 states have call predecessors, (22), 11 states have return successors, (31), 22 states have call predecessors, (31), 22 states have call successors, (31) [2022-02-20 18:18:19,980 INFO L74 IsIncluded]: Start isIncluded. First operand 88 states. Second operand has 88 states, 54 states have (on average 1.1481481481481481) internal successors, (62), 58 states have internal predecessors, (62), 22 states have call successors, (22), 7 states have call predecessors, (22), 11 states have return successors, (31), 22 states have call predecessors, (31), 22 states have call successors, (31) [2022-02-20 18:18:19,980 INFO L87 Difference]: Start difference. First operand 88 states. Second operand has 88 states, 54 states have (on average 1.1481481481481481) internal successors, (62), 58 states have internal predecessors, (62), 22 states have call successors, (22), 7 states have call predecessors, (22), 11 states have return successors, (31), 22 states have call predecessors, (31), 22 states have call successors, (31) [2022-02-20 18:18:19,984 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:18:19,985 INFO L93 Difference]: Finished difference Result 88 states and 115 transitions. [2022-02-20 18:18:19,985 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 115 transitions. [2022-02-20 18:18:19,985 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:18:19,985 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:18:19,986 INFO L74 IsIncluded]: Start isIncluded. First operand has 88 states, 54 states have (on average 1.1481481481481481) internal successors, (62), 58 states have internal predecessors, (62), 22 states have call successors, (22), 7 states have call predecessors, (22), 11 states have return successors, (31), 22 states have call predecessors, (31), 22 states have call successors, (31) Second operand 88 states. [2022-02-20 18:18:19,986 INFO L87 Difference]: Start difference. First operand has 88 states, 54 states have (on average 1.1481481481481481) internal successors, (62), 58 states have internal predecessors, (62), 22 states have call successors, (22), 7 states have call predecessors, (22), 11 states have return successors, (31), 22 states have call predecessors, (31), 22 states have call successors, (31) Second operand 88 states. [2022-02-20 18:18:19,990 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:18:19,990 INFO L93 Difference]: Finished difference Result 88 states and 115 transitions. [2022-02-20 18:18:19,991 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 115 transitions. [2022-02-20 18:18:19,991 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:18:19,991 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:18:19,992 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:18:19,992 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:18:19,992 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 88 states, 54 states have (on average 1.1481481481481481) internal successors, (62), 58 states have internal predecessors, (62), 22 states have call successors, (22), 7 states have call predecessors, (22), 11 states have return successors, (31), 22 states have call predecessors, (31), 22 states have call successors, (31) [2022-02-20 18:18:19,995 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 115 transitions. [2022-02-20 18:18:19,996 INFO L78 Accepts]: Start accepts. Automaton has 88 states and 115 transitions. Word has length 71 [2022-02-20 18:18:19,996 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:18:19,996 INFO L470 AbstractCegarLoop]: Abstraction has 88 states and 115 transitions. [2022-02-20 18:18:19,997 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 4.5) internal successors, (36), 7 states have internal predecessors, (36), 4 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (11), 5 states have call predecessors, (11), 3 states have call successors, (11) [2022-02-20 18:18:19,997 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 115 transitions. [2022-02-20 18:18:19,998 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 84 [2022-02-20 18:18:19,998 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:18:19,998 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:18:20,030 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 18:18:20,211 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,SelfDestructingSolverStorable3 [2022-02-20 18:18:20,212 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:18:20,212 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:18:20,212 INFO L85 PathProgramCache]: Analyzing trace with hash -1861975499, now seen corresponding path program 1 times [2022-02-20 18:18:20,213 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 18:18:20,213 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [823050867] [2022-02-20 18:18:20,213 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:18:20,213 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 18:18:20,258 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 18:18:20,258 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-02-20 18:18:20,316 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 18:18:20,347 INFO L138 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-02-20 18:18:20,348 INFO L628 BasicCegarLoop]: Counterexample is feasible [2022-02-20 18:18:20,348 INFO L764 garLoopResultBuilder]: Registering result UNSAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-02-20 18:18:20,350 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2022-02-20 18:18:20,355 INFO L732 BasicCegarLoop]: Path program histogram: [1, 1, 1, 1, 1] [2022-02-20 18:18:20,358 INFO L180 ceAbstractionStarter]: Computing trace abstraction results [2022-02-20 18:18:20,390 FATAL L489 DefaultTranslator]: Callstack has procedure call flag but succeeding procedure is empty at [CALL] call #t~ret43 := nondet_tree(); [2022-02-20 18:18:20,391 FATAL L? ?]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.AssertionError: callstack broken after backtranslation by InlinerBacktranslator at de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator.translateProgramExecution(InlinerBacktranslator.java:230) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ModelTranslationContainer.translateProgramExecution(ModelTranslationContainer.java:216) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ModelTranslationContainer.translateProgramExecution(ModelTranslationContainer.java:225) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ModelTranslationContainer.translateProgramExecution(ModelTranslationContainer.java:225) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ModelTranslationContainer.translateProgramExecution(ModelTranslationContainer.java:206) at de.uni_freiburg.informatik.ultimate.core.lib.results.CounterExampleResult.getProgramExecutionAsString(CounterExampleResult.java:155) at de.uni_freiburg.informatik.ultimate.core.lib.results.CounterExampleResult.getLongDescription(CounterExampleResult.java:134) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ResultService.reportResult(ResultService.java:86) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.CegarLoopResultReporter.reportResult(CegarLoopResultReporter.java:141) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.reportLocationResults(TraceAbstractionStarter.java:607) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:182) 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 18:18:20,394 INFO L158 Benchmark]: Toolchain (without parser) took 11060.36ms. Allocated memory was 96.5MB in the beginning and 142.6MB in the end (delta: 46.1MB). Free memory was 65.0MB in the beginning and 88.8MB in the end (delta: -23.8MB). Peak memory consumption was 21.9MB. Max. memory is 16.1GB. [2022-02-20 18:18:20,395 INFO L158 Benchmark]: CDTParser took 0.20ms. Allocated memory is still 96.5MB. Free memory was 51.5MB in the beginning and 51.4MB in the end (delta: 70.0kB). There was no memory consumed. Max. memory is 16.1GB. [2022-02-20 18:18:20,395 INFO L158 Benchmark]: CACSL2BoogieTranslator took 343.51ms. Allocated memory is still 96.5MB. Free memory was 64.8MB in the beginning and 70.5MB in the end (delta: -5.7MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2022-02-20 18:18:20,395 INFO L158 Benchmark]: Boogie Procedure Inliner took 54.92ms. Allocated memory is still 96.5MB. Free memory was 70.5MB in the beginning and 68.7MB in the end (delta: 1.8MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2022-02-20 18:18:20,396 INFO L158 Benchmark]: Boogie Preprocessor took 42.54ms. Allocated memory is still 96.5MB. Free memory was 68.7MB in the beginning and 66.3MB in the end (delta: 2.4MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2022-02-20 18:18:20,396 INFO L158 Benchmark]: RCFGBuilder took 542.31ms. Allocated memory is still 96.5MB. Free memory was 66.3MB in the beginning and 44.9MB in the end (delta: 21.4MB). Peak memory consumption was 21.0MB. Max. memory is 16.1GB. [2022-02-20 18:18:20,396 INFO L158 Benchmark]: TraceAbstraction took 10065.92ms. Allocated memory was 96.5MB in the beginning and 142.6MB in the end (delta: 46.1MB). Free memory was 44.4MB in the beginning and 88.8MB in the end (delta: -44.4MB). Peak memory consumption was 3.9MB. Max. memory is 16.1GB. [2022-02-20 18:18:20,398 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.20ms. Allocated memory is still 96.5MB. Free memory was 51.5MB in the beginning and 51.4MB in the end (delta: 70.0kB). There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 343.51ms. Allocated memory is still 96.5MB. Free memory was 64.8MB in the beginning and 70.5MB in the end (delta: -5.7MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 54.92ms. Allocated memory is still 96.5MB. Free memory was 70.5MB in the beginning and 68.7MB in the end (delta: 1.8MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * Boogie Preprocessor took 42.54ms. Allocated memory is still 96.5MB. Free memory was 68.7MB in the beginning and 66.3MB in the end (delta: 2.4MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * RCFGBuilder took 542.31ms. Allocated memory is still 96.5MB. Free memory was 66.3MB in the beginning and 44.9MB in the end (delta: 21.4MB). Peak memory consumption was 21.0MB. Max. memory is 16.1GB. * TraceAbstraction took 10065.92ms. Allocated memory was 96.5MB in the beginning and 142.6MB in the end (delta: 46.1MB). Free memory was 44.4MB in the beginning and 88.8MB in the end (delta: -44.4MB). Peak memory consumption was 3.9MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - ExceptionOrErrorResult: AssertionError: callstack broken after backtranslation by InlinerBacktranslator de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: AssertionError: callstack broken after backtranslation by InlinerBacktranslator: de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator.translateProgramExecution(InlinerBacktranslator.java:230) RESULT: Ultimate could not prove your program: Toolchain returned no result. [2022-02-20 18:18:20,437 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 Received shutdown request... --- End real Ultimate output --- Execution finished normally 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/verifythis/tree_del_rec.c -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 448d6e9f7f0c094a8335d652a2766ae983308e33ec1a543ceaed97ae79744722 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 18:18:22,520 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 18:18:22,523 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 18:18:22,563 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 18:18:22,564 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 18:18:22,567 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 18:18:22,568 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 18:18:22,573 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 18:18:22,575 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 18:18:22,579 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 18:18:22,580 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 18:18:22,581 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 18:18:22,582 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 18:18:22,584 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 18:18:22,585 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 18:18:22,590 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 18:18:22,591 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 18:18:22,592 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 18:18:22,594 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 18:18:22,600 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 18:18:22,601 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 18:18:22,602 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 18:18:22,603 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 18:18:22,605 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 18:18:22,623 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 18:18:22,624 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 18:18:22,624 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 18:18:22,626 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 18:18:22,626 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 18:18:22,627 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 18:18:22,628 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 18:18:22,628 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 18:18:22,630 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 18:18:22,631 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 18:18:22,632 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 18:18:22,632 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 18:18:22,633 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 18:18:22,633 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 18:18:22,633 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 18:18:22,635 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 18:18:22,635 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 18:18:22,637 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Bitvector.epf [2022-02-20 18:18:22,673 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 18:18:22,674 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 18:18:22,675 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 18:18:22,675 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 18:18:22,676 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 18:18:22,676 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 18:18:22,678 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 18:18:22,678 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 18:18:22,678 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 18:18:22,679 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 18:18:22,679 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 18:18:22,680 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 18:18:22,680 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 18:18:22,680 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 18:18:22,680 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 18:18:22,681 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 18:18:22,681 INFO L138 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2022-02-20 18:18:22,681 INFO L138 SettingsManager]: * Use bitvectors instead of ints=true [2022-02-20 18:18:22,681 INFO L138 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2022-02-20 18:18:22,682 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 18:18:22,682 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 18:18:22,682 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 18:18:22,682 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 18:18:22,683 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 18:18:22,683 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 18:18:22,683 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 18:18:22,683 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 18:18:22,683 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 18:18:22,684 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 18:18:22,684 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 18:18:22,684 INFO L138 SettingsManager]: * Trace refinement strategy=WOLF [2022-02-20 18:18:22,684 INFO L138 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2022-02-20 18:18:22,685 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 18:18:22,685 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 18:18:22,685 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 18:18:22,685 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2022-02-20 18:18:22,686 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 -> 448d6e9f7f0c094a8335d652a2766ae983308e33ec1a543ceaed97ae79744722 [2022-02-20 18:18:23,017 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 18:18:23,043 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 18:18:23,045 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 18:18:23,046 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 18:18:23,047 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 18:18:23,048 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/verifythis/tree_del_rec.c [2022-02-20 18:18:23,114 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/aa48254bf/a54f74501a6542a8924002eda4a72f03/FLAGb3d936e23 [2022-02-20 18:18:23,538 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 18:18:23,538 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/verifythis/tree_del_rec.c [2022-02-20 18:18:23,544 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/aa48254bf/a54f74501a6542a8924002eda4a72f03/FLAGb3d936e23 [2022-02-20 18:18:23,936 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/aa48254bf/a54f74501a6542a8924002eda4a72f03 [2022-02-20 18:18:23,938 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 18:18:23,939 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 18:18:23,941 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 18:18:23,941 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 18:18:23,947 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 18:18:23,949 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 06:18:23" (1/1) ... [2022-02-20 18:18:23,949 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@7c8e305b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:18:23, skipping insertion in model container [2022-02-20 18:18:23,950 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 06:18:23" (1/1) ... [2022-02-20 18:18:23,956 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 18:18:23,977 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 18:18:24,109 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/verifythis/tree_del_rec.c[585,598] [2022-02-20 18:18:24,123 WARN L1545 CHandler]: Possible shadowing of function min [2022-02-20 18:18:24,126 WARN L1545 CHandler]: Possible shadowing of function min [2022-02-20 18:18:24,141 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 18:18:24,165 INFO L200 MainTranslator]: Restarting translation with changed settings: SettingsChange [mNewPreferredMemoryModel=HoenickeLindenmann_1ByteResolution] [2022-02-20 18:18:24,181 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 18:18:24,185 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/verifythis/tree_del_rec.c[585,598] [2022-02-20 18:18:24,198 WARN L1545 CHandler]: Possible shadowing of function min [2022-02-20 18:18:24,200 WARN L1545 CHandler]: Possible shadowing of function min [2022-02-20 18:18:24,210 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 18:18:24,216 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 18:18:24,229 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/verifythis/tree_del_rec.c[585,598] [2022-02-20 18:18:24,237 WARN L1545 CHandler]: Possible shadowing of function min [2022-02-20 18:18:24,239 WARN L1545 CHandler]: Possible shadowing of function min [2022-02-20 18:18:24,249 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 18:18:24,264 INFO L208 MainTranslator]: Completed translation [2022-02-20 18:18:24,264 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:18:24 WrapperNode [2022-02-20 18:18:24,264 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 18:18:24,266 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 18:18:24,266 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 18:18:24,266 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 18:18:24,272 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:18:24" (1/1) ... [2022-02-20 18:18:24,283 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:18:24" (1/1) ... [2022-02-20 18:18:24,303 INFO L137 Inliner]: procedures = 31, calls = 61, calls flagged for inlining = 4, calls inlined = 4, statements flattened = 69 [2022-02-20 18:18:24,304 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 18:18:24,305 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 18:18:24,305 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 18:18:24,305 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 18:18:24,312 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:18:24" (1/1) ... [2022-02-20 18:18:24,312 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:18:24" (1/1) ... [2022-02-20 18:18:24,318 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:18:24" (1/1) ... [2022-02-20 18:18:24,318 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:18:24" (1/1) ... [2022-02-20 18:18:24,331 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:18:24" (1/1) ... [2022-02-20 18:18:24,336 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:18:24" (1/1) ... [2022-02-20 18:18:24,338 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:18:24" (1/1) ... [2022-02-20 18:18:24,341 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 18:18:24,342 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 18:18:24,342 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 18:18:24,342 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 18:18:24,343 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:18:24" (1/1) ... [2022-02-20 18:18:24,349 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 18:18:24,358 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 18:18:24,373 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 18:18:24,380 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 18:18:24,409 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 18:18:24,409 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1 [2022-02-20 18:18:24,409 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-02-20 18:18:24,410 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2022-02-20 18:18:24,410 INFO L130 BoogieDeclarations]: Found specification of procedure tree_del [2022-02-20 18:18:24,410 INFO L138 BoogieDeclarations]: Found implementation of procedure tree_del [2022-02-20 18:18:24,410 INFO L130 BoogieDeclarations]: Found specification of procedure min [2022-02-20 18:18:24,410 INFO L138 BoogieDeclarations]: Found implementation of procedure min [2022-02-20 18:18:24,411 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2022-02-20 18:18:24,411 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.meminit [2022-02-20 18:18:24,411 INFO L138 BoogieDeclarations]: Found implementation of procedure #Ultimate.meminit [2022-02-20 18:18:24,411 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2022-02-20 18:18:24,411 INFO L130 BoogieDeclarations]: Found specification of procedure nondet_tree [2022-02-20 18:18:24,412 INFO L138 BoogieDeclarations]: Found implementation of procedure nondet_tree [2022-02-20 18:18:24,412 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2022-02-20 18:18:24,412 INFO L130 BoogieDeclarations]: Found specification of procedure size [2022-02-20 18:18:24,412 INFO L138 BoogieDeclarations]: Found implementation of procedure size [2022-02-20 18:18:24,412 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 18:18:24,412 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 18:18:24,413 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-02-20 18:18:24,413 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-02-20 18:18:24,413 INFO L130 BoogieDeclarations]: Found specification of procedure tree_inorder [2022-02-20 18:18:24,413 INFO L138 BoogieDeclarations]: Found implementation of procedure tree_inorder [2022-02-20 18:18:24,413 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 18:18:24,414 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2022-02-20 18:18:24,511 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 18:18:24,513 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 18:18:24,989 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 18:18:24,996 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 18:18:24,996 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-02-20 18:18:24,998 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 06:18:24 BoogieIcfgContainer [2022-02-20 18:18:24,998 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 18:18:25,000 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 18:18:25,000 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 18:18:25,002 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 18:18:25,002 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 06:18:23" (1/3) ... [2022-02-20 18:18:25,003 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2d73752d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 06:18:25, skipping insertion in model container [2022-02-20 18:18:25,003 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:18:24" (2/3) ... [2022-02-20 18:18:25,004 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2d73752d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 06:18:25, skipping insertion in model container [2022-02-20 18:18:25,004 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 06:18:24" (3/3) ... [2022-02-20 18:18:25,005 INFO L111 eAbstractionObserver]: Analyzing ICFG tree_del_rec.c [2022-02-20 18:18:25,009 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 18:18:25,009 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 18:18:25,071 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 18:18:25,077 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 18:18:25,077 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-02-20 18:18:25,095 INFO L276 IsEmpty]: Start isEmpty. Operand has 86 states, 55 states have (on average 1.2545454545454546) internal successors, (69), 56 states have internal predecessors, (69), 22 states have call successors, (22), 7 states have call predecessors, (22), 7 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) [2022-02-20 18:18:25,104 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-02-20 18:18:25,105 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:18:25,106 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:18:25,107 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:18:25,110 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:18:25,111 INFO L85 PathProgramCache]: Analyzing trace with hash 909892653, now seen corresponding path program 1 times [2022-02-20 18:18:25,122 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 18:18:25,123 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1265951372] [2022-02-20 18:18:25,123 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:18:25,124 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 18:18:25,124 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 18:18:25,126 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 18:18:25,144 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 18:18:25,281 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:25,286 INFO L263 TraceCheckSpWp]: Trace formula consists of 120 conjuncts, 6 conjunts are in the unsatisfiable core [2022-02-20 18:18:25,321 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:25,325 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 18:18:25,554 INFO L290 TraceCheckUtils]: 0: Hoare triple {89#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);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);call #Ultimate.allocInit(12bv32, 3bv32); {89#true} is VALID [2022-02-20 18:18:25,555 INFO L290 TraceCheckUtils]: 1: Hoare triple {89#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret43#1.base, main_#t~ret43#1.offset; {89#true} is VALID [2022-02-20 18:18:25,555 INFO L272 TraceCheckUtils]: 2: Hoare triple {89#true} call main_#t~ret43#1.base, main_#t~ret43#1.offset := nondet_tree(); {89#true} is VALID [2022-02-20 18:18:25,555 INFO L290 TraceCheckUtils]: 3: Hoare triple {89#true} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {89#true} is VALID [2022-02-20 18:18:25,556 INFO L290 TraceCheckUtils]: 4: Hoare triple {89#true} assume true; {89#true} is VALID [2022-02-20 18:18:25,556 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {89#true} {89#true} #149#return; {89#true} is VALID [2022-02-20 18:18:25,556 INFO L290 TraceCheckUtils]: 6: Hoare triple {89#true} assume { :begin_inline_task } true;task_#in~t#1.base, task_#in~t#1.offset := main_#t~ret43#1.base, main_#t~ret43#1.offset;havoc task_#t~ret30#1, task_#t~ret31#1, task_#t~malloc32#1.base, task_#t~malloc32#1.offset, task_#t~ret33#1, task_#t~mem34#1, task_#t~ret35#1.base, task_#t~ret35#1.offset, task_#t~mem36#1, task_#t~ret37#1, task_#t~malloc38#1.base, task_#t~malloc38#1.offset, task_#t~ret39#1, task_#t~mem41#1, task_#t~mem42#1, task_#t~post40#1, task_~t#1.base, task_~t#1.offset, task_~a~1#1, task_~#b~1#1.base, task_~#b~1#1.offset, task_~n~1#1, task_~x~0#1.base, task_~x~0#1.offset, task_~r~1#1.base, task_~r~1#1.offset, task_~m~0#1, task_~y~0#1.base, task_~y~0#1.offset, task_~i~0#1;task_~t#1.base, task_~t#1.offset := task_#in~t#1.base, task_#in~t#1.offset; {89#true} is VALID [2022-02-20 18:18:25,557 INFO L272 TraceCheckUtils]: 7: Hoare triple {89#true} call task_#t~ret30#1 := min(task_~t#1.base, task_~t#1.offset); {89#true} is VALID [2022-02-20 18:18:25,557 INFO L290 TraceCheckUtils]: 8: Hoare triple {89#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {89#true} is VALID [2022-02-20 18:18:25,557 INFO L290 TraceCheckUtils]: 9: Hoare triple {89#true} assume ~n.base == 0bv32 && ~n.offset == 0bv32;#res := 2147483647bv32; {89#true} is VALID [2022-02-20 18:18:25,557 INFO L290 TraceCheckUtils]: 10: Hoare triple {89#true} assume true; {89#true} is VALID [2022-02-20 18:18:25,558 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {89#true} {89#true} #151#return; {89#true} is VALID [2022-02-20 18:18:25,558 INFO L290 TraceCheckUtils]: 12: Hoare triple {89#true} task_~a~1#1 := task_#t~ret30#1;havoc task_#t~ret30#1;call task_~#b~1#1.base, task_~#b~1#1.offset := #Ultimate.allocOnStack(4bv32); {89#true} is VALID [2022-02-20 18:18:25,558 INFO L272 TraceCheckUtils]: 13: Hoare triple {89#true} call task_#t~ret31#1 := size(task_~t#1.base, task_~t#1.offset); {89#true} is VALID [2022-02-20 18:18:25,558 INFO L290 TraceCheckUtils]: 14: Hoare triple {89#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {89#true} is VALID [2022-02-20 18:18:25,559 INFO L290 TraceCheckUtils]: 15: Hoare triple {89#true} assume ~t.base == 0bv32 && ~t.offset == 0bv32;#res := 0bv32; {139#(= |size_#res| (_ bv0 32))} is VALID [2022-02-20 18:18:25,560 INFO L290 TraceCheckUtils]: 16: Hoare triple {139#(= |size_#res| (_ bv0 32))} assume true; {139#(= |size_#res| (_ bv0 32))} is VALID [2022-02-20 18:18:25,561 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {139#(= |size_#res| (_ bv0 32))} {89#true} #153#return; {146#(= |ULTIMATE.start_task_#t~ret31#1| (_ bv0 32))} is VALID [2022-02-20 18:18:25,562 INFO L290 TraceCheckUtils]: 18: Hoare triple {146#(= |ULTIMATE.start_task_#t~ret31#1| (_ bv0 32))} task_~n~1#1 := task_#t~ret31#1;havoc task_#t~ret31#1;assume { :begin_inline_assume_cycle_if_not } true;assume_cycle_if_not_#in~cond#1 := (if 0bv32 != task_~n~1#1 then 1bv32 else 0bv32);havoc assume_cycle_if_not_~cond#1;assume_cycle_if_not_~cond#1 := assume_cycle_if_not_#in~cond#1; {150#(= |ULTIMATE.start_assume_cycle_if_not_~cond#1| (_ bv0 32))} is VALID [2022-02-20 18:18:25,563 INFO L290 TraceCheckUtils]: 19: Hoare triple {150#(= |ULTIMATE.start_assume_cycle_if_not_~cond#1| (_ bv0 32))} assume !(0bv32 == assume_cycle_if_not_~cond#1); {90#false} is VALID [2022-02-20 18:18:25,563 INFO L290 TraceCheckUtils]: 20: Hoare triple {90#false} assume { :end_inline_assume_cycle_if_not } true;call task_#t~malloc32#1.base, task_#t~malloc32#1.offset := #Ultimate.allocOnHeap(~bvmul32(4bv32, task_~n~1#1)); {90#false} is VALID [2022-02-20 18:18:25,563 INFO L272 TraceCheckUtils]: 21: Hoare triple {90#false} call #Ultimate.meminit(task_#t~malloc32#1.base, task_#t~malloc32#1.offset, task_~n~1#1, 4bv32, ~bvmul32(4bv32, task_~n~1#1)); {90#false} is VALID [2022-02-20 18:18:25,563 INFO L290 TraceCheckUtils]: 22: Hoare triple {90#false} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {90#false} is VALID [2022-02-20 18:18:25,564 INFO L290 TraceCheckUtils]: 23: Hoare triple {90#false} assume true; {90#false} is VALID [2022-02-20 18:18:25,564 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {90#false} {90#false} #155#return; {90#false} is VALID [2022-02-20 18:18:25,564 INFO L290 TraceCheckUtils]: 25: Hoare triple {90#false} task_~x~0#1.base, task_~x~0#1.offset := task_#t~malloc32#1.base, task_#t~malloc32#1.offset; {90#false} is VALID [2022-02-20 18:18:25,564 INFO L272 TraceCheckUtils]: 26: Hoare triple {90#false} call task_#t~ret33#1 := tree_inorder(task_~t#1.base, task_~t#1.offset, task_~x~0#1.base, task_~x~0#1.offset, task_~n~1#1); {90#false} is VALID [2022-02-20 18:18:25,565 INFO L290 TraceCheckUtils]: 27: Hoare triple {90#false} ~t.base, ~t.offset := #in~t.base, #in~t.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~i := #in~i; {90#false} is VALID [2022-02-20 18:18:25,565 INFO L290 TraceCheckUtils]: 28: Hoare triple {90#false} assume ~t.base == 0bv32 && ~t.offset == 0bv32;#res := ~i; {90#false} is VALID [2022-02-20 18:18:25,565 INFO L290 TraceCheckUtils]: 29: Hoare triple {90#false} assume true; {90#false} is VALID [2022-02-20 18:18:25,565 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {90#false} {90#false} #157#return; {90#false} is VALID [2022-02-20 18:18:25,566 INFO L290 TraceCheckUtils]: 31: Hoare triple {90#false} havoc task_#t~ret33#1;call task_#t~mem34#1 := read~intINTTYPE4(task_~x~0#1.base, task_~x~0#1.offset, 4bv32); {90#false} is VALID [2022-02-20 18:18:25,566 INFO L272 TraceCheckUtils]: 32: Hoare triple {90#false} call __VERIFIER_assert((if task_~a~1#1 == task_#t~mem34#1 then 1bv32 else 0bv32)); {90#false} is VALID [2022-02-20 18:18:25,566 INFO L290 TraceCheckUtils]: 33: Hoare triple {90#false} ~cond := #in~cond; {90#false} is VALID [2022-02-20 18:18:25,566 INFO L290 TraceCheckUtils]: 34: Hoare triple {90#false} assume 0bv32 == ~cond; {90#false} is VALID [2022-02-20 18:18:25,567 INFO L290 TraceCheckUtils]: 35: Hoare triple {90#false} assume !false; {90#false} is VALID [2022-02-20 18:18:25,568 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 18:18:25,568 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 18:18:25,569 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 18:18:25,569 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1265951372] [2022-02-20 18:18:25,570 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1265951372] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 18:18:25,570 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 18:18:25,570 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 18:18:25,572 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1445752768] [2022-02-20 18:18:25,572 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 18:18:25,576 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.0) internal successors, (25), 4 states have internal predecessors, (25), 2 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 36 [2022-02-20 18:18:25,578 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:18:25,581 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 5.0) internal successors, (25), 4 states have internal predecessors, (25), 2 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 18:18:25,625 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:18:25,625 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 18:18:25,626 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 18:18:25,643 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 18:18:25,644 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 18:18:25,647 INFO L87 Difference]: Start difference. First operand has 86 states, 55 states have (on average 1.2545454545454546) internal successors, (69), 56 states have internal predecessors, (69), 22 states have call successors, (22), 7 states have call predecessors, (22), 7 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) Second operand has 5 states, 5 states have (on average 5.0) internal successors, (25), 4 states have internal predecessors, (25), 2 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 18:18:26,535 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:18:26,536 INFO L93 Difference]: Finished difference Result 149 states and 199 transitions. [2022-02-20 18:18:26,536 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 18:18:26,536 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.0) internal successors, (25), 4 states have internal predecessors, (25), 2 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 36 [2022-02-20 18:18:26,537 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:18:26,539 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.0) internal successors, (25), 4 states have internal predecessors, (25), 2 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 18:18:26,569 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 199 transitions. [2022-02-20 18:18:26,571 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.0) internal successors, (25), 4 states have internal predecessors, (25), 2 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 18:18:26,584 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 199 transitions. [2022-02-20 18:18:26,584 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 199 transitions. [2022-02-20 18:18:26,839 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 199 edges. 199 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:18:26,850 INFO L225 Difference]: With dead ends: 149 [2022-02-20 18:18:26,850 INFO L226 Difference]: Without dead ends: 82 [2022-02-20 18:18:26,853 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 32 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 18:18:26,859 INFO L933 BasicCegarLoop]: 107 mSDtfsCounter, 2 mSDsluCounter, 316 mSDsCounter, 0 mSdLazyCounter, 10 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 2 SdHoareTripleChecker+Valid, 423 SdHoareTripleChecker+Invalid, 11 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 10 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 18:18:26,860 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [2 Valid, 423 Invalid, 11 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 10 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 18:18:26,874 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 82 states. [2022-02-20 18:18:26,891 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 82 to 82. [2022-02-20 18:18:26,891 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:18:26,892 INFO L82 GeneralOperation]: Start isEquivalent. First operand 82 states. Second operand has 82 states, 51 states have (on average 1.1568627450980393) internal successors, (59), 52 states have internal predecessors, (59), 22 states have call successors, (22), 7 states have call predecessors, (22), 8 states have return successors, (25), 22 states have call predecessors, (25), 22 states have call successors, (25) [2022-02-20 18:18:26,893 INFO L74 IsIncluded]: Start isIncluded. First operand 82 states. Second operand has 82 states, 51 states have (on average 1.1568627450980393) internal successors, (59), 52 states have internal predecessors, (59), 22 states have call successors, (22), 7 states have call predecessors, (22), 8 states have return successors, (25), 22 states have call predecessors, (25), 22 states have call successors, (25) [2022-02-20 18:18:26,894 INFO L87 Difference]: Start difference. First operand 82 states. Second operand has 82 states, 51 states have (on average 1.1568627450980393) internal successors, (59), 52 states have internal predecessors, (59), 22 states have call successors, (22), 7 states have call predecessors, (22), 8 states have return successors, (25), 22 states have call predecessors, (25), 22 states have call successors, (25) [2022-02-20 18:18:26,901 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:18:26,901 INFO L93 Difference]: Finished difference Result 82 states and 106 transitions. [2022-02-20 18:18:26,902 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 106 transitions. [2022-02-20 18:18:26,904 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:18:26,904 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:18:26,905 INFO L74 IsIncluded]: Start isIncluded. First operand has 82 states, 51 states have (on average 1.1568627450980393) internal successors, (59), 52 states have internal predecessors, (59), 22 states have call successors, (22), 7 states have call predecessors, (22), 8 states have return successors, (25), 22 states have call predecessors, (25), 22 states have call successors, (25) Second operand 82 states. [2022-02-20 18:18:26,905 INFO L87 Difference]: Start difference. First operand has 82 states, 51 states have (on average 1.1568627450980393) internal successors, (59), 52 states have internal predecessors, (59), 22 states have call successors, (22), 7 states have call predecessors, (22), 8 states have return successors, (25), 22 states have call predecessors, (25), 22 states have call successors, (25) Second operand 82 states. [2022-02-20 18:18:26,911 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:18:26,912 INFO L93 Difference]: Finished difference Result 82 states and 106 transitions. [2022-02-20 18:18:26,912 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 106 transitions. [2022-02-20 18:18:26,913 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:18:26,913 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:18:26,914 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:18:26,914 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:18:26,915 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 82 states, 51 states have (on average 1.1568627450980393) internal successors, (59), 52 states have internal predecessors, (59), 22 states have call successors, (22), 7 states have call predecessors, (22), 8 states have return successors, (25), 22 states have call predecessors, (25), 22 states have call successors, (25) [2022-02-20 18:18:26,919 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 82 states to 82 states and 106 transitions. [2022-02-20 18:18:26,921 INFO L78 Accepts]: Start accepts. Automaton has 82 states and 106 transitions. Word has length 36 [2022-02-20 18:18:26,921 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:18:26,921 INFO L470 AbstractCegarLoop]: Abstraction has 82 states and 106 transitions. [2022-02-20 18:18:26,922 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 5.0) internal successors, (25), 4 states have internal predecessors, (25), 2 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 18:18:26,922 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 106 transitions. [2022-02-20 18:18:26,924 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-02-20 18:18:26,929 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:18:26,929 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:18:26,940 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 18:18:27,130 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 18:18:27,130 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:18:27,131 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:18:27,131 INFO L85 PathProgramCache]: Analyzing trace with hash -1373837682, now seen corresponding path program 1 times [2022-02-20 18:18:27,132 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 18:18:27,132 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1940888181] [2022-02-20 18:18:27,132 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:18:27,132 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 18:18:27,132 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 18:18:27,134 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 18:18:27,136 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 18:18:27,229 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:27,234 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 13 conjunts are in the unsatisfiable core [2022-02-20 18:18:27,252 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:27,254 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 18:18:27,738 INFO L290 TraceCheckUtils]: 0: Hoare triple {678#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);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);call #Ultimate.allocInit(12bv32, 3bv32); {678#true} is VALID [2022-02-20 18:18:27,738 INFO L290 TraceCheckUtils]: 1: Hoare triple {678#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret43#1.base, main_#t~ret43#1.offset; {678#true} is VALID [2022-02-20 18:18:27,738 INFO L272 TraceCheckUtils]: 2: Hoare triple {678#true} call main_#t~ret43#1.base, main_#t~ret43#1.offset := nondet_tree(); {678#true} is VALID [2022-02-20 18:18:27,739 INFO L290 TraceCheckUtils]: 3: Hoare triple {678#true} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {692#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} is VALID [2022-02-20 18:18:27,739 INFO L290 TraceCheckUtils]: 4: Hoare triple {692#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} assume true; {692#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} is VALID [2022-02-20 18:18:27,740 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {692#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} {678#true} #149#return; {699#(and (= (_ bv0 32) |ULTIMATE.start_main_#t~ret43#1.offset|) (= |ULTIMATE.start_main_#t~ret43#1.base| (_ bv0 32)))} is VALID [2022-02-20 18:18:27,741 INFO L290 TraceCheckUtils]: 6: Hoare triple {699#(and (= (_ bv0 32) |ULTIMATE.start_main_#t~ret43#1.offset|) (= |ULTIMATE.start_main_#t~ret43#1.base| (_ bv0 32)))} assume { :begin_inline_task } true;task_#in~t#1.base, task_#in~t#1.offset := main_#t~ret43#1.base, main_#t~ret43#1.offset;havoc task_#t~ret30#1, task_#t~ret31#1, task_#t~malloc32#1.base, task_#t~malloc32#1.offset, task_#t~ret33#1, task_#t~mem34#1, task_#t~ret35#1.base, task_#t~ret35#1.offset, task_#t~mem36#1, task_#t~ret37#1, task_#t~malloc38#1.base, task_#t~malloc38#1.offset, task_#t~ret39#1, task_#t~mem41#1, task_#t~mem42#1, task_#t~post40#1, task_~t#1.base, task_~t#1.offset, task_~a~1#1, task_~#b~1#1.base, task_~#b~1#1.offset, task_~n~1#1, task_~x~0#1.base, task_~x~0#1.offset, task_~r~1#1.base, task_~r~1#1.offset, task_~m~0#1, task_~y~0#1.base, task_~y~0#1.offset, task_~i~0#1;task_~t#1.base, task_~t#1.offset := task_#in~t#1.base, task_#in~t#1.offset; {703#(and (= (_ bv0 32) |ULTIMATE.start_task_~t#1.offset|) (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} is VALID [2022-02-20 18:18:27,741 INFO L272 TraceCheckUtils]: 7: Hoare triple {703#(and (= (_ bv0 32) |ULTIMATE.start_task_~t#1.offset|) (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} call task_#t~ret30#1 := min(task_~t#1.base, task_~t#1.offset); {678#true} is VALID [2022-02-20 18:18:27,741 INFO L290 TraceCheckUtils]: 8: Hoare triple {678#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {678#true} is VALID [2022-02-20 18:18:27,742 INFO L290 TraceCheckUtils]: 9: Hoare triple {678#true} assume ~n.base == 0bv32 && ~n.offset == 0bv32;#res := 2147483647bv32; {678#true} is VALID [2022-02-20 18:18:27,742 INFO L290 TraceCheckUtils]: 10: Hoare triple {678#true} assume true; {678#true} is VALID [2022-02-20 18:18:27,743 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {678#true} {703#(and (= (_ bv0 32) |ULTIMATE.start_task_~t#1.offset|) (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} #151#return; {703#(and (= (_ bv0 32) |ULTIMATE.start_task_~t#1.offset|) (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} is VALID [2022-02-20 18:18:27,746 INFO L290 TraceCheckUtils]: 12: Hoare triple {703#(and (= (_ bv0 32) |ULTIMATE.start_task_~t#1.offset|) (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} task_~a~1#1 := task_#t~ret30#1;havoc task_#t~ret30#1;call task_~#b~1#1.base, task_~#b~1#1.offset := #Ultimate.allocOnStack(4bv32); {703#(and (= (_ bv0 32) |ULTIMATE.start_task_~t#1.offset|) (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} is VALID [2022-02-20 18:18:27,746 INFO L272 TraceCheckUtils]: 13: Hoare triple {703#(and (= (_ bv0 32) |ULTIMATE.start_task_~t#1.offset|) (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} call task_#t~ret31#1 := size(task_~t#1.base, task_~t#1.offset); {678#true} is VALID [2022-02-20 18:18:27,747 INFO L290 TraceCheckUtils]: 14: Hoare triple {678#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {728#(and (= size_~t.offset |size_#in~t.offset|) (= |size_#in~t.base| size_~t.base))} is VALID [2022-02-20 18:18:27,748 INFO L290 TraceCheckUtils]: 15: Hoare triple {728#(and (= size_~t.offset |size_#in~t.offset|) (= |size_#in~t.base| size_~t.base))} assume !(~t.base == 0bv32 && ~t.offset == 0bv32);call #t~mem26.base, #t~mem26.offset := read~$Pointer$(~t.base, ~bvadd32(4bv32, ~t.offset), 4bv32); {732#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} is VALID [2022-02-20 18:18:27,748 INFO L272 TraceCheckUtils]: 16: Hoare triple {732#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} call #t~ret27 := size(#t~mem26.base, #t~mem26.offset); {678#true} is VALID [2022-02-20 18:18:27,748 INFO L290 TraceCheckUtils]: 17: Hoare triple {678#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {678#true} is VALID [2022-02-20 18:18:27,749 INFO L290 TraceCheckUtils]: 18: Hoare triple {678#true} assume ~t.base == 0bv32 && ~t.offset == 0bv32;#res := 0bv32; {678#true} is VALID [2022-02-20 18:18:27,750 INFO L290 TraceCheckUtils]: 19: Hoare triple {678#true} assume true; {678#true} is VALID [2022-02-20 18:18:27,751 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {678#true} {732#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} #145#return; {732#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} is VALID [2022-02-20 18:18:27,752 INFO L290 TraceCheckUtils]: 21: Hoare triple {732#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~t.base, ~bvadd32(8bv32, ~t.offset), 4bv32); {732#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} is VALID [2022-02-20 18:18:27,752 INFO L272 TraceCheckUtils]: 22: Hoare triple {732#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} call #t~ret29 := size(#t~mem28.base, #t~mem28.offset); {678#true} is VALID [2022-02-20 18:18:27,752 INFO L290 TraceCheckUtils]: 23: Hoare triple {678#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {678#true} is VALID [2022-02-20 18:18:27,753 INFO L290 TraceCheckUtils]: 24: Hoare triple {678#true} assume ~t.base == 0bv32 && ~t.offset == 0bv32;#res := 0bv32; {678#true} is VALID [2022-02-20 18:18:27,753 INFO L290 TraceCheckUtils]: 25: Hoare triple {678#true} assume true; {678#true} is VALID [2022-02-20 18:18:27,754 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {678#true} {732#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} #147#return; {732#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} is VALID [2022-02-20 18:18:27,754 INFO L290 TraceCheckUtils]: 27: Hoare triple {732#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} #res := ~bvadd32(1bv32, ~bvadd32(#t~ret27, #t~ret29));havoc #t~mem26.base, #t~mem26.offset;havoc #t~ret27;havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29; {732#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} is VALID [2022-02-20 18:18:27,755 INFO L290 TraceCheckUtils]: 28: Hoare triple {732#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} assume true; {732#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} is VALID [2022-02-20 18:18:27,756 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {732#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} {703#(and (= (_ bv0 32) |ULTIMATE.start_task_~t#1.offset|) (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} #153#return; {679#false} is VALID [2022-02-20 18:18:27,757 INFO L290 TraceCheckUtils]: 30: Hoare triple {679#false} task_~n~1#1 := task_#t~ret31#1;havoc task_#t~ret31#1;assume { :begin_inline_assume_cycle_if_not } true;assume_cycle_if_not_#in~cond#1 := (if 0bv32 != task_~n~1#1 then 1bv32 else 0bv32);havoc assume_cycle_if_not_~cond#1;assume_cycle_if_not_~cond#1 := assume_cycle_if_not_#in~cond#1; {679#false} is VALID [2022-02-20 18:18:27,757 INFO L290 TraceCheckUtils]: 31: Hoare triple {679#false} assume !(0bv32 == assume_cycle_if_not_~cond#1); {679#false} is VALID [2022-02-20 18:18:27,757 INFO L290 TraceCheckUtils]: 32: Hoare triple {679#false} assume { :end_inline_assume_cycle_if_not } true;call task_#t~malloc32#1.base, task_#t~malloc32#1.offset := #Ultimate.allocOnHeap(~bvmul32(4bv32, task_~n~1#1)); {679#false} is VALID [2022-02-20 18:18:27,757 INFO L272 TraceCheckUtils]: 33: Hoare triple {679#false} call #Ultimate.meminit(task_#t~malloc32#1.base, task_#t~malloc32#1.offset, task_~n~1#1, 4bv32, ~bvmul32(4bv32, task_~n~1#1)); {679#false} is VALID [2022-02-20 18:18:27,758 INFO L290 TraceCheckUtils]: 34: Hoare triple {679#false} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {679#false} is VALID [2022-02-20 18:18:27,758 INFO L290 TraceCheckUtils]: 35: Hoare triple {679#false} assume true; {679#false} is VALID [2022-02-20 18:18:27,758 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {679#false} {679#false} #155#return; {679#false} is VALID [2022-02-20 18:18:27,758 INFO L290 TraceCheckUtils]: 37: Hoare triple {679#false} task_~x~0#1.base, task_~x~0#1.offset := task_#t~malloc32#1.base, task_#t~malloc32#1.offset; {679#false} is VALID [2022-02-20 18:18:27,758 INFO L272 TraceCheckUtils]: 38: Hoare triple {679#false} call task_#t~ret33#1 := tree_inorder(task_~t#1.base, task_~t#1.offset, task_~x~0#1.base, task_~x~0#1.offset, task_~n~1#1); {679#false} is VALID [2022-02-20 18:18:27,759 INFO L290 TraceCheckUtils]: 39: Hoare triple {679#false} ~t.base, ~t.offset := #in~t.base, #in~t.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~i := #in~i; {679#false} is VALID [2022-02-20 18:18:27,759 INFO L290 TraceCheckUtils]: 40: Hoare triple {679#false} assume ~t.base == 0bv32 && ~t.offset == 0bv32;#res := ~i; {679#false} is VALID [2022-02-20 18:18:27,759 INFO L290 TraceCheckUtils]: 41: Hoare triple {679#false} assume true; {679#false} is VALID [2022-02-20 18:18:27,759 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {679#false} {679#false} #157#return; {679#false} is VALID [2022-02-20 18:18:27,760 INFO L290 TraceCheckUtils]: 43: Hoare triple {679#false} havoc task_#t~ret33#1;call task_#t~mem34#1 := read~intINTTYPE4(task_~x~0#1.base, task_~x~0#1.offset, 4bv32); {679#false} is VALID [2022-02-20 18:18:27,760 INFO L272 TraceCheckUtils]: 44: Hoare triple {679#false} call __VERIFIER_assert((if task_~a~1#1 == task_#t~mem34#1 then 1bv32 else 0bv32)); {679#false} is VALID [2022-02-20 18:18:27,760 INFO L290 TraceCheckUtils]: 45: Hoare triple {679#false} ~cond := #in~cond; {679#false} is VALID [2022-02-20 18:18:27,760 INFO L290 TraceCheckUtils]: 46: Hoare triple {679#false} assume 0bv32 == ~cond; {679#false} is VALID [2022-02-20 18:18:27,761 INFO L290 TraceCheckUtils]: 47: Hoare triple {679#false} assume !false; {679#false} is VALID [2022-02-20 18:18:27,762 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 4 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 18:18:27,762 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 18:18:28,164 INFO L290 TraceCheckUtils]: 47: Hoare triple {679#false} assume !false; {679#false} is VALID [2022-02-20 18:18:28,164 INFO L290 TraceCheckUtils]: 46: Hoare triple {679#false} assume 0bv32 == ~cond; {679#false} is VALID [2022-02-20 18:18:28,167 INFO L290 TraceCheckUtils]: 45: Hoare triple {679#false} ~cond := #in~cond; {679#false} is VALID [2022-02-20 18:18:28,167 INFO L272 TraceCheckUtils]: 44: Hoare triple {679#false} call __VERIFIER_assert((if task_~a~1#1 == task_#t~mem34#1 then 1bv32 else 0bv32)); {679#false} is VALID [2022-02-20 18:18:28,168 INFO L290 TraceCheckUtils]: 43: Hoare triple {679#false} havoc task_#t~ret33#1;call task_#t~mem34#1 := read~intINTTYPE4(task_~x~0#1.base, task_~x~0#1.offset, 4bv32); {679#false} is VALID [2022-02-20 18:18:28,168 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {678#true} {679#false} #157#return; {679#false} is VALID [2022-02-20 18:18:28,168 INFO L290 TraceCheckUtils]: 41: Hoare triple {678#true} assume true; {678#true} is VALID [2022-02-20 18:18:28,169 INFO L290 TraceCheckUtils]: 40: Hoare triple {678#true} assume ~t.base == 0bv32 && ~t.offset == 0bv32;#res := ~i; {678#true} is VALID [2022-02-20 18:18:28,169 INFO L290 TraceCheckUtils]: 39: Hoare triple {678#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~i := #in~i; {678#true} is VALID [2022-02-20 18:18:28,169 INFO L272 TraceCheckUtils]: 38: Hoare triple {679#false} call task_#t~ret33#1 := tree_inorder(task_~t#1.base, task_~t#1.offset, task_~x~0#1.base, task_~x~0#1.offset, task_~n~1#1); {678#true} is VALID [2022-02-20 18:18:28,169 INFO L290 TraceCheckUtils]: 37: Hoare triple {679#false} task_~x~0#1.base, task_~x~0#1.offset := task_#t~malloc32#1.base, task_#t~malloc32#1.offset; {679#false} is VALID [2022-02-20 18:18:28,171 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {678#true} {679#false} #155#return; {679#false} is VALID [2022-02-20 18:18:28,172 INFO L290 TraceCheckUtils]: 35: Hoare triple {678#true} assume true; {678#true} is VALID [2022-02-20 18:18:28,172 INFO L290 TraceCheckUtils]: 34: Hoare triple {678#true} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {678#true} is VALID [2022-02-20 18:18:28,172 INFO L272 TraceCheckUtils]: 33: Hoare triple {679#false} call #Ultimate.meminit(task_#t~malloc32#1.base, task_#t~malloc32#1.offset, task_~n~1#1, 4bv32, ~bvmul32(4bv32, task_~n~1#1)); {678#true} is VALID [2022-02-20 18:18:28,172 INFO L290 TraceCheckUtils]: 32: Hoare triple {679#false} assume { :end_inline_assume_cycle_if_not } true;call task_#t~malloc32#1.base, task_#t~malloc32#1.offset := #Ultimate.allocOnHeap(~bvmul32(4bv32, task_~n~1#1)); {679#false} is VALID [2022-02-20 18:18:28,172 INFO L290 TraceCheckUtils]: 31: Hoare triple {679#false} assume !(0bv32 == assume_cycle_if_not_~cond#1); {679#false} is VALID [2022-02-20 18:18:28,174 INFO L290 TraceCheckUtils]: 30: Hoare triple {679#false} task_~n~1#1 := task_#t~ret31#1;havoc task_#t~ret31#1;assume { :begin_inline_assume_cycle_if_not } true;assume_cycle_if_not_#in~cond#1 := (if 0bv32 != task_~n~1#1 then 1bv32 else 0bv32);havoc assume_cycle_if_not_~cond#1;assume_cycle_if_not_~cond#1 := assume_cycle_if_not_#in~cond#1; {679#false} is VALID [2022-02-20 18:18:28,175 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {732#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} {703#(and (= (_ bv0 32) |ULTIMATE.start_task_~t#1.offset|) (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} #153#return; {679#false} is VALID [2022-02-20 18:18:28,176 INFO L290 TraceCheckUtils]: 28: Hoare triple {732#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} assume true; {732#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} is VALID [2022-02-20 18:18:28,177 INFO L290 TraceCheckUtils]: 27: Hoare triple {732#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} #res := ~bvadd32(1bv32, ~bvadd32(#t~ret27, #t~ret29));havoc #t~mem26.base, #t~mem26.offset;havoc #t~ret27;havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29; {732#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} is VALID [2022-02-20 18:18:28,177 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {678#true} {732#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} #147#return; {732#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} is VALID [2022-02-20 18:18:28,178 INFO L290 TraceCheckUtils]: 25: Hoare triple {678#true} assume true; {678#true} is VALID [2022-02-20 18:18:28,178 INFO L290 TraceCheckUtils]: 24: Hoare triple {678#true} assume ~t.base == 0bv32 && ~t.offset == 0bv32;#res := 0bv32; {678#true} is VALID [2022-02-20 18:18:28,178 INFO L290 TraceCheckUtils]: 23: Hoare triple {678#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {678#true} is VALID [2022-02-20 18:18:28,178 INFO L272 TraceCheckUtils]: 22: Hoare triple {732#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} call #t~ret29 := size(#t~mem28.base, #t~mem28.offset); {678#true} is VALID [2022-02-20 18:18:28,179 INFO L290 TraceCheckUtils]: 21: Hoare triple {732#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~t.base, ~bvadd32(8bv32, ~t.offset), 4bv32); {732#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} is VALID [2022-02-20 18:18:28,180 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {678#true} {732#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} #145#return; {732#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} is VALID [2022-02-20 18:18:28,181 INFO L290 TraceCheckUtils]: 19: Hoare triple {678#true} assume true; {678#true} is VALID [2022-02-20 18:18:28,181 INFO L290 TraceCheckUtils]: 18: Hoare triple {678#true} assume ~t.base == 0bv32 && ~t.offset == 0bv32;#res := 0bv32; {678#true} is VALID [2022-02-20 18:18:28,181 INFO L290 TraceCheckUtils]: 17: Hoare triple {678#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {678#true} is VALID [2022-02-20 18:18:28,182 INFO L272 TraceCheckUtils]: 16: Hoare triple {732#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} call #t~ret27 := size(#t~mem26.base, #t~mem26.offset); {678#true} is VALID [2022-02-20 18:18:28,184 INFO L290 TraceCheckUtils]: 15: Hoare triple {928#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))) (and (= size_~t.offset (_ bv0 32)) (= (_ bv0 32) size_~t.base)))} assume !(~t.base == 0bv32 && ~t.offset == 0bv32);call #t~mem26.base, #t~mem26.offset := read~$Pointer$(~t.base, ~bvadd32(4bv32, ~t.offset), 4bv32); {732#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} is VALID [2022-02-20 18:18:28,185 INFO L290 TraceCheckUtils]: 14: Hoare triple {678#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {928#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))) (and (= size_~t.offset (_ bv0 32)) (= (_ bv0 32) size_~t.base)))} is VALID [2022-02-20 18:18:28,193 INFO L272 TraceCheckUtils]: 13: Hoare triple {703#(and (= (_ bv0 32) |ULTIMATE.start_task_~t#1.offset|) (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} call task_#t~ret31#1 := size(task_~t#1.base, task_~t#1.offset); {678#true} is VALID [2022-02-20 18:18:28,195 INFO L290 TraceCheckUtils]: 12: Hoare triple {703#(and (= (_ bv0 32) |ULTIMATE.start_task_~t#1.offset|) (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} task_~a~1#1 := task_#t~ret30#1;havoc task_#t~ret30#1;call task_~#b~1#1.base, task_~#b~1#1.offset := #Ultimate.allocOnStack(4bv32); {703#(and (= (_ bv0 32) |ULTIMATE.start_task_~t#1.offset|) (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} is VALID [2022-02-20 18:18:28,198 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {678#true} {703#(and (= (_ bv0 32) |ULTIMATE.start_task_~t#1.offset|) (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} #151#return; {703#(and (= (_ bv0 32) |ULTIMATE.start_task_~t#1.offset|) (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} is VALID [2022-02-20 18:18:28,199 INFO L290 TraceCheckUtils]: 10: Hoare triple {678#true} assume true; {678#true} is VALID [2022-02-20 18:18:28,199 INFO L290 TraceCheckUtils]: 9: Hoare triple {678#true} assume ~n.base == 0bv32 && ~n.offset == 0bv32;#res := 2147483647bv32; {678#true} is VALID [2022-02-20 18:18:28,200 INFO L290 TraceCheckUtils]: 8: Hoare triple {678#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {678#true} is VALID [2022-02-20 18:18:28,200 INFO L272 TraceCheckUtils]: 7: Hoare triple {703#(and (= (_ bv0 32) |ULTIMATE.start_task_~t#1.offset|) (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} call task_#t~ret30#1 := min(task_~t#1.base, task_~t#1.offset); {678#true} is VALID [2022-02-20 18:18:28,200 INFO L290 TraceCheckUtils]: 6: Hoare triple {699#(and (= (_ bv0 32) |ULTIMATE.start_main_#t~ret43#1.offset|) (= |ULTIMATE.start_main_#t~ret43#1.base| (_ bv0 32)))} assume { :begin_inline_task } true;task_#in~t#1.base, task_#in~t#1.offset := main_#t~ret43#1.base, main_#t~ret43#1.offset;havoc task_#t~ret30#1, task_#t~ret31#1, task_#t~malloc32#1.base, task_#t~malloc32#1.offset, task_#t~ret33#1, task_#t~mem34#1, task_#t~ret35#1.base, task_#t~ret35#1.offset, task_#t~mem36#1, task_#t~ret37#1, task_#t~malloc38#1.base, task_#t~malloc38#1.offset, task_#t~ret39#1, task_#t~mem41#1, task_#t~mem42#1, task_#t~post40#1, task_~t#1.base, task_~t#1.offset, task_~a~1#1, task_~#b~1#1.base, task_~#b~1#1.offset, task_~n~1#1, task_~x~0#1.base, task_~x~0#1.offset, task_~r~1#1.base, task_~r~1#1.offset, task_~m~0#1, task_~y~0#1.base, task_~y~0#1.offset, task_~i~0#1;task_~t#1.base, task_~t#1.offset := task_#in~t#1.base, task_#in~t#1.offset; {703#(and (= (_ bv0 32) |ULTIMATE.start_task_~t#1.offset|) (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} is VALID [2022-02-20 18:18:28,201 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {692#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} {678#true} #149#return; {699#(and (= (_ bv0 32) |ULTIMATE.start_main_#t~ret43#1.offset|) (= |ULTIMATE.start_main_#t~ret43#1.base| (_ bv0 32)))} is VALID [2022-02-20 18:18:28,202 INFO L290 TraceCheckUtils]: 4: Hoare triple {692#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} assume true; {692#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} is VALID [2022-02-20 18:18:28,202 INFO L290 TraceCheckUtils]: 3: Hoare triple {678#true} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {692#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} is VALID [2022-02-20 18:18:28,202 INFO L272 TraceCheckUtils]: 2: Hoare triple {678#true} call main_#t~ret43#1.base, main_#t~ret43#1.offset := nondet_tree(); {678#true} is VALID [2022-02-20 18:18:28,203 INFO L290 TraceCheckUtils]: 1: Hoare triple {678#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret43#1.base, main_#t~ret43#1.offset; {678#true} is VALID [2022-02-20 18:18:28,203 INFO L290 TraceCheckUtils]: 0: Hoare triple {678#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);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);call #Ultimate.allocInit(12bv32, 3bv32); {678#true} is VALID [2022-02-20 18:18:28,204 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 4 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 18:18:28,204 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 18:18:28,205 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1940888181] [2022-02-20 18:18:28,205 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1940888181] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 18:18:28,205 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 18:18:28,205 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 8 [2022-02-20 18:18:28,206 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [708183891] [2022-02-20 18:18:28,206 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 18:18:28,208 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.625) internal successors, (37), 7 states have internal predecessors, (37), 4 states have call successors, (10), 2 states have call predecessors, (10), 4 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 48 [2022-02-20 18:18:28,211 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:18:28,212 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 4.625) internal successors, (37), 7 states have internal predecessors, (37), 4 states have call successors, (10), 2 states have call predecessors, (10), 4 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-02-20 18:18:28,271 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:18:28,272 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-02-20 18:18:28,272 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 18:18:28,273 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-02-20 18:18:28,273 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=41, Unknown=0, NotChecked=0, Total=56 [2022-02-20 18:18:28,274 INFO L87 Difference]: Start difference. First operand 82 states and 106 transitions. Second operand has 8 states, 8 states have (on average 4.625) internal successors, (37), 7 states have internal predecessors, (37), 4 states have call successors, (10), 2 states have call predecessors, (10), 4 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-02-20 18:18:29,352 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:18:29,353 INFO L93 Difference]: Finished difference Result 146 states and 189 transitions. [2022-02-20 18:18:29,353 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 18:18:29,353 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.625) internal successors, (37), 7 states have internal predecessors, (37), 4 states have call successors, (10), 2 states have call predecessors, (10), 4 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 48 [2022-02-20 18:18:29,354 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:18:29,354 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.625) internal successors, (37), 7 states have internal predecessors, (37), 4 states have call successors, (10), 2 states have call predecessors, (10), 4 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-02-20 18:18:29,358 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 185 transitions. [2022-02-20 18:18:29,359 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.625) internal successors, (37), 7 states have internal predecessors, (37), 4 states have call successors, (10), 2 states have call predecessors, (10), 4 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-02-20 18:18:29,363 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 185 transitions. [2022-02-20 18:18:29,364 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 185 transitions. [2022-02-20 18:18:29,590 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 185 edges. 185 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:18:29,594 INFO L225 Difference]: With dead ends: 146 [2022-02-20 18:18:29,594 INFO L226 Difference]: Without dead ends: 84 [2022-02-20 18:18:29,595 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 97 GetRequests, 89 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-02-20 18:18:29,596 INFO L933 BasicCegarLoop]: 96 mSDtfsCounter, 12 mSDsluCounter, 366 mSDsCounter, 0 mSdLazyCounter, 62 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 462 SdHoareTripleChecker+Invalid, 67 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 62 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 18:18:29,596 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 462 Invalid, 67 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 62 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 18:18:29,597 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2022-02-20 18:18:29,611 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 84. [2022-02-20 18:18:29,613 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:18:29,615 INFO L82 GeneralOperation]: Start isEquivalent. First operand 84 states. Second operand has 84 states, 52 states have (on average 1.1538461538461537) internal successors, (60), 54 states have internal predecessors, (60), 22 states have call successors, (22), 7 states have call predecessors, (22), 9 states have return successors, (27), 22 states have call predecessors, (27), 22 states have call successors, (27) [2022-02-20 18:18:29,617 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand has 84 states, 52 states have (on average 1.1538461538461537) internal successors, (60), 54 states have internal predecessors, (60), 22 states have call successors, (22), 7 states have call predecessors, (22), 9 states have return successors, (27), 22 states have call predecessors, (27), 22 states have call successors, (27) [2022-02-20 18:18:29,617 INFO L87 Difference]: Start difference. First operand 84 states. Second operand has 84 states, 52 states have (on average 1.1538461538461537) internal successors, (60), 54 states have internal predecessors, (60), 22 states have call successors, (22), 7 states have call predecessors, (22), 9 states have return successors, (27), 22 states have call predecessors, (27), 22 states have call successors, (27) [2022-02-20 18:18:29,622 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:18:29,622 INFO L93 Difference]: Finished difference Result 84 states and 109 transitions. [2022-02-20 18:18:29,622 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 109 transitions. [2022-02-20 18:18:29,628 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:18:29,628 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:18:29,631 INFO L74 IsIncluded]: Start isIncluded. First operand has 84 states, 52 states have (on average 1.1538461538461537) internal successors, (60), 54 states have internal predecessors, (60), 22 states have call successors, (22), 7 states have call predecessors, (22), 9 states have return successors, (27), 22 states have call predecessors, (27), 22 states have call successors, (27) Second operand 84 states. [2022-02-20 18:18:29,632 INFO L87 Difference]: Start difference. First operand has 84 states, 52 states have (on average 1.1538461538461537) internal successors, (60), 54 states have internal predecessors, (60), 22 states have call successors, (22), 7 states have call predecessors, (22), 9 states have return successors, (27), 22 states have call predecessors, (27), 22 states have call successors, (27) Second operand 84 states. [2022-02-20 18:18:29,636 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:18:29,638 INFO L93 Difference]: Finished difference Result 84 states and 109 transitions. [2022-02-20 18:18:29,638 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 109 transitions. [2022-02-20 18:18:29,639 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:18:29,639 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:18:29,639 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:18:29,639 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:18:29,640 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 84 states, 52 states have (on average 1.1538461538461537) internal successors, (60), 54 states have internal predecessors, (60), 22 states have call successors, (22), 7 states have call predecessors, (22), 9 states have return successors, (27), 22 states have call predecessors, (27), 22 states have call successors, (27) [2022-02-20 18:18:29,643 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 84 states to 84 states and 109 transitions. [2022-02-20 18:18:29,644 INFO L78 Accepts]: Start accepts. Automaton has 84 states and 109 transitions. Word has length 48 [2022-02-20 18:18:29,644 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:18:29,644 INFO L470 AbstractCegarLoop]: Abstraction has 84 states and 109 transitions. [2022-02-20 18:18:29,644 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 4.625) internal successors, (37), 7 states have internal predecessors, (37), 4 states have call successors, (10), 2 states have call predecessors, (10), 4 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-02-20 18:18:29,645 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 109 transitions. [2022-02-20 18:18:29,646 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-02-20 18:18:29,646 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:18:29,646 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:18:29,663 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 18:18:29,870 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 18:18:29,871 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:18:29,871 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:18:29,871 INFO L85 PathProgramCache]: Analyzing trace with hash 1481222417, now seen corresponding path program 1 times [2022-02-20 18:18:29,872 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 18:18:29,872 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [931168611] [2022-02-20 18:18:29,872 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:18:29,872 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 18:18:29,872 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 18:18:29,873 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 18:18:29,875 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 18:18:30,005 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:30,010 INFO L263 TraceCheckSpWp]: Trace formula consists of 223 conjuncts, 8 conjunts are in the unsatisfiable core [2022-02-20 18:18:30,037 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:30,039 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 18:18:30,212 INFO L290 TraceCheckUtils]: 0: Hoare triple {1456#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);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);call #Ultimate.allocInit(12bv32, 3bv32); {1456#true} is VALID [2022-02-20 18:18:30,212 INFO L290 TraceCheckUtils]: 1: Hoare triple {1456#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret43#1.base, main_#t~ret43#1.offset; {1456#true} is VALID [2022-02-20 18:18:30,216 INFO L272 TraceCheckUtils]: 2: Hoare triple {1456#true} call main_#t~ret43#1.base, main_#t~ret43#1.offset := nondet_tree(); {1456#true} is VALID [2022-02-20 18:18:30,216 INFO L290 TraceCheckUtils]: 3: Hoare triple {1456#true} assume !(0bv8 != #t~nondet5);havoc #t~nondet5;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(12bv32);~n~0.base, ~n~0.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(#t~nondet7, ~n~0.base, ~n~0.offset, 4bv32);havoc #t~nondet7; {1470#(not (= nondet_tree_~n~0.base (_ bv0 32)))} is VALID [2022-02-20 18:18:30,216 INFO L272 TraceCheckUtils]: 4: Hoare triple {1470#(not (= nondet_tree_~n~0.base (_ bv0 32)))} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {1456#true} is VALID [2022-02-20 18:18:30,217 INFO L290 TraceCheckUtils]: 5: Hoare triple {1456#true} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {1456#true} is VALID [2022-02-20 18:18:30,217 INFO L290 TraceCheckUtils]: 6: Hoare triple {1456#true} assume true; {1456#true} is VALID [2022-02-20 18:18:30,217 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {1456#true} {1470#(not (= nondet_tree_~n~0.base (_ bv0 32)))} #135#return; {1470#(not (= nondet_tree_~n~0.base (_ bv0 32)))} is VALID [2022-02-20 18:18:30,218 INFO L290 TraceCheckUtils]: 8: Hoare triple {1470#(not (= nondet_tree_~n~0.base (_ bv0 32)))} call write~$Pointer$(#t~ret8.base, #t~ret8.offset, ~n~0.base, ~bvadd32(4bv32, ~n~0.offset), 4bv32);havoc #t~ret8.base, #t~ret8.offset; {1470#(not (= nondet_tree_~n~0.base (_ bv0 32)))} is VALID [2022-02-20 18:18:30,218 INFO L272 TraceCheckUtils]: 9: Hoare triple {1470#(not (= nondet_tree_~n~0.base (_ bv0 32)))} call #t~ret9.base, #t~ret9.offset := nondet_tree(); {1456#true} is VALID [2022-02-20 18:18:30,218 INFO L290 TraceCheckUtils]: 10: Hoare triple {1456#true} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {1456#true} is VALID [2022-02-20 18:18:30,220 INFO L290 TraceCheckUtils]: 11: Hoare triple {1456#true} assume true; {1456#true} is VALID [2022-02-20 18:18:30,220 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1456#true} {1470#(not (= nondet_tree_~n~0.base (_ bv0 32)))} #137#return; {1470#(not (= nondet_tree_~n~0.base (_ bv0 32)))} is VALID [2022-02-20 18:18:30,221 INFO L290 TraceCheckUtils]: 13: Hoare triple {1470#(not (= nondet_tree_~n~0.base (_ bv0 32)))} call write~$Pointer$(#t~ret9.base, #t~ret9.offset, ~n~0.base, ~bvadd32(8bv32, ~n~0.offset), 4bv32);havoc #t~ret9.base, #t~ret9.offset;#res.base, #res.offset := ~n~0.base, ~n~0.offset; {1501#(not (= |nondet_tree_#res.base| (_ bv0 32)))} is VALID [2022-02-20 18:18:30,222 INFO L290 TraceCheckUtils]: 14: Hoare triple {1501#(not (= |nondet_tree_#res.base| (_ bv0 32)))} assume true; {1501#(not (= |nondet_tree_#res.base| (_ bv0 32)))} is VALID [2022-02-20 18:18:30,222 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1501#(not (= |nondet_tree_#res.base| (_ bv0 32)))} {1456#true} #149#return; {1508#(not (= |ULTIMATE.start_main_#t~ret43#1.base| (_ bv0 32)))} is VALID [2022-02-20 18:18:30,223 INFO L290 TraceCheckUtils]: 16: Hoare triple {1508#(not (= |ULTIMATE.start_main_#t~ret43#1.base| (_ bv0 32)))} assume { :begin_inline_task } true;task_#in~t#1.base, task_#in~t#1.offset := main_#t~ret43#1.base, main_#t~ret43#1.offset;havoc task_#t~ret30#1, task_#t~ret31#1, task_#t~malloc32#1.base, task_#t~malloc32#1.offset, task_#t~ret33#1, task_#t~mem34#1, task_#t~ret35#1.base, task_#t~ret35#1.offset, task_#t~mem36#1, task_#t~ret37#1, task_#t~malloc38#1.base, task_#t~malloc38#1.offset, task_#t~ret39#1, task_#t~mem41#1, task_#t~mem42#1, task_#t~post40#1, task_~t#1.base, task_~t#1.offset, task_~a~1#1, task_~#b~1#1.base, task_~#b~1#1.offset, task_~n~1#1, task_~x~0#1.base, task_~x~0#1.offset, task_~r~1#1.base, task_~r~1#1.offset, task_~m~0#1, task_~y~0#1.base, task_~y~0#1.offset, task_~i~0#1;task_~t#1.base, task_~t#1.offset := task_#in~t#1.base, task_#in~t#1.offset; {1512#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} is VALID [2022-02-20 18:18:30,223 INFO L272 TraceCheckUtils]: 17: Hoare triple {1512#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} call task_#t~ret30#1 := min(task_~t#1.base, task_~t#1.offset); {1456#true} is VALID [2022-02-20 18:18:30,223 INFO L290 TraceCheckUtils]: 18: Hoare triple {1456#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {1519#(= |min_#in~n.base| min_~n.base)} is VALID [2022-02-20 18:18:30,224 INFO L290 TraceCheckUtils]: 19: Hoare triple {1519#(= |min_#in~n.base| min_~n.base)} assume ~n.base == 0bv32 && ~n.offset == 0bv32;#res := 2147483647bv32; {1523#(= |min_#in~n.base| (_ bv0 32))} is VALID [2022-02-20 18:18:30,224 INFO L290 TraceCheckUtils]: 20: Hoare triple {1523#(= |min_#in~n.base| (_ bv0 32))} assume true; {1523#(= |min_#in~n.base| (_ bv0 32))} is VALID [2022-02-20 18:18:30,225 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1523#(= |min_#in~n.base| (_ bv0 32))} {1512#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} #151#return; {1457#false} is VALID [2022-02-20 18:18:30,225 INFO L290 TraceCheckUtils]: 22: Hoare triple {1457#false} task_~a~1#1 := task_#t~ret30#1;havoc task_#t~ret30#1;call task_~#b~1#1.base, task_~#b~1#1.offset := #Ultimate.allocOnStack(4bv32); {1457#false} is VALID [2022-02-20 18:18:30,225 INFO L272 TraceCheckUtils]: 23: Hoare triple {1457#false} call task_#t~ret31#1 := size(task_~t#1.base, task_~t#1.offset); {1457#false} is VALID [2022-02-20 18:18:30,226 INFO L290 TraceCheckUtils]: 24: Hoare triple {1457#false} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {1457#false} is VALID [2022-02-20 18:18:30,226 INFO L290 TraceCheckUtils]: 25: Hoare triple {1457#false} assume !(~t.base == 0bv32 && ~t.offset == 0bv32);call #t~mem26.base, #t~mem26.offset := read~$Pointer$(~t.base, ~bvadd32(4bv32, ~t.offset), 4bv32); {1457#false} is VALID [2022-02-20 18:18:30,226 INFO L272 TraceCheckUtils]: 26: Hoare triple {1457#false} call #t~ret27 := size(#t~mem26.base, #t~mem26.offset); {1457#false} is VALID [2022-02-20 18:18:30,226 INFO L290 TraceCheckUtils]: 27: Hoare triple {1457#false} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {1457#false} is VALID [2022-02-20 18:18:30,226 INFO L290 TraceCheckUtils]: 28: Hoare triple {1457#false} assume ~t.base == 0bv32 && ~t.offset == 0bv32;#res := 0bv32; {1457#false} is VALID [2022-02-20 18:18:30,227 INFO L290 TraceCheckUtils]: 29: Hoare triple {1457#false} assume true; {1457#false} is VALID [2022-02-20 18:18:30,227 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {1457#false} {1457#false} #145#return; {1457#false} is VALID [2022-02-20 18:18:30,227 INFO L290 TraceCheckUtils]: 31: Hoare triple {1457#false} call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~t.base, ~bvadd32(8bv32, ~t.offset), 4bv32); {1457#false} is VALID [2022-02-20 18:18:30,227 INFO L272 TraceCheckUtils]: 32: Hoare triple {1457#false} call #t~ret29 := size(#t~mem28.base, #t~mem28.offset); {1457#false} is VALID [2022-02-20 18:18:30,227 INFO L290 TraceCheckUtils]: 33: Hoare triple {1457#false} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {1457#false} is VALID [2022-02-20 18:18:30,227 INFO L290 TraceCheckUtils]: 34: Hoare triple {1457#false} assume ~t.base == 0bv32 && ~t.offset == 0bv32;#res := 0bv32; {1457#false} is VALID [2022-02-20 18:18:30,228 INFO L290 TraceCheckUtils]: 35: Hoare triple {1457#false} assume true; {1457#false} is VALID [2022-02-20 18:18:30,228 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {1457#false} {1457#false} #147#return; {1457#false} is VALID [2022-02-20 18:18:30,228 INFO L290 TraceCheckUtils]: 37: Hoare triple {1457#false} #res := ~bvadd32(1bv32, ~bvadd32(#t~ret27, #t~ret29));havoc #t~mem26.base, #t~mem26.offset;havoc #t~ret27;havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29; {1457#false} is VALID [2022-02-20 18:18:30,228 INFO L290 TraceCheckUtils]: 38: Hoare triple {1457#false} assume true; {1457#false} is VALID [2022-02-20 18:18:30,228 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {1457#false} {1457#false} #153#return; {1457#false} is VALID [2022-02-20 18:18:30,228 INFO L290 TraceCheckUtils]: 40: Hoare triple {1457#false} task_~n~1#1 := task_#t~ret31#1;havoc task_#t~ret31#1;assume { :begin_inline_assume_cycle_if_not } true;assume_cycle_if_not_#in~cond#1 := (if 0bv32 != task_~n~1#1 then 1bv32 else 0bv32);havoc assume_cycle_if_not_~cond#1;assume_cycle_if_not_~cond#1 := assume_cycle_if_not_#in~cond#1; {1457#false} is VALID [2022-02-20 18:18:30,229 INFO L290 TraceCheckUtils]: 41: Hoare triple {1457#false} assume !(0bv32 == assume_cycle_if_not_~cond#1); {1457#false} is VALID [2022-02-20 18:18:30,229 INFO L290 TraceCheckUtils]: 42: Hoare triple {1457#false} assume { :end_inline_assume_cycle_if_not } true;call task_#t~malloc32#1.base, task_#t~malloc32#1.offset := #Ultimate.allocOnHeap(~bvmul32(4bv32, task_~n~1#1)); {1457#false} is VALID [2022-02-20 18:18:30,229 INFO L272 TraceCheckUtils]: 43: Hoare triple {1457#false} call #Ultimate.meminit(task_#t~malloc32#1.base, task_#t~malloc32#1.offset, task_~n~1#1, 4bv32, ~bvmul32(4bv32, task_~n~1#1)); {1457#false} is VALID [2022-02-20 18:18:30,229 INFO L290 TraceCheckUtils]: 44: Hoare triple {1457#false} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {1457#false} is VALID [2022-02-20 18:18:30,229 INFO L290 TraceCheckUtils]: 45: Hoare triple {1457#false} assume true; {1457#false} is VALID [2022-02-20 18:18:30,230 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {1457#false} {1457#false} #155#return; {1457#false} is VALID [2022-02-20 18:18:30,230 INFO L290 TraceCheckUtils]: 47: Hoare triple {1457#false} task_~x~0#1.base, task_~x~0#1.offset := task_#t~malloc32#1.base, task_#t~malloc32#1.offset; {1457#false} is VALID [2022-02-20 18:18:30,230 INFO L272 TraceCheckUtils]: 48: Hoare triple {1457#false} call task_#t~ret33#1 := tree_inorder(task_~t#1.base, task_~t#1.offset, task_~x~0#1.base, task_~x~0#1.offset, task_~n~1#1); {1457#false} is VALID [2022-02-20 18:18:30,230 INFO L290 TraceCheckUtils]: 49: Hoare triple {1457#false} ~t.base, ~t.offset := #in~t.base, #in~t.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~i := #in~i; {1457#false} is VALID [2022-02-20 18:18:30,230 INFO L290 TraceCheckUtils]: 50: Hoare triple {1457#false} assume ~t.base == 0bv32 && ~t.offset == 0bv32;#res := ~i; {1457#false} is VALID [2022-02-20 18:18:30,230 INFO L290 TraceCheckUtils]: 51: Hoare triple {1457#false} assume true; {1457#false} is VALID [2022-02-20 18:18:30,231 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {1457#false} {1457#false} #157#return; {1457#false} is VALID [2022-02-20 18:18:30,231 INFO L290 TraceCheckUtils]: 53: Hoare triple {1457#false} havoc task_#t~ret33#1;call task_#t~mem34#1 := read~intINTTYPE4(task_~x~0#1.base, task_~x~0#1.offset, 4bv32); {1457#false} is VALID [2022-02-20 18:18:30,231 INFO L272 TraceCheckUtils]: 54: Hoare triple {1457#false} call __VERIFIER_assert((if task_~a~1#1 == task_#t~mem34#1 then 1bv32 else 0bv32)); {1457#false} is VALID [2022-02-20 18:18:30,231 INFO L290 TraceCheckUtils]: 55: Hoare triple {1457#false} ~cond := #in~cond; {1457#false} is VALID [2022-02-20 18:18:30,231 INFO L290 TraceCheckUtils]: 56: Hoare triple {1457#false} assume 0bv32 == ~cond; {1457#false} is VALID [2022-02-20 18:18:30,231 INFO L290 TraceCheckUtils]: 57: Hoare triple {1457#false} assume !false; {1457#false} is VALID [2022-02-20 18:18:30,232 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2022-02-20 18:18:30,232 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 18:18:30,232 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 18:18:30,232 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [931168611] [2022-02-20 18:18:30,233 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [931168611] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 18:18:30,233 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 18:18:30,233 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-02-20 18:18:30,233 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1262504309] [2022-02-20 18:18:30,233 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 18:18:30,234 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 4.571428571428571) internal successors, (32), 7 states have internal predecessors, (32), 4 states have call successors, (10), 2 states have call predecessors, (10), 4 states have return successors, (9), 3 states have call predecessors, (9), 4 states have call successors, (9) Word has length 58 [2022-02-20 18:18:30,236 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:18:30,237 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 4.571428571428571) internal successors, (32), 7 states have internal predecessors, (32), 4 states have call successors, (10), 2 states have call predecessors, (10), 4 states have return successors, (9), 3 states have call predecessors, (9), 4 states have call successors, (9) [2022-02-20 18:18:30,282 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 18:18:30,283 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-02-20 18:18:30,283 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 18:18:30,284 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-02-20 18:18:30,284 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=43, Unknown=0, NotChecked=0, Total=56 [2022-02-20 18:18:30,284 INFO L87 Difference]: Start difference. First operand 84 states and 109 transitions. Second operand has 8 states, 7 states have (on average 4.571428571428571) internal successors, (32), 7 states have internal predecessors, (32), 4 states have call successors, (10), 2 states have call predecessors, (10), 4 states have return successors, (9), 3 states have call predecessors, (9), 4 states have call successors, (9) [2022-02-20 18:18:31,434 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:18:31,434 INFO L93 Difference]: Finished difference Result 146 states and 189 transitions. [2022-02-20 18:18:31,434 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 18:18:31,435 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 4.571428571428571) internal successors, (32), 7 states have internal predecessors, (32), 4 states have call successors, (10), 2 states have call predecessors, (10), 4 states have return successors, (9), 3 states have call predecessors, (9), 4 states have call successors, (9) Word has length 58 [2022-02-20 18:18:31,435 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:18:31,435 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 4.571428571428571) internal successors, (32), 7 states have internal predecessors, (32), 4 states have call successors, (10), 2 states have call predecessors, (10), 4 states have return successors, (9), 3 states have call predecessors, (9), 4 states have call successors, (9) [2022-02-20 18:18:31,438 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 181 transitions. [2022-02-20 18:18:31,439 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 4.571428571428571) internal successors, (32), 7 states have internal predecessors, (32), 4 states have call successors, (10), 2 states have call predecessors, (10), 4 states have return successors, (9), 3 states have call predecessors, (9), 4 states have call successors, (9) [2022-02-20 18:18:31,442 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 181 transitions. [2022-02-20 18:18:31,442 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 181 transitions. [2022-02-20 18:18:31,664 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 181 edges. 181 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:18:31,667 INFO L225 Difference]: With dead ends: 146 [2022-02-20 18:18:31,667 INFO L226 Difference]: Without dead ends: 86 [2022-02-20 18:18:31,668 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 61 GetRequests, 52 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2022-02-20 18:18:31,669 INFO L933 BasicCegarLoop]: 96 mSDtfsCounter, 45 mSDsluCounter, 490 mSDsCounter, 0 mSdLazyCounter, 67 mSolverCounterSat, 24 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 49 SdHoareTripleChecker+Valid, 586 SdHoareTripleChecker+Invalid, 91 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 24 IncrementalHoareTripleChecker+Valid, 67 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 18:18:31,670 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [49 Valid, 586 Invalid, 91 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [24 Valid, 67 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 18:18:31,671 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2022-02-20 18:18:31,677 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 86. [2022-02-20 18:18:31,677 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:18:31,677 INFO L82 GeneralOperation]: Start isEquivalent. First operand 86 states. Second operand has 86 states, 53 states have (on average 1.150943396226415) internal successors, (61), 56 states have internal predecessors, (61), 22 states have call successors, (22), 7 states have call predecessors, (22), 10 states have return successors, (29), 22 states have call predecessors, (29), 22 states have call successors, (29) [2022-02-20 18:18:31,678 INFO L74 IsIncluded]: Start isIncluded. First operand 86 states. Second operand has 86 states, 53 states have (on average 1.150943396226415) internal successors, (61), 56 states have internal predecessors, (61), 22 states have call successors, (22), 7 states have call predecessors, (22), 10 states have return successors, (29), 22 states have call predecessors, (29), 22 states have call successors, (29) [2022-02-20 18:18:31,678 INFO L87 Difference]: Start difference. First operand 86 states. Second operand has 86 states, 53 states have (on average 1.150943396226415) internal successors, (61), 56 states have internal predecessors, (61), 22 states have call successors, (22), 7 states have call predecessors, (22), 10 states have return successors, (29), 22 states have call predecessors, (29), 22 states have call successors, (29) [2022-02-20 18:18:31,682 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:18:31,682 INFO L93 Difference]: Finished difference Result 86 states and 112 transitions. [2022-02-20 18:18:31,682 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 112 transitions. [2022-02-20 18:18:31,683 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:18:31,683 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:18:31,684 INFO L74 IsIncluded]: Start isIncluded. First operand has 86 states, 53 states have (on average 1.150943396226415) internal successors, (61), 56 states have internal predecessors, (61), 22 states have call successors, (22), 7 states have call predecessors, (22), 10 states have return successors, (29), 22 states have call predecessors, (29), 22 states have call successors, (29) Second operand 86 states. [2022-02-20 18:18:31,684 INFO L87 Difference]: Start difference. First operand has 86 states, 53 states have (on average 1.150943396226415) internal successors, (61), 56 states have internal predecessors, (61), 22 states have call successors, (22), 7 states have call predecessors, (22), 10 states have return successors, (29), 22 states have call predecessors, (29), 22 states have call successors, (29) Second operand 86 states. [2022-02-20 18:18:31,687 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:18:31,687 INFO L93 Difference]: Finished difference Result 86 states and 112 transitions. [2022-02-20 18:18:31,687 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 112 transitions. [2022-02-20 18:18:31,688 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:18:31,688 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:18:31,688 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:18:31,688 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:18:31,689 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 86 states, 53 states have (on average 1.150943396226415) internal successors, (61), 56 states have internal predecessors, (61), 22 states have call successors, (22), 7 states have call predecessors, (22), 10 states have return successors, (29), 22 states have call predecessors, (29), 22 states have call successors, (29) [2022-02-20 18:18:31,693 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 86 states to 86 states and 112 transitions. [2022-02-20 18:18:31,693 INFO L78 Accepts]: Start accepts. Automaton has 86 states and 112 transitions. Word has length 58 [2022-02-20 18:18:31,693 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:18:31,693 INFO L470 AbstractCegarLoop]: Abstraction has 86 states and 112 transitions. [2022-02-20 18:18:31,694 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 4.571428571428571) internal successors, (32), 7 states have internal predecessors, (32), 4 states have call successors, (10), 2 states have call predecessors, (10), 4 states have return successors, (9), 3 states have call predecessors, (9), 4 states have call successors, (9) [2022-02-20 18:18:31,694 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 112 transitions. [2022-02-20 18:18:31,695 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 72 [2022-02-20 18:18:31,695 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:18:31,695 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:18:31,710 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 18:18:31,907 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 18:18:31,907 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:18:31,907 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:18:31,908 INFO L85 PathProgramCache]: Analyzing trace with hash -1364034462, now seen corresponding path program 1 times [2022-02-20 18:18:31,908 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 18:18:31,908 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [740002841] [2022-02-20 18:18:31,908 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:18:31,908 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 18:18:31,908 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 18:18:31,909 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 18:18:31,910 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 18:18:32,048 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:32,054 INFO L263 TraceCheckSpWp]: Trace formula consists of 253 conjuncts, 8 conjunts are in the unsatisfiable core [2022-02-20 18:18:32,089 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:32,093 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 18:18:32,331 INFO L290 TraceCheckUtils]: 0: Hoare triple {2130#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);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);call #Ultimate.allocInit(12bv32, 3bv32); {2130#true} is VALID [2022-02-20 18:18:32,331 INFO L290 TraceCheckUtils]: 1: Hoare triple {2130#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret43#1.base, main_#t~ret43#1.offset; {2130#true} is VALID [2022-02-20 18:18:32,332 INFO L272 TraceCheckUtils]: 2: Hoare triple {2130#true} call main_#t~ret43#1.base, main_#t~ret43#1.offset := nondet_tree(); {2130#true} is VALID [2022-02-20 18:18:32,332 INFO L290 TraceCheckUtils]: 3: Hoare triple {2130#true} assume !(0bv8 != #t~nondet5);havoc #t~nondet5;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(12bv32);~n~0.base, ~n~0.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(#t~nondet7, ~n~0.base, ~n~0.offset, 4bv32);havoc #t~nondet7; {2144#(not (= nondet_tree_~n~0.base (_ bv0 32)))} is VALID [2022-02-20 18:18:32,332 INFO L272 TraceCheckUtils]: 4: Hoare triple {2144#(not (= nondet_tree_~n~0.base (_ bv0 32)))} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {2130#true} is VALID [2022-02-20 18:18:32,332 INFO L290 TraceCheckUtils]: 5: Hoare triple {2130#true} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {2130#true} is VALID [2022-02-20 18:18:32,333 INFO L290 TraceCheckUtils]: 6: Hoare triple {2130#true} assume true; {2130#true} is VALID [2022-02-20 18:18:32,333 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {2130#true} {2144#(not (= nondet_tree_~n~0.base (_ bv0 32)))} #135#return; {2144#(not (= nondet_tree_~n~0.base (_ bv0 32)))} is VALID [2022-02-20 18:18:32,338 INFO L290 TraceCheckUtils]: 8: Hoare triple {2144#(not (= nondet_tree_~n~0.base (_ bv0 32)))} call write~$Pointer$(#t~ret8.base, #t~ret8.offset, ~n~0.base, ~bvadd32(4bv32, ~n~0.offset), 4bv32);havoc #t~ret8.base, #t~ret8.offset; {2144#(not (= nondet_tree_~n~0.base (_ bv0 32)))} is VALID [2022-02-20 18:18:32,338 INFO L272 TraceCheckUtils]: 9: Hoare triple {2144#(not (= nondet_tree_~n~0.base (_ bv0 32)))} call #t~ret9.base, #t~ret9.offset := nondet_tree(); {2130#true} is VALID [2022-02-20 18:18:32,338 INFO L290 TraceCheckUtils]: 10: Hoare triple {2130#true} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {2130#true} is VALID [2022-02-20 18:18:32,338 INFO L290 TraceCheckUtils]: 11: Hoare triple {2130#true} assume true; {2130#true} is VALID [2022-02-20 18:18:32,343 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2130#true} {2144#(not (= nondet_tree_~n~0.base (_ bv0 32)))} #137#return; {2144#(not (= nondet_tree_~n~0.base (_ bv0 32)))} is VALID [2022-02-20 18:18:32,344 INFO L290 TraceCheckUtils]: 13: Hoare triple {2144#(not (= nondet_tree_~n~0.base (_ bv0 32)))} call write~$Pointer$(#t~ret9.base, #t~ret9.offset, ~n~0.base, ~bvadd32(8bv32, ~n~0.offset), 4bv32);havoc #t~ret9.base, #t~ret9.offset;#res.base, #res.offset := ~n~0.base, ~n~0.offset; {2175#(not (= |nondet_tree_#res.base| (_ bv0 32)))} is VALID [2022-02-20 18:18:32,344 INFO L290 TraceCheckUtils]: 14: Hoare triple {2175#(not (= |nondet_tree_#res.base| (_ bv0 32)))} assume true; {2175#(not (= |nondet_tree_#res.base| (_ bv0 32)))} is VALID [2022-02-20 18:18:32,345 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2175#(not (= |nondet_tree_#res.base| (_ bv0 32)))} {2130#true} #149#return; {2182#(not (= |ULTIMATE.start_main_#t~ret43#1.base| (_ bv0 32)))} is VALID [2022-02-20 18:18:32,346 INFO L290 TraceCheckUtils]: 16: Hoare triple {2182#(not (= |ULTIMATE.start_main_#t~ret43#1.base| (_ bv0 32)))} assume { :begin_inline_task } true;task_#in~t#1.base, task_#in~t#1.offset := main_#t~ret43#1.base, main_#t~ret43#1.offset;havoc task_#t~ret30#1, task_#t~ret31#1, task_#t~malloc32#1.base, task_#t~malloc32#1.offset, task_#t~ret33#1, task_#t~mem34#1, task_#t~ret35#1.base, task_#t~ret35#1.offset, task_#t~mem36#1, task_#t~ret37#1, task_#t~malloc38#1.base, task_#t~malloc38#1.offset, task_#t~ret39#1, task_#t~mem41#1, task_#t~mem42#1, task_#t~post40#1, task_~t#1.base, task_~t#1.offset, task_~a~1#1, task_~#b~1#1.base, task_~#b~1#1.offset, task_~n~1#1, task_~x~0#1.base, task_~x~0#1.offset, task_~r~1#1.base, task_~r~1#1.offset, task_~m~0#1, task_~y~0#1.base, task_~y~0#1.offset, task_~i~0#1;task_~t#1.base, task_~t#1.offset := task_#in~t#1.base, task_#in~t#1.offset; {2186#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} is VALID [2022-02-20 18:18:32,346 INFO L272 TraceCheckUtils]: 17: Hoare triple {2186#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} call task_#t~ret30#1 := min(task_~t#1.base, task_~t#1.offset); {2130#true} is VALID [2022-02-20 18:18:32,346 INFO L290 TraceCheckUtils]: 18: Hoare triple {2130#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {2130#true} is VALID [2022-02-20 18:18:32,346 INFO L290 TraceCheckUtils]: 19: Hoare triple {2130#true} assume !(~n.base == 0bv32 && ~n.offset == 0bv32);call #t~mem10 := read~intINTTYPE4(~n.base, ~n.offset, 4bv32);~a~0 := #t~mem10;havoc #t~mem10;call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~n.base, ~bvadd32(4bv32, ~n.offset), 4bv32); {2130#true} is VALID [2022-02-20 18:18:32,346 INFO L272 TraceCheckUtils]: 20: Hoare triple {2130#true} call #t~ret12 := min(#t~mem11.base, #t~mem11.offset); {2130#true} is VALID [2022-02-20 18:18:32,347 INFO L290 TraceCheckUtils]: 21: Hoare triple {2130#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {2130#true} is VALID [2022-02-20 18:18:32,347 INFO L290 TraceCheckUtils]: 22: Hoare triple {2130#true} assume ~n.base == 0bv32 && ~n.offset == 0bv32;#res := 2147483647bv32; {2130#true} is VALID [2022-02-20 18:18:32,347 INFO L290 TraceCheckUtils]: 23: Hoare triple {2130#true} assume true; {2130#true} is VALID [2022-02-20 18:18:32,347 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {2130#true} {2130#true} #141#return; {2130#true} is VALID [2022-02-20 18:18:32,347 INFO L290 TraceCheckUtils]: 25: Hoare triple {2130#true} ~b~0 := #t~ret12;havoc #t~mem11.base, #t~mem11.offset;havoc #t~ret12;call #t~mem13.base, #t~mem13.offset := read~$Pointer$(~n.base, ~bvadd32(8bv32, ~n.offset), 4bv32); {2130#true} is VALID [2022-02-20 18:18:32,348 INFO L272 TraceCheckUtils]: 26: Hoare triple {2130#true} call #t~ret14 := min(#t~mem13.base, #t~mem13.offset); {2130#true} is VALID [2022-02-20 18:18:32,348 INFO L290 TraceCheckUtils]: 27: Hoare triple {2130#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {2130#true} is VALID [2022-02-20 18:18:32,348 INFO L290 TraceCheckUtils]: 28: Hoare triple {2130#true} assume ~n.base == 0bv32 && ~n.offset == 0bv32;#res := 2147483647bv32; {2130#true} is VALID [2022-02-20 18:18:32,348 INFO L290 TraceCheckUtils]: 29: Hoare triple {2130#true} assume true; {2130#true} is VALID [2022-02-20 18:18:32,348 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {2130#true} {2130#true} #143#return; {2130#true} is VALID [2022-02-20 18:18:32,348 INFO L290 TraceCheckUtils]: 31: Hoare triple {2130#true} ~c~0 := #t~ret14;havoc #t~mem13.base, #t~mem13.offset;havoc #t~ret14; {2130#true} is VALID [2022-02-20 18:18:32,349 INFO L290 TraceCheckUtils]: 32: Hoare triple {2130#true} assume ~bvsle32(~b~0, ~a~0) && ~bvsle32(~b~0, ~c~0);#res := ~b~0; {2130#true} is VALID [2022-02-20 18:18:32,349 INFO L290 TraceCheckUtils]: 33: Hoare triple {2130#true} assume true; {2130#true} is VALID [2022-02-20 18:18:32,350 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2130#true} {2186#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} #151#return; {2186#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} is VALID [2022-02-20 18:18:32,350 INFO L290 TraceCheckUtils]: 35: Hoare triple {2186#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} task_~a~1#1 := task_#t~ret30#1;havoc task_#t~ret30#1;call task_~#b~1#1.base, task_~#b~1#1.offset := #Ultimate.allocOnStack(4bv32); {2186#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} is VALID [2022-02-20 18:18:32,350 INFO L272 TraceCheckUtils]: 36: Hoare triple {2186#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} call task_#t~ret31#1 := size(task_~t#1.base, task_~t#1.offset); {2130#true} is VALID [2022-02-20 18:18:32,351 INFO L290 TraceCheckUtils]: 37: Hoare triple {2130#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {2130#true} is VALID [2022-02-20 18:18:32,351 INFO L290 TraceCheckUtils]: 38: Hoare triple {2130#true} assume !(~t.base == 0bv32 && ~t.offset == 0bv32);call #t~mem26.base, #t~mem26.offset := read~$Pointer$(~t.base, ~bvadd32(4bv32, ~t.offset), 4bv32); {2130#true} is VALID [2022-02-20 18:18:32,351 INFO L272 TraceCheckUtils]: 39: Hoare triple {2130#true} call #t~ret27 := size(#t~mem26.base, #t~mem26.offset); {2130#true} is VALID [2022-02-20 18:18:32,352 INFO L290 TraceCheckUtils]: 40: Hoare triple {2130#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {2130#true} is VALID [2022-02-20 18:18:32,352 INFO L290 TraceCheckUtils]: 41: Hoare triple {2130#true} assume ~t.base == 0bv32 && ~t.offset == 0bv32;#res := 0bv32; {2130#true} is VALID [2022-02-20 18:18:32,352 INFO L290 TraceCheckUtils]: 42: Hoare triple {2130#true} assume true; {2130#true} is VALID [2022-02-20 18:18:32,352 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {2130#true} {2130#true} #145#return; {2130#true} is VALID [2022-02-20 18:18:32,353 INFO L290 TraceCheckUtils]: 44: Hoare triple {2130#true} call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~t.base, ~bvadd32(8bv32, ~t.offset), 4bv32); {2130#true} is VALID [2022-02-20 18:18:32,353 INFO L272 TraceCheckUtils]: 45: Hoare triple {2130#true} call #t~ret29 := size(#t~mem28.base, #t~mem28.offset); {2130#true} is VALID [2022-02-20 18:18:32,353 INFO L290 TraceCheckUtils]: 46: Hoare triple {2130#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {2130#true} is VALID [2022-02-20 18:18:32,353 INFO L290 TraceCheckUtils]: 47: Hoare triple {2130#true} assume ~t.base == 0bv32 && ~t.offset == 0bv32;#res := 0bv32; {2130#true} is VALID [2022-02-20 18:18:32,353 INFO L290 TraceCheckUtils]: 48: Hoare triple {2130#true} assume true; {2130#true} is VALID [2022-02-20 18:18:32,353 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {2130#true} {2130#true} #147#return; {2130#true} is VALID [2022-02-20 18:18:32,354 INFO L290 TraceCheckUtils]: 50: Hoare triple {2130#true} #res := ~bvadd32(1bv32, ~bvadd32(#t~ret27, #t~ret29));havoc #t~mem26.base, #t~mem26.offset;havoc #t~ret27;havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29; {2130#true} is VALID [2022-02-20 18:18:32,354 INFO L290 TraceCheckUtils]: 51: Hoare triple {2130#true} assume true; {2130#true} is VALID [2022-02-20 18:18:32,355 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {2130#true} {2186#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} #153#return; {2186#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} is VALID [2022-02-20 18:18:32,355 INFO L290 TraceCheckUtils]: 53: Hoare triple {2186#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} task_~n~1#1 := task_#t~ret31#1;havoc task_#t~ret31#1;assume { :begin_inline_assume_cycle_if_not } true;assume_cycle_if_not_#in~cond#1 := (if 0bv32 != task_~n~1#1 then 1bv32 else 0bv32);havoc assume_cycle_if_not_~cond#1;assume_cycle_if_not_~cond#1 := assume_cycle_if_not_#in~cond#1; {2186#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} is VALID [2022-02-20 18:18:32,356 INFO L290 TraceCheckUtils]: 54: Hoare triple {2186#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} assume !(0bv32 == assume_cycle_if_not_~cond#1); {2186#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} is VALID [2022-02-20 18:18:32,356 INFO L290 TraceCheckUtils]: 55: Hoare triple {2186#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} assume { :end_inline_assume_cycle_if_not } true;call task_#t~malloc32#1.base, task_#t~malloc32#1.offset := #Ultimate.allocOnHeap(~bvmul32(4bv32, task_~n~1#1)); {2186#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} is VALID [2022-02-20 18:18:32,356 INFO L272 TraceCheckUtils]: 56: Hoare triple {2186#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} call #Ultimate.meminit(task_#t~malloc32#1.base, task_#t~malloc32#1.offset, task_~n~1#1, 4bv32, ~bvmul32(4bv32, task_~n~1#1)); {2130#true} is VALID [2022-02-20 18:18:32,357 INFO L290 TraceCheckUtils]: 57: Hoare triple {2130#true} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {2130#true} is VALID [2022-02-20 18:18:32,357 INFO L290 TraceCheckUtils]: 58: Hoare triple {2130#true} assume true; {2130#true} is VALID [2022-02-20 18:18:32,358 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {2130#true} {2186#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} #155#return; {2186#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} is VALID [2022-02-20 18:18:32,359 INFO L290 TraceCheckUtils]: 60: Hoare triple {2186#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} task_~x~0#1.base, task_~x~0#1.offset := task_#t~malloc32#1.base, task_#t~malloc32#1.offset; {2186#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} is VALID [2022-02-20 18:18:32,359 INFO L272 TraceCheckUtils]: 61: Hoare triple {2186#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} call task_#t~ret33#1 := tree_inorder(task_~t#1.base, task_~t#1.offset, task_~x~0#1.base, task_~x~0#1.offset, task_~n~1#1); {2130#true} is VALID [2022-02-20 18:18:32,360 INFO L290 TraceCheckUtils]: 62: Hoare triple {2130#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~i := #in~i; {2325#(= tree_inorder_~t.base |tree_inorder_#in~t.base|)} is VALID [2022-02-20 18:18:32,360 INFO L290 TraceCheckUtils]: 63: Hoare triple {2325#(= tree_inorder_~t.base |tree_inorder_#in~t.base|)} assume ~t.base == 0bv32 && ~t.offset == 0bv32;#res := ~i; {2329#(= |tree_inorder_#in~t.base| (_ bv0 32))} is VALID [2022-02-20 18:18:32,361 INFO L290 TraceCheckUtils]: 64: Hoare triple {2329#(= |tree_inorder_#in~t.base| (_ bv0 32))} assume true; {2329#(= |tree_inorder_#in~t.base| (_ bv0 32))} is VALID [2022-02-20 18:18:32,364 INFO L284 TraceCheckUtils]: 65: Hoare quadruple {2329#(= |tree_inorder_#in~t.base| (_ bv0 32))} {2186#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} #157#return; {2131#false} is VALID [2022-02-20 18:18:32,364 INFO L290 TraceCheckUtils]: 66: Hoare triple {2131#false} havoc task_#t~ret33#1;call task_#t~mem34#1 := read~intINTTYPE4(task_~x~0#1.base, task_~x~0#1.offset, 4bv32); {2131#false} is VALID [2022-02-20 18:18:32,364 INFO L272 TraceCheckUtils]: 67: Hoare triple {2131#false} call __VERIFIER_assert((if task_~a~1#1 == task_#t~mem34#1 then 1bv32 else 0bv32)); {2131#false} is VALID [2022-02-20 18:18:32,365 INFO L290 TraceCheckUtils]: 68: Hoare triple {2131#false} ~cond := #in~cond; {2131#false} is VALID [2022-02-20 18:18:32,365 INFO L290 TraceCheckUtils]: 69: Hoare triple {2131#false} assume 0bv32 == ~cond; {2131#false} is VALID [2022-02-20 18:18:32,365 INFO L290 TraceCheckUtils]: 70: Hoare triple {2131#false} assume !false; {2131#false} is VALID [2022-02-20 18:18:32,365 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 29 trivial. 0 not checked. [2022-02-20 18:18:32,365 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 18:18:32,365 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 18:18:32,366 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [740002841] [2022-02-20 18:18:32,366 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [740002841] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 18:18:32,366 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 18:18:32,366 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-02-20 18:18:32,366 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [240946490] [2022-02-20 18:18:32,366 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 18:18:32,367 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.5) internal successors, (36), 7 states have internal predecessors, (36), 4 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (11), 5 states have call predecessors, (11), 3 states have call successors, (11) Word has length 71 [2022-02-20 18:18:32,368 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:18:32,368 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 4.5) internal successors, (36), 7 states have internal predecessors, (36), 4 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (11), 5 states have call predecessors, (11), 3 states have call successors, (11) [2022-02-20 18:18:32,418 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:18:32,419 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-02-20 18:18:32,419 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 18:18:32,419 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-02-20 18:18:32,420 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=43, Unknown=0, NotChecked=0, Total=56 [2022-02-20 18:18:32,420 INFO L87 Difference]: Start difference. First operand 86 states and 112 transitions. Second operand has 8 states, 8 states have (on average 4.5) internal successors, (36), 7 states have internal predecessors, (36), 4 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (11), 5 states have call predecessors, (11), 3 states have call successors, (11) [2022-02-20 18:18:33,639 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:18:33,639 INFO L93 Difference]: Finished difference Result 140 states and 182 transitions. [2022-02-20 18:18:33,639 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 18:18:33,640 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.5) internal successors, (36), 7 states have internal predecessors, (36), 4 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (11), 5 states have call predecessors, (11), 3 states have call successors, (11) Word has length 71 [2022-02-20 18:18:33,640 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:18:33,641 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.5) internal successors, (36), 7 states have internal predecessors, (36), 4 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (11), 5 states have call predecessors, (11), 3 states have call successors, (11) [2022-02-20 18:18:33,644 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 171 transitions. [2022-02-20 18:18:33,644 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.5) internal successors, (36), 7 states have internal predecessors, (36), 4 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (11), 5 states have call predecessors, (11), 3 states have call successors, (11) [2022-02-20 18:18:33,647 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 171 transitions. [2022-02-20 18:18:33,648 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 171 transitions. [2022-02-20 18:18:33,853 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 171 edges. 171 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:18:33,855 INFO L225 Difference]: With dead ends: 140 [2022-02-20 18:18:33,855 INFO L226 Difference]: Without dead ends: 88 [2022-02-20 18:18:33,856 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 74 GetRequests, 65 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2022-02-20 18:18:33,857 INFO L933 BasicCegarLoop]: 95 mSDtfsCounter, 36 mSDsluCounter, 488 mSDsCounter, 0 mSdLazyCounter, 74 mSolverCounterSat, 22 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 40 SdHoareTripleChecker+Valid, 583 SdHoareTripleChecker+Invalid, 96 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 22 IncrementalHoareTripleChecker+Valid, 74 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 18:18:33,858 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [40 Valid, 583 Invalid, 96 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [22 Valid, 74 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-02-20 18:18:33,858 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 88 states. [2022-02-20 18:18:33,864 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 88 to 88. [2022-02-20 18:18:33,864 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:18:33,865 INFO L82 GeneralOperation]: Start isEquivalent. First operand 88 states. Second operand has 88 states, 54 states have (on average 1.1481481481481481) internal successors, (62), 58 states have internal predecessors, (62), 22 states have call successors, (22), 7 states have call predecessors, (22), 11 states have return successors, (31), 22 states have call predecessors, (31), 22 states have call successors, (31) [2022-02-20 18:18:33,865 INFO L74 IsIncluded]: Start isIncluded. First operand 88 states. Second operand has 88 states, 54 states have (on average 1.1481481481481481) internal successors, (62), 58 states have internal predecessors, (62), 22 states have call successors, (22), 7 states have call predecessors, (22), 11 states have return successors, (31), 22 states have call predecessors, (31), 22 states have call successors, (31) [2022-02-20 18:18:33,866 INFO L87 Difference]: Start difference. First operand 88 states. Second operand has 88 states, 54 states have (on average 1.1481481481481481) internal successors, (62), 58 states have internal predecessors, (62), 22 states have call successors, (22), 7 states have call predecessors, (22), 11 states have return successors, (31), 22 states have call predecessors, (31), 22 states have call successors, (31) [2022-02-20 18:18:33,869 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:18:33,870 INFO L93 Difference]: Finished difference Result 88 states and 115 transitions. [2022-02-20 18:18:33,870 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 115 transitions. [2022-02-20 18:18:33,871 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:18:33,871 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:18:33,871 INFO L74 IsIncluded]: Start isIncluded. First operand has 88 states, 54 states have (on average 1.1481481481481481) internal successors, (62), 58 states have internal predecessors, (62), 22 states have call successors, (22), 7 states have call predecessors, (22), 11 states have return successors, (31), 22 states have call predecessors, (31), 22 states have call successors, (31) Second operand 88 states. [2022-02-20 18:18:33,872 INFO L87 Difference]: Start difference. First operand has 88 states, 54 states have (on average 1.1481481481481481) internal successors, (62), 58 states have internal predecessors, (62), 22 states have call successors, (22), 7 states have call predecessors, (22), 11 states have return successors, (31), 22 states have call predecessors, (31), 22 states have call successors, (31) Second operand 88 states. [2022-02-20 18:18:33,876 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:18:33,876 INFO L93 Difference]: Finished difference Result 88 states and 115 transitions. [2022-02-20 18:18:33,876 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 115 transitions. [2022-02-20 18:18:33,877 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:18:33,877 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:18:33,877 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:18:33,877 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:18:33,877 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 88 states, 54 states have (on average 1.1481481481481481) internal successors, (62), 58 states have internal predecessors, (62), 22 states have call successors, (22), 7 states have call predecessors, (22), 11 states have return successors, (31), 22 states have call predecessors, (31), 22 states have call successors, (31) [2022-02-20 18:18:33,881 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 115 transitions. [2022-02-20 18:18:33,881 INFO L78 Accepts]: Start accepts. Automaton has 88 states and 115 transitions. Word has length 71 [2022-02-20 18:18:33,881 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:18:33,881 INFO L470 AbstractCegarLoop]: Abstraction has 88 states and 115 transitions. [2022-02-20 18:18:33,882 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 4.5) internal successors, (36), 7 states have internal predecessors, (36), 4 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (11), 5 states have call predecessors, (11), 3 states have call successors, (11) [2022-02-20 18:18:33,882 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 115 transitions. [2022-02-20 18:18:33,883 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 84 [2022-02-20 18:18:33,883 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:18:33,883 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:18:33,897 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (5)] Ended with exit code 0 [2022-02-20 18:18:34,095 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 18:18:34,096 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:18:34,096 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:18:34,097 INFO L85 PathProgramCache]: Analyzing trace with hash -1861975499, now seen corresponding path program 1 times [2022-02-20 18:18:34,097 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 18:18:34,097 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [177558397] [2022-02-20 18:18:34,097 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:18:34,098 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 18:18:34,098 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 18:18:34,099 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 18:18:34,105 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 18:18:34,529 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 18:18:34,529 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-02-20 18:18:34,812 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 18:18:34,941 INFO L138 FreeRefinementEngine]: Strategy WOLF found a feasible trace [2022-02-20 18:18:34,942 INFO L628 BasicCegarLoop]: Counterexample is feasible [2022-02-20 18:18:34,943 INFO L764 garLoopResultBuilder]: Registering result UNSAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-02-20 18:18:34,975 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (6)] Forceful destruction successful, exit code 0 [2022-02-20 18:18:35,160 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 18:18:35,162 INFO L732 BasicCegarLoop]: Path program histogram: [1, 1, 1, 1, 1] [2022-02-20 18:18:35,165 INFO L180 ceAbstractionStarter]: Computing trace abstraction results [2022-02-20 18:18:35,211 FATAL L489 DefaultTranslator]: Callstack has procedure call flag but succeeding procedure is empty at [CALL] call #t~ret43 := nondet_tree(); [2022-02-20 18:18:35,212 FATAL L? ?]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.AssertionError: callstack broken after backtranslation by InlinerBacktranslator at de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator.translateProgramExecution(InlinerBacktranslator.java:230) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ModelTranslationContainer.translateProgramExecution(ModelTranslationContainer.java:216) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ModelTranslationContainer.translateProgramExecution(ModelTranslationContainer.java:225) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ModelTranslationContainer.translateProgramExecution(ModelTranslationContainer.java:225) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ModelTranslationContainer.translateProgramExecution(ModelTranslationContainer.java:206) at de.uni_freiburg.informatik.ultimate.core.lib.results.CounterExampleResult.getProgramExecutionAsString(CounterExampleResult.java:155) at de.uni_freiburg.informatik.ultimate.core.lib.results.CounterExampleResult.getLongDescription(CounterExampleResult.java:134) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ResultService.reportResult(ResultService.java:86) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.CegarLoopResultReporter.reportResult(CegarLoopResultReporter.java:141) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.reportLocationResults(TraceAbstractionStarter.java:607) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:182) 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 18:18:35,216 INFO L158 Benchmark]: Toolchain (without parser) took 11276.55ms. Allocated memory was 52.4MB in the beginning and 98.6MB in the end (delta: 46.1MB). Free memory was 29.7MB in the beginning and 77.0MB in the end (delta: -47.3MB). Peak memory consumption was 44.2MB. Max. memory is 16.1GB. [2022-02-20 18:18:35,217 INFO L158 Benchmark]: CDTParser took 0.18ms. Allocated memory is still 52.4MB. Free memory is still 33.7MB. There was no memory consumed. Max. memory is 16.1GB. [2022-02-20 18:18:35,217 INFO L158 Benchmark]: CACSL2BoogieTranslator took 323.87ms. Allocated memory was 52.4MB in the beginning and 67.1MB in the end (delta: 14.7MB). Free memory was 29.5MB in the beginning and 46.0MB in the end (delta: -16.5MB). Peak memory consumption was 7.6MB. Max. memory is 16.1GB. [2022-02-20 18:18:35,218 INFO L158 Benchmark]: Boogie Procedure Inliner took 38.50ms. Allocated memory is still 67.1MB. Free memory was 46.0MB in the beginning and 44.1MB in the end (delta: 1.9MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2022-02-20 18:18:35,219 INFO L158 Benchmark]: Boogie Preprocessor took 36.68ms. Allocated memory is still 67.1MB. Free memory was 44.1MB in the beginning and 41.4MB in the end (delta: 2.7MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. [2022-02-20 18:18:35,220 INFO L158 Benchmark]: RCFGBuilder took 656.30ms. Allocated memory is still 67.1MB. Free memory was 41.4MB in the beginning and 33.1MB in the end (delta: 8.3MB). Peak memory consumption was 10.4MB. Max. memory is 16.1GB. [2022-02-20 18:18:35,221 INFO L158 Benchmark]: TraceAbstraction took 10215.02ms. Allocated memory was 67.1MB in the beginning and 98.6MB in the end (delta: 31.5MB). Free memory was 32.6MB in the beginning and 77.0MB in the end (delta: -44.3MB). Peak memory consumption was 32.0MB. Max. memory is 16.1GB. [2022-02-20 18:18:35,222 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.18ms. Allocated memory is still 52.4MB. Free memory is still 33.7MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 323.87ms. Allocated memory was 52.4MB in the beginning and 67.1MB in the end (delta: 14.7MB). Free memory was 29.5MB in the beginning and 46.0MB in the end (delta: -16.5MB). Peak memory consumption was 7.6MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 38.50ms. Allocated memory is still 67.1MB. Free memory was 46.0MB in the beginning and 44.1MB in the end (delta: 1.9MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * Boogie Preprocessor took 36.68ms. Allocated memory is still 67.1MB. Free memory was 44.1MB in the beginning and 41.4MB in the end (delta: 2.7MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. * RCFGBuilder took 656.30ms. Allocated memory is still 67.1MB. Free memory was 41.4MB in the beginning and 33.1MB in the end (delta: 8.3MB). Peak memory consumption was 10.4MB. Max. memory is 16.1GB. * TraceAbstraction took 10215.02ms. Allocated memory was 67.1MB in the beginning and 98.6MB in the end (delta: 31.5MB). Free memory was 32.6MB in the beginning and 77.0MB in the end (delta: -44.3MB). Peak memory consumption was 32.0MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - ExceptionOrErrorResult: AssertionError: callstack broken after backtranslation by InlinerBacktranslator de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: AssertionError: callstack broken after backtranslation by InlinerBacktranslator: de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator.translateProgramExecution(InlinerBacktranslator.java:230) RESULT: Ultimate could not prove your program: Toolchain returned no result. [2022-02-20 18:18:35,257 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 Received shutdown request... --- End real Ultimate output --- Execution finished normally Writing output log to file Ultimate.log Result: ERROR: ExceptionOrErrorResult: AssertionError: callstack broken after backtranslation by InlinerBacktranslator