./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/verifythis/tree_del_iter_incorrect.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_iter_incorrect.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 11dfc9c267e4b15a18edd43bd8f373e4d6af1fa864b5f35e9818e0875ad24411 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 17:10:37,688 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 17:10:37,689 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 17:10:37,710 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 17:10:37,715 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 17:10:37,716 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 17:10:37,718 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 17:10:37,721 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 17:10:37,723 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 17:10:37,724 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 17:10:37,724 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 17:10:37,725 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 17:10:37,726 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 17:10:37,728 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 17:10:37,730 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 17:10:37,731 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 17:10:37,732 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 17:10:37,736 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 17:10:37,737 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 17:10:37,738 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 17:10:37,739 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 17:10:37,756 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 17:10:37,757 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 17:10:37,757 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 17:10:37,761 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 17:10:37,761 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 17:10:37,761 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 17:10:37,762 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 17:10:37,763 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 17:10:37,763 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 17:10:37,764 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 17:10:37,765 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 17:10:37,766 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 17:10:37,766 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 17:10:37,767 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 17:10:37,767 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 17:10:37,768 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 17:10:37,768 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 17:10:37,768 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 17:10:37,769 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 17:10:37,769 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 17:10:37,770 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2022-02-20 17:10:37,800 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 17:10:37,800 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 17:10:37,800 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 17:10:37,801 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 17:10:37,801 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 17:10:37,801 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 17:10:37,802 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 17:10:37,802 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 17:10:37,802 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 17:10:37,802 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 17:10:37,803 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 17:10:37,803 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 17:10:37,804 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 17:10:37,804 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 17:10:37,804 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 17:10:37,804 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 17:10:37,804 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 17:10:37,804 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 17:10:37,804 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 17:10:37,804 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 17:10:37,805 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 17:10:37,805 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 17:10:37,805 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 17:10:37,805 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 17:10:37,805 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 17:10:37,805 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 17:10:37,806 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 17:10:37,806 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 17:10:37,806 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 17:10:37,806 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 17:10:37,806 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 17:10:37,806 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 17:10:37,806 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 17:10:37,807 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 -> 11dfc9c267e4b15a18edd43bd8f373e4d6af1fa864b5f35e9818e0875ad24411 [2022-02-20 17:10:38,005 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 17:10:38,022 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 17:10:38,024 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 17:10:38,025 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 17:10:38,025 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 17:10:38,026 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/verifythis/tree_del_iter_incorrect.c [2022-02-20 17:10:38,064 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/13134a040/1f4bccc11a314216897092abaaa09b37/FLAGef889b9d1 [2022-02-20 17:10:38,392 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 17:10:38,393 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/verifythis/tree_del_iter_incorrect.c [2022-02-20 17:10:38,402 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/13134a040/1f4bccc11a314216897092abaaa09b37/FLAGef889b9d1 [2022-02-20 17:10:38,798 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/13134a040/1f4bccc11a314216897092abaaa09b37 [2022-02-20 17:10:38,800 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 17:10:38,801 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 17:10:38,802 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 17:10:38,802 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 17:10:38,804 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 17:10:38,805 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 05:10:38" (1/1) ... [2022-02-20 17:10:38,806 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@321ebcaa and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:10:38, skipping insertion in model container [2022-02-20 17:10:38,806 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 05:10:38" (1/1) ... [2022-02-20 17:10:38,810 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 17:10:38,821 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 17:10:38,933 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_iter_incorrect.c[619,632] [2022-02-20 17:10:38,949 WARN L1545 CHandler]: Possible shadowing of function min [2022-02-20 17:10:38,960 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 17:10:38,968 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 17:10:38,985 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_iter_incorrect.c[619,632] [2022-02-20 17:10:38,999 WARN L1545 CHandler]: Possible shadowing of function min [2022-02-20 17:10:39,007 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 17:10:39,018 INFO L208 MainTranslator]: Completed translation [2022-02-20 17:10:39,018 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:10:39 WrapperNode [2022-02-20 17:10:39,019 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 17:10:39,020 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 17:10:39,020 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 17:10:39,020 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 17:10:39,025 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:10:39" (1/1) ... [2022-02-20 17:10:39,032 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:10:39" (1/1) ... [2022-02-20 17:10:39,062 INFO L137 Inliner]: procedures = 29, calls = 61, calls flagged for inlining = 5, calls inlined = 5, statements flattened = 110 [2022-02-20 17:10:39,063 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 17:10:39,064 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 17:10:39,064 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 17:10:39,064 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 17:10:39,070 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:10:39" (1/1) ... [2022-02-20 17:10:39,070 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:10:39" (1/1) ... [2022-02-20 17:10:39,080 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:10:39" (1/1) ... [2022-02-20 17:10:39,081 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:10:39" (1/1) ... [2022-02-20 17:10:39,089 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:10:39" (1/1) ... [2022-02-20 17:10:39,092 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:10:39" (1/1) ... [2022-02-20 17:10:39,094 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:10:39" (1/1) ... [2022-02-20 17:10:39,096 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 17:10:39,097 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 17:10:39,097 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 17:10:39,097 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 17:10:39,103 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:10:39" (1/1) ... [2022-02-20 17:10:39,120 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 17:10:39,129 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:10:39,138 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 17:10:39,161 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 17:10:39,174 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 17:10:39,174 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-02-20 17:10:39,174 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2022-02-20 17:10:39,174 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-02-20 17:10:39,174 INFO L130 BoogieDeclarations]: Found specification of procedure min [2022-02-20 17:10:39,175 INFO L138 BoogieDeclarations]: Found implementation of procedure min [2022-02-20 17:10:39,176 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-02-20 17:10:39,176 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.meminit [2022-02-20 17:10:39,176 INFO L138 BoogieDeclarations]: Found implementation of procedure #Ultimate.meminit [2022-02-20 17:10:39,176 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2022-02-20 17:10:39,176 INFO L130 BoogieDeclarations]: Found specification of procedure nondet_tree [2022-02-20 17:10:39,176 INFO L138 BoogieDeclarations]: Found implementation of procedure nondet_tree [2022-02-20 17:10:39,176 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 17:10:39,177 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2022-02-20 17:10:39,177 INFO L130 BoogieDeclarations]: Found specification of procedure size [2022-02-20 17:10:39,177 INFO L138 BoogieDeclarations]: Found implementation of procedure size [2022-02-20 17:10:39,177 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 17:10:39,177 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 17:10:39,177 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-02-20 17:10:39,178 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-02-20 17:10:39,178 INFO L130 BoogieDeclarations]: Found specification of procedure tree_inorder [2022-02-20 17:10:39,178 INFO L138 BoogieDeclarations]: Found implementation of procedure tree_inorder [2022-02-20 17:10:39,178 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 17:10:39,293 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 17:10:39,303 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 17:10:39,656 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 17:10:39,661 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 17:10:39,662 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-02-20 17:10:39,663 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 05:10:39 BoogieIcfgContainer [2022-02-20 17:10:39,663 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 17:10:39,664 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 17:10:39,664 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 17:10:39,667 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 17:10:39,667 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 05:10:38" (1/3) ... [2022-02-20 17:10:39,668 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5566c9ce and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 05:10:39, skipping insertion in model container [2022-02-20 17:10:39,668 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:10:39" (2/3) ... [2022-02-20 17:10:39,669 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5566c9ce and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 05:10:39, skipping insertion in model container [2022-02-20 17:10:39,669 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 05:10:39" (3/3) ... [2022-02-20 17:10:39,671 INFO L111 eAbstractionObserver]: Analyzing ICFG tree_del_iter_incorrect.c [2022-02-20 17:10:39,675 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 17:10:39,676 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 17:10:39,726 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 17:10:39,731 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 17:10:39,732 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-02-20 17:10:39,749 INFO L276 IsEmpty]: Start isEmpty. Operand has 81 states, 53 states have (on average 1.2452830188679245) internal successors, (66), 54 states have internal predecessors, (66), 20 states have call successors, (20), 6 states have call predecessors, (20), 6 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-02-20 17:10:39,757 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-02-20 17:10:39,757 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:10:39,757 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 17:10:39,758 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:10:39,762 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:10:39,763 INFO L85 PathProgramCache]: Analyzing trace with hash -858928279, now seen corresponding path program 1 times [2022-02-20 17:10:39,769 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:10:39,769 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1321037238] [2022-02-20 17:10:39,770 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:10:39,771 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:10:39,871 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:39,952 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 17:10:39,957 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:39,971 INFO L290 TraceCheckUtils]: 0: Hoare triple {104#(and (= |old(#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; {84#true} is VALID [2022-02-20 17:10:39,972 INFO L290 TraceCheckUtils]: 1: Hoare triple {84#true} assume true; {84#true} is VALID [2022-02-20 17:10:39,973 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {84#true} {84#true} #143#return; {84#true} is VALID [2022-02-20 17:10:39,973 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-02-20 17:10:39,977 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:39,984 INFO L290 TraceCheckUtils]: 0: Hoare triple {84#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {84#true} is VALID [2022-02-20 17:10:39,984 INFO L290 TraceCheckUtils]: 1: Hoare triple {84#true} assume ~n.base == 0 && ~n.offset == 0;#res := 2147483647; {84#true} is VALID [2022-02-20 17:10:39,985 INFO L290 TraceCheckUtils]: 2: Hoare triple {84#true} assume true; {84#true} is VALID [2022-02-20 17:10:39,985 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {84#true} {84#true} #145#return; {84#true} is VALID [2022-02-20 17:10:39,985 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-02-20 17:10:39,987 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:39,998 INFO L290 TraceCheckUtils]: 0: Hoare triple {84#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {84#true} is VALID [2022-02-20 17:10:39,999 INFO L290 TraceCheckUtils]: 1: Hoare triple {84#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {84#true} is VALID [2022-02-20 17:10:39,999 INFO L290 TraceCheckUtils]: 2: Hoare triple {84#true} assume true; {84#true} is VALID [2022-02-20 17:10:40,000 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {84#true} {84#true} #147#return; {84#true} is VALID [2022-02-20 17:10:40,006 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 21 [2022-02-20 17:10:40,016 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:40,021 INFO L290 TraceCheckUtils]: 0: Hoare triple {105#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {84#true} is VALID [2022-02-20 17:10:40,021 INFO L290 TraceCheckUtils]: 1: Hoare triple {84#true} assume true; {84#true} is VALID [2022-02-20 17:10:40,021 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {84#true} {85#false} #149#return; {85#false} is VALID [2022-02-20 17:10:40,029 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-02-20 17:10:40,036 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:40,040 INFO L290 TraceCheckUtils]: 0: Hoare triple {106#(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; {84#true} is VALID [2022-02-20 17:10:40,040 INFO L290 TraceCheckUtils]: 1: Hoare triple {84#true} assume ~t.base == 0 && ~t.offset == 0;#res := ~i; {84#true} is VALID [2022-02-20 17:10:40,040 INFO L290 TraceCheckUtils]: 2: Hoare triple {84#true} assume true; {84#true} is VALID [2022-02-20 17:10:40,040 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {84#true} {85#false} #151#return; {85#false} is VALID [2022-02-20 17:10:40,041 INFO L290 TraceCheckUtils]: 0: Hoare triple {84#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(26, 2);call #Ultimate.allocInit(12, 3); {84#true} is VALID [2022-02-20 17:10:40,041 INFO L290 TraceCheckUtils]: 1: Hoare triple {84#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret44#1.base, main_#t~ret44#1.offset; {84#true} is VALID [2022-02-20 17:10:40,042 INFO L272 TraceCheckUtils]: 2: Hoare triple {84#true} call main_#t~ret44#1.base, main_#t~ret44#1.offset := nondet_tree(); {104#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 17:10:40,042 INFO L290 TraceCheckUtils]: 3: Hoare triple {104#(and (= |old(#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; {84#true} is VALID [2022-02-20 17:10:40,043 INFO L290 TraceCheckUtils]: 4: Hoare triple {84#true} assume true; {84#true} is VALID [2022-02-20 17:10:40,043 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {84#true} {84#true} #143#return; {84#true} is VALID [2022-02-20 17:10:40,043 INFO L290 TraceCheckUtils]: 6: Hoare triple {84#true} assume { :begin_inline_task } true;task_#in~t#1.base, task_#in~t#1.offset := main_#t~ret44#1.base, main_#t~ret44#1.offset;havoc task_#t~ret31#1, task_#t~ret32#1, task_#t~malloc33#1.base, task_#t~malloc33#1.offset, task_#t~ret34#1, task_#t~mem35#1, task_#t~ret36#1.base, task_#t~ret36#1.offset, task_#t~mem37#1, task_#t~ret38#1, task_#t~malloc39#1.base, task_#t~malloc39#1.offset, task_#t~ret40#1, task_#t~mem42#1, task_#t~mem43#1, task_#t~post41#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~0#1.base, task_~r~0#1.offset, task_~m~1#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; {84#true} is VALID [2022-02-20 17:10:40,043 INFO L272 TraceCheckUtils]: 7: Hoare triple {84#true} call task_#t~ret31#1 := min(task_~t#1.base, task_~t#1.offset); {84#true} is VALID [2022-02-20 17:10:40,043 INFO L290 TraceCheckUtils]: 8: Hoare triple {84#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {84#true} is VALID [2022-02-20 17:10:40,044 INFO L290 TraceCheckUtils]: 9: Hoare triple {84#true} assume ~n.base == 0 && ~n.offset == 0;#res := 2147483647; {84#true} is VALID [2022-02-20 17:10:40,044 INFO L290 TraceCheckUtils]: 10: Hoare triple {84#true} assume true; {84#true} is VALID [2022-02-20 17:10:40,044 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {84#true} {84#true} #145#return; {84#true} is VALID [2022-02-20 17:10:40,044 INFO L290 TraceCheckUtils]: 12: Hoare triple {84#true} assume -2147483648 <= task_#t~ret31#1 && task_#t~ret31#1 <= 2147483647;task_~a~1#1 := task_#t~ret31#1;havoc task_#t~ret31#1;call task_~#b~1#1.base, task_~#b~1#1.offset := #Ultimate.allocOnStack(4); {84#true} is VALID [2022-02-20 17:10:40,045 INFO L272 TraceCheckUtils]: 13: Hoare triple {84#true} call task_#t~ret32#1 := size(task_~t#1.base, task_~t#1.offset); {84#true} is VALID [2022-02-20 17:10:40,045 INFO L290 TraceCheckUtils]: 14: Hoare triple {84#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {84#true} is VALID [2022-02-20 17:10:40,045 INFO L290 TraceCheckUtils]: 15: Hoare triple {84#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {84#true} is VALID [2022-02-20 17:10:40,045 INFO L290 TraceCheckUtils]: 16: Hoare triple {84#true} assume true; {84#true} is VALID [2022-02-20 17:10:40,045 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {84#true} {84#true} #147#return; {84#true} is VALID [2022-02-20 17:10:40,046 INFO L290 TraceCheckUtils]: 18: Hoare triple {84#true} assume -2147483648 <= task_#t~ret32#1 && task_#t~ret32#1 <= 2147483647;task_~n~1#1 := task_#t~ret32#1;havoc task_#t~ret32#1;assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if 0 != task_~n~1#1 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {84#true} is VALID [2022-02-20 17:10:40,046 INFO L290 TraceCheckUtils]: 19: Hoare triple {84#true} assume 0 == assume_abort_if_not_~cond#1;assume false; {85#false} is VALID [2022-02-20 17:10:40,046 INFO L290 TraceCheckUtils]: 20: Hoare triple {85#false} assume { :end_inline_assume_abort_if_not } true;call task_#t~malloc33#1.base, task_#t~malloc33#1.offset := #Ultimate.allocOnHeap(4 * task_~n~1#1); {85#false} is VALID [2022-02-20 17:10:40,047 INFO L272 TraceCheckUtils]: 21: Hoare triple {85#false} call #Ultimate.meminit(task_#t~malloc33#1.base, task_#t~malloc33#1.offset, task_~n~1#1, 4, 4 * task_~n~1#1); {105#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-02-20 17:10:40,047 INFO L290 TraceCheckUtils]: 22: Hoare triple {105#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {84#true} is VALID [2022-02-20 17:10:40,047 INFO L290 TraceCheckUtils]: 23: Hoare triple {84#true} assume true; {84#true} is VALID [2022-02-20 17:10:40,047 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {84#true} {85#false} #149#return; {85#false} is VALID [2022-02-20 17:10:40,047 INFO L290 TraceCheckUtils]: 25: Hoare triple {85#false} task_~x~0#1.base, task_~x~0#1.offset := task_#t~malloc33#1.base, task_#t~malloc33#1.offset; {85#false} is VALID [2022-02-20 17:10:40,048 INFO L272 TraceCheckUtils]: 26: Hoare triple {85#false} call task_#t~ret34#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); {106#(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 17:10:40,048 INFO L290 TraceCheckUtils]: 27: Hoare triple {106#(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; {84#true} is VALID [2022-02-20 17:10:40,048 INFO L290 TraceCheckUtils]: 28: Hoare triple {84#true} assume ~t.base == 0 && ~t.offset == 0;#res := ~i; {84#true} is VALID [2022-02-20 17:10:40,048 INFO L290 TraceCheckUtils]: 29: Hoare triple {84#true} assume true; {84#true} is VALID [2022-02-20 17:10:40,049 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {84#true} {85#false} #151#return; {85#false} is VALID [2022-02-20 17:10:40,049 INFO L290 TraceCheckUtils]: 31: Hoare triple {85#false} assume -2147483648 <= task_#t~ret34#1 && task_#t~ret34#1 <= 2147483647;havoc task_#t~ret34#1;call task_#t~mem35#1 := read~int(task_~x~0#1.base, task_~x~0#1.offset, 4); {85#false} is VALID [2022-02-20 17:10:40,049 INFO L272 TraceCheckUtils]: 32: Hoare triple {85#false} call __VERIFIER_assert((if task_~a~1#1 == task_#t~mem35#1 then 1 else 0)); {85#false} is VALID [2022-02-20 17:10:40,049 INFO L290 TraceCheckUtils]: 33: Hoare triple {85#false} ~cond := #in~cond; {85#false} is VALID [2022-02-20 17:10:40,049 INFO L290 TraceCheckUtils]: 34: Hoare triple {85#false} assume 0 == ~cond; {85#false} is VALID [2022-02-20 17:10:40,050 INFO L290 TraceCheckUtils]: 35: Hoare triple {85#false} assume !false; {85#false} is VALID [2022-02-20 17:10:40,050 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 17:10:40,051 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:10:40,051 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1321037238] [2022-02-20 17:10:40,051 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1321037238] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:10:40,051 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:10:40,052 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 17:10:40,053 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [913503144] [2022-02-20 17:10:40,053 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:10:40,057 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.0) internal successors, (25), 2 states have internal predecessors, (25), 2 states have call successors, (6), 5 states have call predecessors, (6), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 36 [2022-02-20 17:10:40,059 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:10:40,061 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), 2 states have internal predecessors, (25), 2 states have call successors, (6), 5 states have call predecessors, (6), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 17:10:40,093 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 17:10:40,094 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:10:40,094 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:10:40,108 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:10:40,109 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:10:40,111 INFO L87 Difference]: Start difference. First operand has 81 states, 53 states have (on average 1.2452830188679245) internal successors, (66), 54 states have internal predecessors, (66), 20 states have call successors, (20), 6 states have call predecessors, (20), 6 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) Second operand has 5 states, 5 states have (on average 5.0) internal successors, (25), 2 states have internal predecessors, (25), 2 states have call successors, (6), 5 states have call predecessors, (6), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 17:10:40,562 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:10:40,563 INFO L93 Difference]: Finished difference Result 142 states and 192 transitions. [2022-02-20 17:10:40,563 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 17:10:40,563 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.0) internal successors, (25), 2 states have internal predecessors, (25), 2 states have call successors, (6), 5 states have call predecessors, (6), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 36 [2022-02-20 17:10:40,564 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:10:40,565 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.0) internal successors, (25), 2 states have internal predecessors, (25), 2 states have call successors, (6), 5 states have call predecessors, (6), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 17:10:40,591 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 192 transitions. [2022-02-20 17:10:40,591 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.0) internal successors, (25), 2 states have internal predecessors, (25), 2 states have call successors, (6), 5 states have call predecessors, (6), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 17:10:40,597 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 192 transitions. [2022-02-20 17:10:40,598 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 192 transitions. [2022-02-20 17:10:40,750 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 192 edges. 192 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:10:40,759 INFO L225 Difference]: With dead ends: 142 [2022-02-20 17:10:40,759 INFO L226 Difference]: Without dead ends: 81 [2022-02-20 17:10:40,762 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:10:40,764 INFO L933 BasicCegarLoop]: 89 mSDtfsCounter, 50 mSDsluCounter, 54 mSDsCounter, 0 mSdLazyCounter, 69 mSolverCounterSat, 45 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 54 SdHoareTripleChecker+Valid, 143 SdHoareTripleChecker+Invalid, 114 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 45 IncrementalHoareTripleChecker+Valid, 69 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 17:10:40,764 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [54 Valid, 143 Invalid, 114 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [45 Valid, 69 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 17:10:40,776 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2022-02-20 17:10:40,788 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 76. [2022-02-20 17:10:40,788 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:10:40,789 INFO L82 GeneralOperation]: Start isEquivalent. First operand 81 states. Second operand has 76 states, 49 states have (on average 1.163265306122449) internal successors, (57), 49 states have internal predecessors, (57), 20 states have call successors, (20), 6 states have call predecessors, (20), 6 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-02-20 17:10:40,790 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand has 76 states, 49 states have (on average 1.163265306122449) internal successors, (57), 49 states have internal predecessors, (57), 20 states have call successors, (20), 6 states have call predecessors, (20), 6 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-02-20 17:10:40,791 INFO L87 Difference]: Start difference. First operand 81 states. Second operand has 76 states, 49 states have (on average 1.163265306122449) internal successors, (57), 49 states have internal predecessors, (57), 20 states have call successors, (20), 6 states have call predecessors, (20), 6 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-02-20 17:10:40,796 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:10:40,797 INFO L93 Difference]: Finished difference Result 81 states and 107 transitions. [2022-02-20 17:10:40,797 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 107 transitions. [2022-02-20 17:10:40,798 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:10:40,798 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:10:40,799 INFO L74 IsIncluded]: Start isIncluded. First operand has 76 states, 49 states have (on average 1.163265306122449) internal successors, (57), 49 states have internal predecessors, (57), 20 states have call successors, (20), 6 states have call predecessors, (20), 6 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) Second operand 81 states. [2022-02-20 17:10:40,799 INFO L87 Difference]: Start difference. First operand has 76 states, 49 states have (on average 1.163265306122449) internal successors, (57), 49 states have internal predecessors, (57), 20 states have call successors, (20), 6 states have call predecessors, (20), 6 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) Second operand 81 states. [2022-02-20 17:10:40,804 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:10:40,807 INFO L93 Difference]: Finished difference Result 81 states and 107 transitions. [2022-02-20 17:10:40,807 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 107 transitions. [2022-02-20 17:10:40,808 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:10:40,810 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:10:40,810 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:10:40,810 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:10:40,811 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 76 states, 49 states have (on average 1.163265306122449) internal successors, (57), 49 states have internal predecessors, (57), 20 states have call successors, (20), 6 states have call predecessors, (20), 6 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-02-20 17:10:40,815 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 97 transitions. [2022-02-20 17:10:40,819 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 97 transitions. Word has length 36 [2022-02-20 17:10:40,820 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:10:40,820 INFO L470 AbstractCegarLoop]: Abstraction has 76 states and 97 transitions. [2022-02-20 17:10:40,822 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 5.0) internal successors, (25), 2 states have internal predecessors, (25), 2 states have call successors, (6), 5 states have call predecessors, (6), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 17:10:40,822 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 97 transitions. [2022-02-20 17:10:40,823 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-02-20 17:10:40,823 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:10:40,823 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 17:10:40,823 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 17:10:40,824 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:10:40,824 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:10:40,824 INFO L85 PathProgramCache]: Analyzing trace with hash 1847691115, now seen corresponding path program 1 times [2022-02-20 17:10:40,824 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:10:40,824 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1602660906] [2022-02-20 17:10:40,825 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:10:40,825 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:10:40,849 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:40,896 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 17:10:40,898 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:40,904 INFO L290 TraceCheckUtils]: 0: Hoare triple {589#(and (= |old(#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; {567#true} is VALID [2022-02-20 17:10:40,904 INFO L290 TraceCheckUtils]: 1: Hoare triple {567#true} assume true; {567#true} is VALID [2022-02-20 17:10:40,904 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {567#true} {567#true} #143#return; {567#true} is VALID [2022-02-20 17:10:40,904 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-02-20 17:10:40,905 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:40,910 INFO L290 TraceCheckUtils]: 0: Hoare triple {567#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {567#true} is VALID [2022-02-20 17:10:40,910 INFO L290 TraceCheckUtils]: 1: Hoare triple {567#true} assume ~n.base == 0 && ~n.offset == 0;#res := 2147483647; {567#true} is VALID [2022-02-20 17:10:40,910 INFO L290 TraceCheckUtils]: 2: Hoare triple {567#true} assume true; {567#true} is VALID [2022-02-20 17:10:40,911 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {567#true} {567#true} #145#return; {567#true} is VALID [2022-02-20 17:10:40,911 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-02-20 17:10:40,913 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:40,924 INFO L290 TraceCheckUtils]: 0: Hoare triple {567#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {567#true} is VALID [2022-02-20 17:10:40,925 INFO L290 TraceCheckUtils]: 1: Hoare triple {567#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {590#(= |size_#res| 0)} is VALID [2022-02-20 17:10:40,925 INFO L290 TraceCheckUtils]: 2: Hoare triple {590#(= |size_#res| 0)} assume true; {590#(= |size_#res| 0)} is VALID [2022-02-20 17:10:40,926 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {590#(= |size_#res| 0)} {567#true} #147#return; {580#(= |ULTIMATE.start_task_#t~ret32#1| 0)} is VALID [2022-02-20 17:10:40,930 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 21 [2022-02-20 17:10:40,932 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:40,935 INFO L290 TraceCheckUtils]: 0: Hoare triple {591#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {567#true} is VALID [2022-02-20 17:10:40,936 INFO L290 TraceCheckUtils]: 1: Hoare triple {567#true} assume true; {567#true} is VALID [2022-02-20 17:10:40,936 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {567#true} {568#false} #149#return; {568#false} is VALID [2022-02-20 17:10:40,944 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-02-20 17:10:40,946 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:40,948 INFO L290 TraceCheckUtils]: 0: Hoare triple {592#(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; {567#true} is VALID [2022-02-20 17:10:40,949 INFO L290 TraceCheckUtils]: 1: Hoare triple {567#true} assume ~t.base == 0 && ~t.offset == 0;#res := ~i; {567#true} is VALID [2022-02-20 17:10:40,949 INFO L290 TraceCheckUtils]: 2: Hoare triple {567#true} assume true; {567#true} is VALID [2022-02-20 17:10:40,949 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {567#true} {568#false} #151#return; {568#false} is VALID [2022-02-20 17:10:40,949 INFO L290 TraceCheckUtils]: 0: Hoare triple {567#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(26, 2);call #Ultimate.allocInit(12, 3); {567#true} is VALID [2022-02-20 17:10:40,949 INFO L290 TraceCheckUtils]: 1: Hoare triple {567#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret44#1.base, main_#t~ret44#1.offset; {567#true} is VALID [2022-02-20 17:10:40,950 INFO L272 TraceCheckUtils]: 2: Hoare triple {567#true} call main_#t~ret44#1.base, main_#t~ret44#1.offset := nondet_tree(); {589#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 17:10:40,950 INFO L290 TraceCheckUtils]: 3: Hoare triple {589#(and (= |old(#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; {567#true} is VALID [2022-02-20 17:10:40,951 INFO L290 TraceCheckUtils]: 4: Hoare triple {567#true} assume true; {567#true} is VALID [2022-02-20 17:10:40,951 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {567#true} {567#true} #143#return; {567#true} is VALID [2022-02-20 17:10:40,951 INFO L290 TraceCheckUtils]: 6: Hoare triple {567#true} assume { :begin_inline_task } true;task_#in~t#1.base, task_#in~t#1.offset := main_#t~ret44#1.base, main_#t~ret44#1.offset;havoc task_#t~ret31#1, task_#t~ret32#1, task_#t~malloc33#1.base, task_#t~malloc33#1.offset, task_#t~ret34#1, task_#t~mem35#1, task_#t~ret36#1.base, task_#t~ret36#1.offset, task_#t~mem37#1, task_#t~ret38#1, task_#t~malloc39#1.base, task_#t~malloc39#1.offset, task_#t~ret40#1, task_#t~mem42#1, task_#t~mem43#1, task_#t~post41#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~0#1.base, task_~r~0#1.offset, task_~m~1#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; {567#true} is VALID [2022-02-20 17:10:40,951 INFO L272 TraceCheckUtils]: 7: Hoare triple {567#true} call task_#t~ret31#1 := min(task_~t#1.base, task_~t#1.offset); {567#true} is VALID [2022-02-20 17:10:40,951 INFO L290 TraceCheckUtils]: 8: Hoare triple {567#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {567#true} is VALID [2022-02-20 17:10:40,951 INFO L290 TraceCheckUtils]: 9: Hoare triple {567#true} assume ~n.base == 0 && ~n.offset == 0;#res := 2147483647; {567#true} is VALID [2022-02-20 17:10:40,952 INFO L290 TraceCheckUtils]: 10: Hoare triple {567#true} assume true; {567#true} is VALID [2022-02-20 17:10:40,952 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {567#true} {567#true} #145#return; {567#true} is VALID [2022-02-20 17:10:40,952 INFO L290 TraceCheckUtils]: 12: Hoare triple {567#true} assume -2147483648 <= task_#t~ret31#1 && task_#t~ret31#1 <= 2147483647;task_~a~1#1 := task_#t~ret31#1;havoc task_#t~ret31#1;call task_~#b~1#1.base, task_~#b~1#1.offset := #Ultimate.allocOnStack(4); {567#true} is VALID [2022-02-20 17:10:40,952 INFO L272 TraceCheckUtils]: 13: Hoare triple {567#true} call task_#t~ret32#1 := size(task_~t#1.base, task_~t#1.offset); {567#true} is VALID [2022-02-20 17:10:40,952 INFO L290 TraceCheckUtils]: 14: Hoare triple {567#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {567#true} is VALID [2022-02-20 17:10:40,953 INFO L290 TraceCheckUtils]: 15: Hoare triple {567#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {590#(= |size_#res| 0)} is VALID [2022-02-20 17:10:40,953 INFO L290 TraceCheckUtils]: 16: Hoare triple {590#(= |size_#res| 0)} assume true; {590#(= |size_#res| 0)} is VALID [2022-02-20 17:10:40,954 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {590#(= |size_#res| 0)} {567#true} #147#return; {580#(= |ULTIMATE.start_task_#t~ret32#1| 0)} is VALID [2022-02-20 17:10:40,954 INFO L290 TraceCheckUtils]: 18: Hoare triple {580#(= |ULTIMATE.start_task_#t~ret32#1| 0)} assume -2147483648 <= task_#t~ret32#1 && task_#t~ret32#1 <= 2147483647;task_~n~1#1 := task_#t~ret32#1;havoc task_#t~ret32#1;assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if 0 != task_~n~1#1 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {581#(and (= |ULTIMATE.start_task_~n~1#1| 0) (= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0))} is VALID [2022-02-20 17:10:40,955 INFO L290 TraceCheckUtils]: 19: Hoare triple {581#(and (= |ULTIMATE.start_task_~n~1#1| 0) (= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0))} assume !(0 == assume_abort_if_not_~cond#1); {568#false} is VALID [2022-02-20 17:10:40,955 INFO L290 TraceCheckUtils]: 20: Hoare triple {568#false} assume { :end_inline_assume_abort_if_not } true;call task_#t~malloc33#1.base, task_#t~malloc33#1.offset := #Ultimate.allocOnHeap(4 * task_~n~1#1); {568#false} is VALID [2022-02-20 17:10:40,955 INFO L272 TraceCheckUtils]: 21: Hoare triple {568#false} call #Ultimate.meminit(task_#t~malloc33#1.base, task_#t~malloc33#1.offset, task_~n~1#1, 4, 4 * task_~n~1#1); {591#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-02-20 17:10:40,955 INFO L290 TraceCheckUtils]: 22: Hoare triple {591#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {567#true} is VALID [2022-02-20 17:10:40,956 INFO L290 TraceCheckUtils]: 23: Hoare triple {567#true} assume true; {567#true} is VALID [2022-02-20 17:10:40,956 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {567#true} {568#false} #149#return; {568#false} is VALID [2022-02-20 17:10:40,956 INFO L290 TraceCheckUtils]: 25: Hoare triple {568#false} task_~x~0#1.base, task_~x~0#1.offset := task_#t~malloc33#1.base, task_#t~malloc33#1.offset; {568#false} is VALID [2022-02-20 17:10:40,956 INFO L272 TraceCheckUtils]: 26: Hoare triple {568#false} call task_#t~ret34#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); {592#(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 17:10:40,956 INFO L290 TraceCheckUtils]: 27: Hoare triple {592#(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; {567#true} is VALID [2022-02-20 17:10:40,957 INFO L290 TraceCheckUtils]: 28: Hoare triple {567#true} assume ~t.base == 0 && ~t.offset == 0;#res := ~i; {567#true} is VALID [2022-02-20 17:10:40,957 INFO L290 TraceCheckUtils]: 29: Hoare triple {567#true} assume true; {567#true} is VALID [2022-02-20 17:10:40,957 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {567#true} {568#false} #151#return; {568#false} is VALID [2022-02-20 17:10:40,957 INFO L290 TraceCheckUtils]: 31: Hoare triple {568#false} assume -2147483648 <= task_#t~ret34#1 && task_#t~ret34#1 <= 2147483647;havoc task_#t~ret34#1;call task_#t~mem35#1 := read~int(task_~x~0#1.base, task_~x~0#1.offset, 4); {568#false} is VALID [2022-02-20 17:10:40,957 INFO L272 TraceCheckUtils]: 32: Hoare triple {568#false} call __VERIFIER_assert((if task_~a~1#1 == task_#t~mem35#1 then 1 else 0)); {568#false} is VALID [2022-02-20 17:10:40,957 INFO L290 TraceCheckUtils]: 33: Hoare triple {568#false} ~cond := #in~cond; {568#false} is VALID [2022-02-20 17:10:40,958 INFO L290 TraceCheckUtils]: 34: Hoare triple {568#false} assume 0 == ~cond; {568#false} is VALID [2022-02-20 17:10:40,958 INFO L290 TraceCheckUtils]: 35: Hoare triple {568#false} assume !false; {568#false} is VALID [2022-02-20 17:10:40,958 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 17:10:40,958 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:10:40,958 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1602660906] [2022-02-20 17:10:40,959 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1602660906] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:10:40,959 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:10:40,959 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-02-20 17:10:40,959 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [492067577] [2022-02-20 17:10:40,959 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:10:40,960 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 17:10:40,960 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:10:40,961 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 17:10:40,987 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 17:10:40,987 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-02-20 17:10:40,987 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:10:40,987 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-02-20 17:10:40,988 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-02-20 17:10:40,988 INFO L87 Difference]: Start difference. First operand 76 states and 97 transitions. 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 17:10:41,761 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:10:41,761 INFO L93 Difference]: Finished difference Result 136 states and 178 transitions. [2022-02-20 17:10:41,761 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 17:10:41,762 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 17:10:41,762 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:10:41,762 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 17:10:41,766 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 178 transitions. [2022-02-20 17:10:41,766 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 17:10:41,769 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 178 transitions. [2022-02-20 17:10:41,770 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 178 transitions. [2022-02-20 17:10:41,905 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 178 edges. 178 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:10:41,910 INFO L225 Difference]: With dead ends: 136 [2022-02-20 17:10:41,910 INFO L226 Difference]: Without dead ends: 83 [2022-02-20 17:10:41,912 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=22, Invalid=50, Unknown=0, NotChecked=0, Total=72 [2022-02-20 17:10:41,913 INFO L933 BasicCegarLoop]: 83 mSDtfsCounter, 52 mSDsluCounter, 187 mSDsCounter, 0 mSdLazyCounter, 217 mSolverCounterSat, 47 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 58 SdHoareTripleChecker+Valid, 270 SdHoareTripleChecker+Invalid, 264 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 47 IncrementalHoareTripleChecker+Valid, 217 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 17:10:41,914 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [58 Valid, 270 Invalid, 264 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [47 Valid, 217 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-02-20 17:10:41,915 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 83 states. [2022-02-20 17:10:41,928 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 83 to 78. [2022-02-20 17:10:41,928 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:10:41,929 INFO L82 GeneralOperation]: Start isEquivalent. First operand 83 states. Second operand has 78 states, 50 states have (on average 1.16) internal successors, (58), 51 states have internal predecessors, (58), 20 states have call successors, (20), 6 states have call predecessors, (20), 7 states have return successors, (23), 20 states have call predecessors, (23), 20 states have call successors, (23) [2022-02-20 17:10:41,931 INFO L74 IsIncluded]: Start isIncluded. First operand 83 states. Second operand has 78 states, 50 states have (on average 1.16) internal successors, (58), 51 states have internal predecessors, (58), 20 states have call successors, (20), 6 states have call predecessors, (20), 7 states have return successors, (23), 20 states have call predecessors, (23), 20 states have call successors, (23) [2022-02-20 17:10:41,932 INFO L87 Difference]: Start difference. First operand 83 states. Second operand has 78 states, 50 states have (on average 1.16) internal successors, (58), 51 states have internal predecessors, (58), 20 states have call successors, (20), 6 states have call predecessors, (20), 7 states have return successors, (23), 20 states have call predecessors, (23), 20 states have call successors, (23) [2022-02-20 17:10:41,936 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:10:41,937 INFO L93 Difference]: Finished difference Result 83 states and 111 transitions. [2022-02-20 17:10:41,937 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 111 transitions. [2022-02-20 17:10:41,938 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:10:41,939 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:10:41,939 INFO L74 IsIncluded]: Start isIncluded. First operand has 78 states, 50 states have (on average 1.16) internal successors, (58), 51 states have internal predecessors, (58), 20 states have call successors, (20), 6 states have call predecessors, (20), 7 states have return successors, (23), 20 states have call predecessors, (23), 20 states have call successors, (23) Second operand 83 states. [2022-02-20 17:10:41,939 INFO L87 Difference]: Start difference. First operand has 78 states, 50 states have (on average 1.16) internal successors, (58), 51 states have internal predecessors, (58), 20 states have call successors, (20), 6 states have call predecessors, (20), 7 states have return successors, (23), 20 states have call predecessors, (23), 20 states have call successors, (23) Second operand 83 states. [2022-02-20 17:10:41,942 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:10:41,943 INFO L93 Difference]: Finished difference Result 83 states and 111 transitions. [2022-02-20 17:10:41,943 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 111 transitions. [2022-02-20 17:10:41,943 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:10:41,943 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:10:41,944 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:10:41,944 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:10:41,944 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 78 states, 50 states have (on average 1.16) internal successors, (58), 51 states have internal predecessors, (58), 20 states have call successors, (20), 6 states have call predecessors, (20), 7 states have return successors, (23), 20 states have call predecessors, (23), 20 states have call successors, (23) [2022-02-20 17:10:41,946 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 101 transitions. [2022-02-20 17:10:41,947 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 101 transitions. Word has length 36 [2022-02-20 17:10:41,947 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:10:41,947 INFO L470 AbstractCegarLoop]: Abstraction has 78 states and 101 transitions. [2022-02-20 17:10:41,947 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 17:10:41,947 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 101 transitions. [2022-02-20 17:10:41,948 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-02-20 17:10:41,948 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:10:41,948 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 17:10:41,948 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-20 17:10:41,949 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:10:41,949 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:10:41,949 INFO L85 PathProgramCache]: Analyzing trace with hash 289307572, now seen corresponding path program 1 times [2022-02-20 17:10:41,949 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:10:41,949 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1973187902] [2022-02-20 17:10:41,950 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:10:41,950 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:10:41,966 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:42,003 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 17:10:42,007 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:42,034 INFO L290 TraceCheckUtils]: 0: Hoare triple {1089#(and (= |old(#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; {1090#(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 17:10:42,035 INFO L290 TraceCheckUtils]: 1: Hoare triple {1090#(and (<= |nondet_tree_#res.offset| 0) (<= 0 |nondet_tree_#res.offset|) (<= |nondet_tree_#res.base| 0) (<= 0 |nondet_tree_#res.base|))} assume true; {1090#(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 17:10:42,036 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1090#(and (<= |nondet_tree_#res.offset| 0) (<= 0 |nondet_tree_#res.offset|) (<= |nondet_tree_#res.base| 0) (<= 0 |nondet_tree_#res.base|))} {1055#true} #143#return; {1060#(and (= |ULTIMATE.start_main_#t~ret44#1.offset| 0) (= |ULTIMATE.start_main_#t~ret44#1.base| 0))} is VALID [2022-02-20 17:10:42,036 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-02-20 17:10:42,038 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:42,042 INFO L290 TraceCheckUtils]: 0: Hoare triple {1055#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {1055#true} is VALID [2022-02-20 17:10:42,042 INFO L290 TraceCheckUtils]: 1: Hoare triple {1055#true} assume ~n.base == 0 && ~n.offset == 0;#res := 2147483647; {1055#true} is VALID [2022-02-20 17:10:42,042 INFO L290 TraceCheckUtils]: 2: Hoare triple {1055#true} assume true; {1055#true} is VALID [2022-02-20 17:10:42,043 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1055#true} {1061#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} #145#return; {1061#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 17:10:42,043 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-02-20 17:10:42,050 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:42,097 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 17:10:42,100 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:42,104 INFO L290 TraceCheckUtils]: 0: Hoare triple {1055#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {1055#true} is VALID [2022-02-20 17:10:42,104 INFO L290 TraceCheckUtils]: 1: Hoare triple {1055#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {1055#true} is VALID [2022-02-20 17:10:42,104 INFO L290 TraceCheckUtils]: 2: Hoare triple {1055#true} assume true; {1055#true} is VALID [2022-02-20 17:10:42,105 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1055#true} {1092#(or (not (= |size_#in~t.base| 0)) (and (not (= size_~t.offset 0)) (= |size_#in~t.offset| size_~t.offset)))} #139#return; {1092#(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 17:10:42,105 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2022-02-20 17:10:42,107 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:42,132 INFO L290 TraceCheckUtils]: 0: Hoare triple {1055#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {1055#true} is VALID [2022-02-20 17:10:42,133 INFO L290 TraceCheckUtils]: 1: Hoare triple {1055#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {1055#true} is VALID [2022-02-20 17:10:42,134 INFO L290 TraceCheckUtils]: 2: Hoare triple {1055#true} assume true; {1055#true} is VALID [2022-02-20 17:10:42,135 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1055#true} {1097#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} #141#return; {1097#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-02-20 17:10:42,139 INFO L290 TraceCheckUtils]: 0: Hoare triple {1055#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {1091#(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 17:10:42,140 INFO L290 TraceCheckUtils]: 1: Hoare triple {1091#(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~mem27.base, #t~mem27.offset := read~$Pointer$(~t.base, 4 + ~t.offset, 4); {1092#(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 17:10:42,140 INFO L272 TraceCheckUtils]: 2: Hoare triple {1092#(or (not (= |size_#in~t.base| 0)) (and (not (= size_~t.offset 0)) (= |size_#in~t.offset| size_~t.offset)))} call #t~ret28 := size(#t~mem27.base, #t~mem27.offset); {1055#true} is VALID [2022-02-20 17:10:42,140 INFO L290 TraceCheckUtils]: 3: Hoare triple {1055#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {1055#true} is VALID [2022-02-20 17:10:42,140 INFO L290 TraceCheckUtils]: 4: Hoare triple {1055#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {1055#true} is VALID [2022-02-20 17:10:42,140 INFO L290 TraceCheckUtils]: 5: Hoare triple {1055#true} assume true; {1055#true} is VALID [2022-02-20 17:10:42,141 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1055#true} {1092#(or (not (= |size_#in~t.base| 0)) (and (not (= size_~t.offset 0)) (= |size_#in~t.offset| size_~t.offset)))} #139#return; {1092#(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 17:10:42,141 INFO L290 TraceCheckUtils]: 7: Hoare triple {1092#(or (not (= |size_#in~t.base| 0)) (and (not (= size_~t.offset 0)) (= |size_#in~t.offset| size_~t.offset)))} assume -2147483648 <= #t~ret28 && #t~ret28 <= 2147483647;call #t~mem29.base, #t~mem29.offset := read~$Pointer$(~t.base, 8 + ~t.offset, 4); {1097#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-02-20 17:10:42,142 INFO L272 TraceCheckUtils]: 8: Hoare triple {1097#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} call #t~ret30 := size(#t~mem29.base, #t~mem29.offset); {1055#true} is VALID [2022-02-20 17:10:42,142 INFO L290 TraceCheckUtils]: 9: Hoare triple {1055#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {1055#true} is VALID [2022-02-20 17:10:42,142 INFO L290 TraceCheckUtils]: 10: Hoare triple {1055#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {1055#true} is VALID [2022-02-20 17:10:42,142 INFO L290 TraceCheckUtils]: 11: Hoare triple {1055#true} assume true; {1055#true} is VALID [2022-02-20 17:10:42,143 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1055#true} {1097#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} #141#return; {1097#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-02-20 17:10:42,143 INFO L290 TraceCheckUtils]: 13: Hoare triple {1097#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} assume -2147483648 <= #t~ret30 && #t~ret30 <= 2147483647;#res := 1 + (#t~ret28 + #t~ret30);havoc #t~mem27.base, #t~mem27.offset;havoc #t~ret28;havoc #t~mem29.base, #t~mem29.offset;havoc #t~ret30; {1097#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-02-20 17:10:42,143 INFO L290 TraceCheckUtils]: 14: Hoare triple {1097#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} assume true; {1097#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-02-20 17:10:42,144 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1097#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} {1061#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} #147#return; {1056#false} is VALID [2022-02-20 17:10:42,149 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 33 [2022-02-20 17:10:42,151 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:42,167 INFO L290 TraceCheckUtils]: 0: Hoare triple {1102#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {1055#true} is VALID [2022-02-20 17:10:42,167 INFO L290 TraceCheckUtils]: 1: Hoare triple {1055#true} assume true; {1055#true} is VALID [2022-02-20 17:10:42,167 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1055#true} {1056#false} #149#return; {1056#false} is VALID [2022-02-20 17:10:42,176 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-02-20 17:10:42,177 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:42,180 INFO L290 TraceCheckUtils]: 0: Hoare triple {1103#(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; {1055#true} is VALID [2022-02-20 17:10:42,180 INFO L290 TraceCheckUtils]: 1: Hoare triple {1055#true} assume ~t.base == 0 && ~t.offset == 0;#res := ~i; {1055#true} is VALID [2022-02-20 17:10:42,180 INFO L290 TraceCheckUtils]: 2: Hoare triple {1055#true} assume true; {1055#true} is VALID [2022-02-20 17:10:42,180 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1055#true} {1056#false} #151#return; {1056#false} is VALID [2022-02-20 17:10:42,180 INFO L290 TraceCheckUtils]: 0: Hoare triple {1055#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(26, 2);call #Ultimate.allocInit(12, 3); {1055#true} is VALID [2022-02-20 17:10:42,180 INFO L290 TraceCheckUtils]: 1: Hoare triple {1055#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret44#1.base, main_#t~ret44#1.offset; {1055#true} is VALID [2022-02-20 17:10:42,181 INFO L272 TraceCheckUtils]: 2: Hoare triple {1055#true} call main_#t~ret44#1.base, main_#t~ret44#1.offset := nondet_tree(); {1089#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 17:10:42,181 INFO L290 TraceCheckUtils]: 3: Hoare triple {1089#(and (= |old(#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; {1090#(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 17:10:42,182 INFO L290 TraceCheckUtils]: 4: Hoare triple {1090#(and (<= |nondet_tree_#res.offset| 0) (<= 0 |nondet_tree_#res.offset|) (<= |nondet_tree_#res.base| 0) (<= 0 |nondet_tree_#res.base|))} assume true; {1090#(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 17:10:42,185 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {1090#(and (<= |nondet_tree_#res.offset| 0) (<= 0 |nondet_tree_#res.offset|) (<= |nondet_tree_#res.base| 0) (<= 0 |nondet_tree_#res.base|))} {1055#true} #143#return; {1060#(and (= |ULTIMATE.start_main_#t~ret44#1.offset| 0) (= |ULTIMATE.start_main_#t~ret44#1.base| 0))} is VALID [2022-02-20 17:10:42,187 INFO L290 TraceCheckUtils]: 6: Hoare triple {1060#(and (= |ULTIMATE.start_main_#t~ret44#1.offset| 0) (= |ULTIMATE.start_main_#t~ret44#1.base| 0))} assume { :begin_inline_task } true;task_#in~t#1.base, task_#in~t#1.offset := main_#t~ret44#1.base, main_#t~ret44#1.offset;havoc task_#t~ret31#1, task_#t~ret32#1, task_#t~malloc33#1.base, task_#t~malloc33#1.offset, task_#t~ret34#1, task_#t~mem35#1, task_#t~ret36#1.base, task_#t~ret36#1.offset, task_#t~mem37#1, task_#t~ret38#1, task_#t~malloc39#1.base, task_#t~malloc39#1.offset, task_#t~ret40#1, task_#t~mem42#1, task_#t~mem43#1, task_#t~post41#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~0#1.base, task_~r~0#1.offset, task_~m~1#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; {1061#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 17:10:42,187 INFO L272 TraceCheckUtils]: 7: Hoare triple {1061#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} call task_#t~ret31#1 := min(task_~t#1.base, task_~t#1.offset); {1055#true} is VALID [2022-02-20 17:10:42,187 INFO L290 TraceCheckUtils]: 8: Hoare triple {1055#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {1055#true} is VALID [2022-02-20 17:10:42,188 INFO L290 TraceCheckUtils]: 9: Hoare triple {1055#true} assume ~n.base == 0 && ~n.offset == 0;#res := 2147483647; {1055#true} is VALID [2022-02-20 17:10:42,188 INFO L290 TraceCheckUtils]: 10: Hoare triple {1055#true} assume true; {1055#true} is VALID [2022-02-20 17:10:42,188 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {1055#true} {1061#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} #145#return; {1061#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 17:10:42,189 INFO L290 TraceCheckUtils]: 12: Hoare triple {1061#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} assume -2147483648 <= task_#t~ret31#1 && task_#t~ret31#1 <= 2147483647;task_~a~1#1 := task_#t~ret31#1;havoc task_#t~ret31#1;call task_~#b~1#1.base, task_~#b~1#1.offset := #Ultimate.allocOnStack(4); {1061#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 17:10:42,189 INFO L272 TraceCheckUtils]: 13: Hoare triple {1061#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} call task_#t~ret32#1 := size(task_~t#1.base, task_~t#1.offset); {1055#true} is VALID [2022-02-20 17:10:42,189 INFO L290 TraceCheckUtils]: 14: Hoare triple {1055#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {1091#(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 17:10:42,190 INFO L290 TraceCheckUtils]: 15: Hoare triple {1091#(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~mem27.base, #t~mem27.offset := read~$Pointer$(~t.base, 4 + ~t.offset, 4); {1092#(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 17:10:42,190 INFO L272 TraceCheckUtils]: 16: Hoare triple {1092#(or (not (= |size_#in~t.base| 0)) (and (not (= size_~t.offset 0)) (= |size_#in~t.offset| size_~t.offset)))} call #t~ret28 := size(#t~mem27.base, #t~mem27.offset); {1055#true} is VALID [2022-02-20 17:10:42,190 INFO L290 TraceCheckUtils]: 17: Hoare triple {1055#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {1055#true} is VALID [2022-02-20 17:10:42,190 INFO L290 TraceCheckUtils]: 18: Hoare triple {1055#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {1055#true} is VALID [2022-02-20 17:10:42,190 INFO L290 TraceCheckUtils]: 19: Hoare triple {1055#true} assume true; {1055#true} is VALID [2022-02-20 17:10:42,190 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {1055#true} {1092#(or (not (= |size_#in~t.base| 0)) (and (not (= size_~t.offset 0)) (= |size_#in~t.offset| size_~t.offset)))} #139#return; {1092#(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 17:10:42,191 INFO L290 TraceCheckUtils]: 21: Hoare triple {1092#(or (not (= |size_#in~t.base| 0)) (and (not (= size_~t.offset 0)) (= |size_#in~t.offset| size_~t.offset)))} assume -2147483648 <= #t~ret28 && #t~ret28 <= 2147483647;call #t~mem29.base, #t~mem29.offset := read~$Pointer$(~t.base, 8 + ~t.offset, 4); {1097#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-02-20 17:10:42,191 INFO L272 TraceCheckUtils]: 22: Hoare triple {1097#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} call #t~ret30 := size(#t~mem29.base, #t~mem29.offset); {1055#true} is VALID [2022-02-20 17:10:42,191 INFO L290 TraceCheckUtils]: 23: Hoare triple {1055#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {1055#true} is VALID [2022-02-20 17:10:42,191 INFO L290 TraceCheckUtils]: 24: Hoare triple {1055#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {1055#true} is VALID [2022-02-20 17:10:42,191 INFO L290 TraceCheckUtils]: 25: Hoare triple {1055#true} assume true; {1055#true} is VALID [2022-02-20 17:10:42,192 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1055#true} {1097#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} #141#return; {1097#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-02-20 17:10:42,192 INFO L290 TraceCheckUtils]: 27: Hoare triple {1097#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} assume -2147483648 <= #t~ret30 && #t~ret30 <= 2147483647;#res := 1 + (#t~ret28 + #t~ret30);havoc #t~mem27.base, #t~mem27.offset;havoc #t~ret28;havoc #t~mem29.base, #t~mem29.offset;havoc #t~ret30; {1097#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-02-20 17:10:42,192 INFO L290 TraceCheckUtils]: 28: Hoare triple {1097#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} assume true; {1097#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-02-20 17:10:42,193 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {1097#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} {1061#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} #147#return; {1056#false} is VALID [2022-02-20 17:10:42,193 INFO L290 TraceCheckUtils]: 30: Hoare triple {1056#false} assume -2147483648 <= task_#t~ret32#1 && task_#t~ret32#1 <= 2147483647;task_~n~1#1 := task_#t~ret32#1;havoc task_#t~ret32#1;assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if 0 != task_~n~1#1 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {1056#false} is VALID [2022-02-20 17:10:42,193 INFO L290 TraceCheckUtils]: 31: Hoare triple {1056#false} assume !(0 == assume_abort_if_not_~cond#1); {1056#false} is VALID [2022-02-20 17:10:42,193 INFO L290 TraceCheckUtils]: 32: Hoare triple {1056#false} assume { :end_inline_assume_abort_if_not } true;call task_#t~malloc33#1.base, task_#t~malloc33#1.offset := #Ultimate.allocOnHeap(4 * task_~n~1#1); {1056#false} is VALID [2022-02-20 17:10:42,193 INFO L272 TraceCheckUtils]: 33: Hoare triple {1056#false} call #Ultimate.meminit(task_#t~malloc33#1.base, task_#t~malloc33#1.offset, task_~n~1#1, 4, 4 * task_~n~1#1); {1102#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-02-20 17:10:42,193 INFO L290 TraceCheckUtils]: 34: Hoare triple {1102#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {1055#true} is VALID [2022-02-20 17:10:42,194 INFO L290 TraceCheckUtils]: 35: Hoare triple {1055#true} assume true; {1055#true} is VALID [2022-02-20 17:10:42,194 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {1055#true} {1056#false} #149#return; {1056#false} is VALID [2022-02-20 17:10:42,194 INFO L290 TraceCheckUtils]: 37: Hoare triple {1056#false} task_~x~0#1.base, task_~x~0#1.offset := task_#t~malloc33#1.base, task_#t~malloc33#1.offset; {1056#false} is VALID [2022-02-20 17:10:42,194 INFO L272 TraceCheckUtils]: 38: Hoare triple {1056#false} call task_#t~ret34#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); {1103#(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 17:10:42,194 INFO L290 TraceCheckUtils]: 39: Hoare triple {1103#(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; {1055#true} is VALID [2022-02-20 17:10:42,194 INFO L290 TraceCheckUtils]: 40: Hoare triple {1055#true} assume ~t.base == 0 && ~t.offset == 0;#res := ~i; {1055#true} is VALID [2022-02-20 17:10:42,194 INFO L290 TraceCheckUtils]: 41: Hoare triple {1055#true} assume true; {1055#true} is VALID [2022-02-20 17:10:42,194 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {1055#true} {1056#false} #151#return; {1056#false} is VALID [2022-02-20 17:10:42,194 INFO L290 TraceCheckUtils]: 43: Hoare triple {1056#false} assume -2147483648 <= task_#t~ret34#1 && task_#t~ret34#1 <= 2147483647;havoc task_#t~ret34#1;call task_#t~mem35#1 := read~int(task_~x~0#1.base, task_~x~0#1.offset, 4); {1056#false} is VALID [2022-02-20 17:10:42,194 INFO L272 TraceCheckUtils]: 44: Hoare triple {1056#false} call __VERIFIER_assert((if task_~a~1#1 == task_#t~mem35#1 then 1 else 0)); {1056#false} is VALID [2022-02-20 17:10:42,194 INFO L290 TraceCheckUtils]: 45: Hoare triple {1056#false} ~cond := #in~cond; {1056#false} is VALID [2022-02-20 17:10:42,194 INFO L290 TraceCheckUtils]: 46: Hoare triple {1056#false} assume 0 == ~cond; {1056#false} is VALID [2022-02-20 17:10:42,194 INFO L290 TraceCheckUtils]: 47: Hoare triple {1056#false} assume !false; {1056#false} is VALID [2022-02-20 17:10:42,195 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 17:10:42,195 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:10:42,195 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1973187902] [2022-02-20 17:10:42,195 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1973187902] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 17:10:42,195 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1914241517] [2022-02-20 17:10:42,195 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:10:42,195 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:10:42,195 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:10:42,197 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 17:10:42,200 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 17:10:42,280 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:42,283 INFO L263 TraceCheckSpWp]: Trace formula consists of 245 conjuncts, 25 conjunts are in the unsatisfiable core [2022-02-20 17:10:42,294 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:42,301 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:10:42,637 INFO L290 TraceCheckUtils]: 0: Hoare triple {1055#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(26, 2);call #Ultimate.allocInit(12, 3); {1055#true} is VALID [2022-02-20 17:10:42,637 INFO L290 TraceCheckUtils]: 1: Hoare triple {1055#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret44#1.base, main_#t~ret44#1.offset; {1055#true} is VALID [2022-02-20 17:10:42,638 INFO L272 TraceCheckUtils]: 2: Hoare triple {1055#true} call main_#t~ret44#1.base, main_#t~ret44#1.offset := nondet_tree(); {1055#true} is VALID [2022-02-20 17:10:42,638 INFO L290 TraceCheckUtils]: 3: Hoare triple {1055#true} assume 0 != #t~nondet5 % 256;havoc #t~nondet5;#res.base, #res.offset := 0, 0; {1090#(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 17:10:42,638 INFO L290 TraceCheckUtils]: 4: Hoare triple {1090#(and (<= |nondet_tree_#res.offset| 0) (<= 0 |nondet_tree_#res.offset|) (<= |nondet_tree_#res.base| 0) (<= 0 |nondet_tree_#res.base|))} assume true; {1090#(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 17:10:42,639 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {1090#(and (<= |nondet_tree_#res.offset| 0) (<= 0 |nondet_tree_#res.offset|) (<= |nondet_tree_#res.base| 0) (<= 0 |nondet_tree_#res.base|))} {1055#true} #143#return; {1060#(and (= |ULTIMATE.start_main_#t~ret44#1.offset| 0) (= |ULTIMATE.start_main_#t~ret44#1.base| 0))} is VALID [2022-02-20 17:10:42,640 INFO L290 TraceCheckUtils]: 6: Hoare triple {1060#(and (= |ULTIMATE.start_main_#t~ret44#1.offset| 0) (= |ULTIMATE.start_main_#t~ret44#1.base| 0))} assume { :begin_inline_task } true;task_#in~t#1.base, task_#in~t#1.offset := main_#t~ret44#1.base, main_#t~ret44#1.offset;havoc task_#t~ret31#1, task_#t~ret32#1, task_#t~malloc33#1.base, task_#t~malloc33#1.offset, task_#t~ret34#1, task_#t~mem35#1, task_#t~ret36#1.base, task_#t~ret36#1.offset, task_#t~mem37#1, task_#t~ret38#1, task_#t~malloc39#1.base, task_#t~malloc39#1.offset, task_#t~ret40#1, task_#t~mem42#1, task_#t~mem43#1, task_#t~post41#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~0#1.base, task_~r~0#1.offset, task_~m~1#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; {1061#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 17:10:42,640 INFO L272 TraceCheckUtils]: 7: Hoare triple {1061#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} call task_#t~ret31#1 := min(task_~t#1.base, task_~t#1.offset); {1055#true} is VALID [2022-02-20 17:10:42,640 INFO L290 TraceCheckUtils]: 8: Hoare triple {1055#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {1055#true} is VALID [2022-02-20 17:10:42,640 INFO L290 TraceCheckUtils]: 9: Hoare triple {1055#true} assume ~n.base == 0 && ~n.offset == 0;#res := 2147483647; {1055#true} is VALID [2022-02-20 17:10:42,640 INFO L290 TraceCheckUtils]: 10: Hoare triple {1055#true} assume true; {1055#true} is VALID [2022-02-20 17:10:42,641 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {1055#true} {1061#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} #145#return; {1061#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 17:10:42,641 INFO L290 TraceCheckUtils]: 12: Hoare triple {1061#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} assume -2147483648 <= task_#t~ret31#1 && task_#t~ret31#1 <= 2147483647;task_~a~1#1 := task_#t~ret31#1;havoc task_#t~ret31#1;call task_~#b~1#1.base, task_~#b~1#1.offset := #Ultimate.allocOnStack(4); {1061#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 17:10:42,641 INFO L272 TraceCheckUtils]: 13: Hoare triple {1061#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} call task_#t~ret32#1 := size(task_~t#1.base, task_~t#1.offset); {1055#true} is VALID [2022-02-20 17:10:42,642 INFO L290 TraceCheckUtils]: 14: Hoare triple {1055#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {1149#(and (= |size_#in~t.offset| size_~t.offset) (= |size_#in~t.base| size_~t.base))} is VALID [2022-02-20 17:10:42,642 INFO L290 TraceCheckUtils]: 15: Hoare triple {1149#(and (= |size_#in~t.offset| size_~t.offset) (= |size_#in~t.base| size_~t.base))} assume !(~t.base == 0 && ~t.offset == 0);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(~t.base, 4 + ~t.offset, 4); {1097#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-02-20 17:10:42,642 INFO L272 TraceCheckUtils]: 16: Hoare triple {1097#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} call #t~ret28 := size(#t~mem27.base, #t~mem27.offset); {1055#true} is VALID [2022-02-20 17:10:42,643 INFO L290 TraceCheckUtils]: 17: Hoare triple {1055#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {1055#true} is VALID [2022-02-20 17:10:42,643 INFO L290 TraceCheckUtils]: 18: Hoare triple {1055#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {1055#true} is VALID [2022-02-20 17:10:42,643 INFO L290 TraceCheckUtils]: 19: Hoare triple {1055#true} assume true; {1055#true} is VALID [2022-02-20 17:10:42,643 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {1055#true} {1097#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} #139#return; {1097#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-02-20 17:10:42,644 INFO L290 TraceCheckUtils]: 21: Hoare triple {1097#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} assume -2147483648 <= #t~ret28 && #t~ret28 <= 2147483647;call #t~mem29.base, #t~mem29.offset := read~$Pointer$(~t.base, 8 + ~t.offset, 4); {1097#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-02-20 17:10:42,644 INFO L272 TraceCheckUtils]: 22: Hoare triple {1097#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} call #t~ret30 := size(#t~mem29.base, #t~mem29.offset); {1055#true} is VALID [2022-02-20 17:10:42,644 INFO L290 TraceCheckUtils]: 23: Hoare triple {1055#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {1055#true} is VALID [2022-02-20 17:10:42,644 INFO L290 TraceCheckUtils]: 24: Hoare triple {1055#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {1055#true} is VALID [2022-02-20 17:10:42,644 INFO L290 TraceCheckUtils]: 25: Hoare triple {1055#true} assume true; {1055#true} is VALID [2022-02-20 17:10:42,645 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1055#true} {1097#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} #141#return; {1097#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-02-20 17:10:42,645 INFO L290 TraceCheckUtils]: 27: Hoare triple {1097#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} assume -2147483648 <= #t~ret30 && #t~ret30 <= 2147483647;#res := 1 + (#t~ret28 + #t~ret30);havoc #t~mem27.base, #t~mem27.offset;havoc #t~ret28;havoc #t~mem29.base, #t~mem29.offset;havoc #t~ret30; {1097#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-02-20 17:10:42,645 INFO L290 TraceCheckUtils]: 28: Hoare triple {1097#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} assume true; {1097#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-02-20 17:10:42,646 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {1097#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} {1061#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} #147#return; {1056#false} is VALID [2022-02-20 17:10:42,646 INFO L290 TraceCheckUtils]: 30: Hoare triple {1056#false} assume -2147483648 <= task_#t~ret32#1 && task_#t~ret32#1 <= 2147483647;task_~n~1#1 := task_#t~ret32#1;havoc task_#t~ret32#1;assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if 0 != task_~n~1#1 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {1056#false} is VALID [2022-02-20 17:10:42,646 INFO L290 TraceCheckUtils]: 31: Hoare triple {1056#false} assume !(0 == assume_abort_if_not_~cond#1); {1056#false} is VALID [2022-02-20 17:10:42,646 INFO L290 TraceCheckUtils]: 32: Hoare triple {1056#false} assume { :end_inline_assume_abort_if_not } true;call task_#t~malloc33#1.base, task_#t~malloc33#1.offset := #Ultimate.allocOnHeap(4 * task_~n~1#1); {1056#false} is VALID [2022-02-20 17:10:42,647 INFO L272 TraceCheckUtils]: 33: Hoare triple {1056#false} call #Ultimate.meminit(task_#t~malloc33#1.base, task_#t~malloc33#1.offset, task_~n~1#1, 4, 4 * task_~n~1#1); {1056#false} is VALID [2022-02-20 17:10:42,647 INFO L290 TraceCheckUtils]: 34: Hoare triple {1056#false} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {1056#false} is VALID [2022-02-20 17:10:42,647 INFO L290 TraceCheckUtils]: 35: Hoare triple {1056#false} assume true; {1056#false} is VALID [2022-02-20 17:10:42,647 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {1056#false} {1056#false} #149#return; {1056#false} is VALID [2022-02-20 17:10:42,647 INFO L290 TraceCheckUtils]: 37: Hoare triple {1056#false} task_~x~0#1.base, task_~x~0#1.offset := task_#t~malloc33#1.base, task_#t~malloc33#1.offset; {1056#false} is VALID [2022-02-20 17:10:42,647 INFO L272 TraceCheckUtils]: 38: Hoare triple {1056#false} call task_#t~ret34#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); {1056#false} is VALID [2022-02-20 17:10:42,648 INFO L290 TraceCheckUtils]: 39: Hoare triple {1056#false} ~t.base, ~t.offset := #in~t.base, #in~t.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~i := #in~i; {1056#false} is VALID [2022-02-20 17:10:42,648 INFO L290 TraceCheckUtils]: 40: Hoare triple {1056#false} assume ~t.base == 0 && ~t.offset == 0;#res := ~i; {1056#false} is VALID [2022-02-20 17:10:42,648 INFO L290 TraceCheckUtils]: 41: Hoare triple {1056#false} assume true; {1056#false} is VALID [2022-02-20 17:10:42,648 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {1056#false} {1056#false} #151#return; {1056#false} is VALID [2022-02-20 17:10:42,648 INFO L290 TraceCheckUtils]: 43: Hoare triple {1056#false} assume -2147483648 <= task_#t~ret34#1 && task_#t~ret34#1 <= 2147483647;havoc task_#t~ret34#1;call task_#t~mem35#1 := read~int(task_~x~0#1.base, task_~x~0#1.offset, 4); {1056#false} is VALID [2022-02-20 17:10:42,648 INFO L272 TraceCheckUtils]: 44: Hoare triple {1056#false} call __VERIFIER_assert((if task_~a~1#1 == task_#t~mem35#1 then 1 else 0)); {1056#false} is VALID [2022-02-20 17:10:42,649 INFO L290 TraceCheckUtils]: 45: Hoare triple {1056#false} ~cond := #in~cond; {1056#false} is VALID [2022-02-20 17:10:42,649 INFO L290 TraceCheckUtils]: 46: Hoare triple {1056#false} assume 0 == ~cond; {1056#false} is VALID [2022-02-20 17:10:42,649 INFO L290 TraceCheckUtils]: 47: Hoare triple {1056#false} assume !false; {1056#false} is VALID [2022-02-20 17:10:42,649 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 17:10:42,649 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:10:42,923 INFO L290 TraceCheckUtils]: 47: Hoare triple {1056#false} assume !false; {1056#false} is VALID [2022-02-20 17:10:42,924 INFO L290 TraceCheckUtils]: 46: Hoare triple {1056#false} assume 0 == ~cond; {1056#false} is VALID [2022-02-20 17:10:42,924 INFO L290 TraceCheckUtils]: 45: Hoare triple {1056#false} ~cond := #in~cond; {1056#false} is VALID [2022-02-20 17:10:42,924 INFO L272 TraceCheckUtils]: 44: Hoare triple {1056#false} call __VERIFIER_assert((if task_~a~1#1 == task_#t~mem35#1 then 1 else 0)); {1056#false} is VALID [2022-02-20 17:10:42,924 INFO L290 TraceCheckUtils]: 43: Hoare triple {1056#false} assume -2147483648 <= task_#t~ret34#1 && task_#t~ret34#1 <= 2147483647;havoc task_#t~ret34#1;call task_#t~mem35#1 := read~int(task_~x~0#1.base, task_~x~0#1.offset, 4); {1056#false} is VALID [2022-02-20 17:10:42,924 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {1055#true} {1056#false} #151#return; {1056#false} is VALID [2022-02-20 17:10:42,925 INFO L290 TraceCheckUtils]: 41: Hoare triple {1055#true} assume true; {1055#true} is VALID [2022-02-20 17:10:42,927 INFO L290 TraceCheckUtils]: 40: Hoare triple {1055#true} assume ~t.base == 0 && ~t.offset == 0;#res := ~i; {1055#true} is VALID [2022-02-20 17:10:42,929 INFO L290 TraceCheckUtils]: 39: Hoare triple {1055#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~i := #in~i; {1055#true} is VALID [2022-02-20 17:10:42,934 INFO L272 TraceCheckUtils]: 38: Hoare triple {1056#false} call task_#t~ret34#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); {1055#true} is VALID [2022-02-20 17:10:42,935 INFO L290 TraceCheckUtils]: 37: Hoare triple {1056#false} task_~x~0#1.base, task_~x~0#1.offset := task_#t~malloc33#1.base, task_#t~malloc33#1.offset; {1056#false} is VALID [2022-02-20 17:10:42,935 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {1055#true} {1056#false} #149#return; {1056#false} is VALID [2022-02-20 17:10:42,935 INFO L290 TraceCheckUtils]: 35: Hoare triple {1055#true} assume true; {1055#true} is VALID [2022-02-20 17:10:42,938 INFO L290 TraceCheckUtils]: 34: Hoare triple {1055#true} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {1055#true} is VALID [2022-02-20 17:10:42,940 INFO L272 TraceCheckUtils]: 33: Hoare triple {1056#false} call #Ultimate.meminit(task_#t~malloc33#1.base, task_#t~malloc33#1.offset, task_~n~1#1, 4, 4 * task_~n~1#1); {1055#true} is VALID [2022-02-20 17:10:42,940 INFO L290 TraceCheckUtils]: 32: Hoare triple {1056#false} assume { :end_inline_assume_abort_if_not } true;call task_#t~malloc33#1.base, task_#t~malloc33#1.offset := #Ultimate.allocOnHeap(4 * task_~n~1#1); {1056#false} is VALID [2022-02-20 17:10:42,941 INFO L290 TraceCheckUtils]: 31: Hoare triple {1056#false} assume !(0 == assume_abort_if_not_~cond#1); {1056#false} is VALID [2022-02-20 17:10:42,942 INFO L290 TraceCheckUtils]: 30: Hoare triple {1056#false} assume -2147483648 <= task_#t~ret32#1 && task_#t~ret32#1 <= 2147483647;task_~n~1#1 := task_#t~ret32#1;havoc task_#t~ret32#1;assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if 0 != task_~n~1#1 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {1056#false} is VALID [2022-02-20 17:10:42,942 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {1097#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} {1061#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} #147#return; {1056#false} is VALID [2022-02-20 17:10:42,943 INFO L290 TraceCheckUtils]: 28: Hoare triple {1097#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} assume true; {1097#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-02-20 17:10:42,943 INFO L290 TraceCheckUtils]: 27: Hoare triple {1097#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} assume -2147483648 <= #t~ret30 && #t~ret30 <= 2147483647;#res := 1 + (#t~ret28 + #t~ret30);havoc #t~mem27.base, #t~mem27.offset;havoc #t~ret28;havoc #t~mem29.base, #t~mem29.offset;havoc #t~ret30; {1097#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-02-20 17:10:42,944 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1055#true} {1097#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} #141#return; {1097#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-02-20 17:10:42,944 INFO L290 TraceCheckUtils]: 25: Hoare triple {1055#true} assume true; {1055#true} is VALID [2022-02-20 17:10:42,944 INFO L290 TraceCheckUtils]: 24: Hoare triple {1055#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {1055#true} is VALID [2022-02-20 17:10:42,944 INFO L290 TraceCheckUtils]: 23: Hoare triple {1055#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {1055#true} is VALID [2022-02-20 17:10:42,944 INFO L272 TraceCheckUtils]: 22: Hoare triple {1097#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} call #t~ret30 := size(#t~mem29.base, #t~mem29.offset); {1055#true} is VALID [2022-02-20 17:10:42,945 INFO L290 TraceCheckUtils]: 21: Hoare triple {1097#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} assume -2147483648 <= #t~ret28 && #t~ret28 <= 2147483647;call #t~mem29.base, #t~mem29.offset := read~$Pointer$(~t.base, 8 + ~t.offset, 4); {1097#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-02-20 17:10:42,945 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {1055#true} {1097#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} #139#return; {1097#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-02-20 17:10:42,945 INFO L290 TraceCheckUtils]: 19: Hoare triple {1055#true} assume true; {1055#true} is VALID [2022-02-20 17:10:42,945 INFO L290 TraceCheckUtils]: 18: Hoare triple {1055#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {1055#true} is VALID [2022-02-20 17:10:42,945 INFO L290 TraceCheckUtils]: 17: Hoare triple {1055#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {1055#true} is VALID [2022-02-20 17:10:42,946 INFO L272 TraceCheckUtils]: 16: Hoare triple {1097#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} call #t~ret28 := size(#t~mem27.base, #t~mem27.offset); {1055#true} is VALID [2022-02-20 17:10:42,946 INFO L290 TraceCheckUtils]: 15: Hoare triple {1348#(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~mem27.base, #t~mem27.offset := read~$Pointer$(~t.base, 4 + ~t.offset, 4); {1097#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-02-20 17:10:42,947 INFO L290 TraceCheckUtils]: 14: Hoare triple {1055#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {1348#(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 17:10:42,947 INFO L272 TraceCheckUtils]: 13: Hoare triple {1061#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} call task_#t~ret32#1 := size(task_~t#1.base, task_~t#1.offset); {1055#true} is VALID [2022-02-20 17:10:42,947 INFO L290 TraceCheckUtils]: 12: Hoare triple {1061#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} assume -2147483648 <= task_#t~ret31#1 && task_#t~ret31#1 <= 2147483647;task_~a~1#1 := task_#t~ret31#1;havoc task_#t~ret31#1;call task_~#b~1#1.base, task_~#b~1#1.offset := #Ultimate.allocOnStack(4); {1061#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 17:10:42,948 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {1055#true} {1061#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} #145#return; {1061#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 17:10:42,948 INFO L290 TraceCheckUtils]: 10: Hoare triple {1055#true} assume true; {1055#true} is VALID [2022-02-20 17:10:42,948 INFO L290 TraceCheckUtils]: 9: Hoare triple {1055#true} assume ~n.base == 0 && ~n.offset == 0;#res := 2147483647; {1055#true} is VALID [2022-02-20 17:10:42,948 INFO L290 TraceCheckUtils]: 8: Hoare triple {1055#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {1055#true} is VALID [2022-02-20 17:10:42,948 INFO L272 TraceCheckUtils]: 7: Hoare triple {1061#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} call task_#t~ret31#1 := min(task_~t#1.base, task_~t#1.offset); {1055#true} is VALID [2022-02-20 17:10:42,949 INFO L290 TraceCheckUtils]: 6: Hoare triple {1060#(and (= |ULTIMATE.start_main_#t~ret44#1.offset| 0) (= |ULTIMATE.start_main_#t~ret44#1.base| 0))} assume { :begin_inline_task } true;task_#in~t#1.base, task_#in~t#1.offset := main_#t~ret44#1.base, main_#t~ret44#1.offset;havoc task_#t~ret31#1, task_#t~ret32#1, task_#t~malloc33#1.base, task_#t~malloc33#1.offset, task_#t~ret34#1, task_#t~mem35#1, task_#t~ret36#1.base, task_#t~ret36#1.offset, task_#t~mem37#1, task_#t~ret38#1, task_#t~malloc39#1.base, task_#t~malloc39#1.offset, task_#t~ret40#1, task_#t~mem42#1, task_#t~mem43#1, task_#t~post41#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~0#1.base, task_~r~0#1.offset, task_~m~1#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; {1061#(and (= |ULTIMATE.start_task_~t#1.offset| 0) (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 17:10:42,949 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {1090#(and (<= |nondet_tree_#res.offset| 0) (<= 0 |nondet_tree_#res.offset|) (<= |nondet_tree_#res.base| 0) (<= 0 |nondet_tree_#res.base|))} {1055#true} #143#return; {1060#(and (= |ULTIMATE.start_main_#t~ret44#1.offset| 0) (= |ULTIMATE.start_main_#t~ret44#1.base| 0))} is VALID [2022-02-20 17:10:42,950 INFO L290 TraceCheckUtils]: 4: Hoare triple {1090#(and (<= |nondet_tree_#res.offset| 0) (<= 0 |nondet_tree_#res.offset|) (<= |nondet_tree_#res.base| 0) (<= 0 |nondet_tree_#res.base|))} assume true; {1090#(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 17:10:42,951 INFO L290 TraceCheckUtils]: 3: Hoare triple {1055#true} assume 0 != #t~nondet5 % 256;havoc #t~nondet5;#res.base, #res.offset := 0, 0; {1090#(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 17:10:42,951 INFO L272 TraceCheckUtils]: 2: Hoare triple {1055#true} call main_#t~ret44#1.base, main_#t~ret44#1.offset := nondet_tree(); {1055#true} is VALID [2022-02-20 17:10:42,951 INFO L290 TraceCheckUtils]: 1: Hoare triple {1055#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret44#1.base, main_#t~ret44#1.offset; {1055#true} is VALID [2022-02-20 17:10:42,951 INFO L290 TraceCheckUtils]: 0: Hoare triple {1055#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(26, 2);call #Ultimate.allocInit(12, 3); {1055#true} is VALID [2022-02-20 17:10:42,952 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 17:10:42,953 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1914241517] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 17:10:42,953 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 17:10:42,953 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 7, 7] total 13 [2022-02-20 17:10:42,953 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [153909194] [2022-02-20 17:10:42,953 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 17:10:42,954 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 17:10:42,956 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:10:42,956 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 17:10:42,993 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 17:10:42,993 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-02-20 17:10:42,993 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:10:42,994 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-02-20 17:10:42,994 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=124, Unknown=0, NotChecked=0, Total=156 [2022-02-20 17:10:42,994 INFO L87 Difference]: Start difference. First operand 78 states and 101 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 17:10:44,258 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:10:44,258 INFO L93 Difference]: Finished difference Result 142 states and 187 transitions. [2022-02-20 17:10:44,258 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 17:10:44,259 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 17:10:44,259 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:10:44,259 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 17:10:44,262 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 183 transitions. [2022-02-20 17:10:44,262 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 17:10:44,264 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 183 transitions. [2022-02-20 17:10:44,264 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 183 transitions. [2022-02-20 17:10:44,415 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 183 edges. 183 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:10:44,417 INFO L225 Difference]: With dead ends: 142 [2022-02-20 17:10:44,417 INFO L226 Difference]: Without dead ends: 83 [2022-02-20 17:10:44,418 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 119 GetRequests, 101 SyntacticMatches, 3 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 23 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=61, Invalid=211, Unknown=0, NotChecked=0, Total=272 [2022-02-20 17:10:44,419 INFO L933 BasicCegarLoop]: 82 mSDtfsCounter, 40 mSDsluCounter, 346 mSDsCounter, 0 mSdLazyCounter, 412 mSolverCounterSat, 31 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 42 SdHoareTripleChecker+Valid, 428 SdHoareTripleChecker+Invalid, 443 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 31 IncrementalHoareTripleChecker+Valid, 412 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-02-20 17:10:44,422 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [42 Valid, 428 Invalid, 443 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [31 Valid, 412 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-02-20 17:10:44,423 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 83 states. [2022-02-20 17:10:44,434 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 83 to 80. [2022-02-20 17:10:44,434 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:10:44,435 INFO L82 GeneralOperation]: Start isEquivalent. First operand 83 states. Second operand has 80 states, 51 states have (on average 1.1568627450980393) internal successors, (59), 53 states have internal predecessors, (59), 20 states have call successors, (20), 6 states have call predecessors, (20), 8 states have return successors, (25), 20 states have call predecessors, (25), 20 states have call successors, (25) [2022-02-20 17:10:44,435 INFO L74 IsIncluded]: Start isIncluded. First operand 83 states. Second operand has 80 states, 51 states have (on average 1.1568627450980393) internal successors, (59), 53 states have internal predecessors, (59), 20 states have call successors, (20), 6 states have call predecessors, (20), 8 states have return successors, (25), 20 states have call predecessors, (25), 20 states have call successors, (25) [2022-02-20 17:10:44,435 INFO L87 Difference]: Start difference. First operand 83 states. Second operand has 80 states, 51 states have (on average 1.1568627450980393) internal successors, (59), 53 states have internal predecessors, (59), 20 states have call successors, (20), 6 states have call predecessors, (20), 8 states have return successors, (25), 20 states have call predecessors, (25), 20 states have call successors, (25) [2022-02-20 17:10:44,439 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:10:44,439 INFO L93 Difference]: Finished difference Result 83 states and 110 transitions. [2022-02-20 17:10:44,439 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 110 transitions. [2022-02-20 17:10:44,440 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:10:44,440 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:10:44,441 INFO L74 IsIncluded]: Start isIncluded. First operand has 80 states, 51 states have (on average 1.1568627450980393) internal successors, (59), 53 states have internal predecessors, (59), 20 states have call successors, (20), 6 states have call predecessors, (20), 8 states have return successors, (25), 20 states have call predecessors, (25), 20 states have call successors, (25) Second operand 83 states. [2022-02-20 17:10:44,441 INFO L87 Difference]: Start difference. First operand has 80 states, 51 states have (on average 1.1568627450980393) internal successors, (59), 53 states have internal predecessors, (59), 20 states have call successors, (20), 6 states have call predecessors, (20), 8 states have return successors, (25), 20 states have call predecessors, (25), 20 states have call successors, (25) Second operand 83 states. [2022-02-20 17:10:44,443 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:10:44,444 INFO L93 Difference]: Finished difference Result 83 states and 110 transitions. [2022-02-20 17:10:44,444 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 110 transitions. [2022-02-20 17:10:44,444 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:10:44,444 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:10:44,444 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:10:44,444 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:10:44,445 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 80 states, 51 states have (on average 1.1568627450980393) internal successors, (59), 53 states have internal predecessors, (59), 20 states have call successors, (20), 6 states have call predecessors, (20), 8 states have return successors, (25), 20 states have call predecessors, (25), 20 states have call successors, (25) [2022-02-20 17:10:44,447 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 80 states to 80 states and 104 transitions. [2022-02-20 17:10:44,447 INFO L78 Accepts]: Start accepts. Automaton has 80 states and 104 transitions. Word has length 48 [2022-02-20 17:10:44,448 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:10:44,448 INFO L470 AbstractCegarLoop]: Abstraction has 80 states and 104 transitions. [2022-02-20 17:10:44,448 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 17:10:44,448 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 104 transitions. [2022-02-20 17:10:44,449 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-02-20 17:10:44,449 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:10:44,449 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 17:10:44,470 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 17:10:44,670 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:10:44,670 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:10:44,670 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:10:44,670 INFO L85 PathProgramCache]: Analyzing trace with hash -1954582857, now seen corresponding path program 1 times [2022-02-20 17:10:44,671 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:10:44,671 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2028806905] [2022-02-20 17:10:44,671 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:10:44,671 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:10:44,698 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:44,729 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 17:10:44,743 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:44,799 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-02-20 17:10:44,801 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:44,804 INFO L290 TraceCheckUtils]: 0: Hoare triple {1911#(and (= |old(#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; {1867#true} is VALID [2022-02-20 17:10:44,804 INFO L290 TraceCheckUtils]: 1: Hoare triple {1867#true} assume true; {1867#true} is VALID [2022-02-20 17:10:44,806 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1867#true} {1912#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} #131#return; {1912#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} is VALID [2022-02-20 17:10:44,806 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-02-20 17:10:44,808 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:44,812 INFO L290 TraceCheckUtils]: 0: Hoare triple {1911#(and (= |old(#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; {1867#true} is VALID [2022-02-20 17:10:44,812 INFO L290 TraceCheckUtils]: 1: Hoare triple {1867#true} assume true; {1867#true} is VALID [2022-02-20 17:10:44,813 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1867#true} {1912#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} #133#return; {1912#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} is VALID [2022-02-20 17:10:44,814 INFO L290 TraceCheckUtils]: 0: Hoare triple {1911#(and (= |old(#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; {1912#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} is VALID [2022-02-20 17:10:44,815 INFO L272 TraceCheckUtils]: 1: Hoare triple {1912#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {1911#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 17:10:44,815 INFO L290 TraceCheckUtils]: 2: Hoare triple {1911#(and (= |old(#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; {1867#true} is VALID [2022-02-20 17:10:44,815 INFO L290 TraceCheckUtils]: 3: Hoare triple {1867#true} assume true; {1867#true} is VALID [2022-02-20 17:10:44,815 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {1867#true} {1912#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} #131#return; {1912#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} is VALID [2022-02-20 17:10:44,816 INFO L290 TraceCheckUtils]: 5: Hoare triple {1912#(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; {1912#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} is VALID [2022-02-20 17:10:44,816 INFO L272 TraceCheckUtils]: 6: Hoare triple {1912#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} call #t~ret9.base, #t~ret9.offset := nondet_tree(); {1911#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 17:10:44,816 INFO L290 TraceCheckUtils]: 7: Hoare triple {1911#(and (= |old(#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; {1867#true} is VALID [2022-02-20 17:10:44,816 INFO L290 TraceCheckUtils]: 8: Hoare triple {1867#true} assume true; {1867#true} is VALID [2022-02-20 17:10:44,817 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {1867#true} {1912#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} #133#return; {1912#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} is VALID [2022-02-20 17:10:44,817 INFO L290 TraceCheckUtils]: 10: Hoare triple {1912#(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; {1919#(or (<= 1 |nondet_tree_#res.base|) (<= (+ |nondet_tree_#res.base| 1) 0))} is VALID [2022-02-20 17:10:44,819 INFO L290 TraceCheckUtils]: 11: Hoare triple {1919#(or (<= 1 |nondet_tree_#res.base|) (<= (+ |nondet_tree_#res.base| 1) 0))} assume true; {1919#(or (<= 1 |nondet_tree_#res.base|) (<= (+ |nondet_tree_#res.base| 1) 0))} is VALID [2022-02-20 17:10:44,819 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1919#(or (<= 1 |nondet_tree_#res.base|) (<= (+ |nondet_tree_#res.base| 1) 0))} {1867#true} #143#return; {1882#(not (= |ULTIMATE.start_main_#t~ret44#1.base| 0))} is VALID [2022-02-20 17:10:44,819 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-02-20 17:10:44,821 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:44,838 INFO L290 TraceCheckUtils]: 0: Hoare triple {1867#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {1920#(= min_~n.base |min_#in~n.base|)} is VALID [2022-02-20 17:10:44,839 INFO L290 TraceCheckUtils]: 1: Hoare triple {1920#(= min_~n.base |min_#in~n.base|)} assume ~n.base == 0 && ~n.offset == 0;#res := 2147483647; {1921#(= |min_#in~n.base| 0)} is VALID [2022-02-20 17:10:44,839 INFO L290 TraceCheckUtils]: 2: Hoare triple {1921#(= |min_#in~n.base| 0)} assume true; {1921#(= |min_#in~n.base| 0)} is VALID [2022-02-20 17:10:44,840 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1921#(= |min_#in~n.base| 0)} {1883#(not (= |ULTIMATE.start_task_~t#1.base| 0))} #145#return; {1868#false} is VALID [2022-02-20 17:10:44,840 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-02-20 17:10:44,848 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:44,855 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 17:10:44,857 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:44,859 INFO L290 TraceCheckUtils]: 0: Hoare triple {1867#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {1867#true} is VALID [2022-02-20 17:10:44,860 INFO L290 TraceCheckUtils]: 1: Hoare triple {1867#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {1867#true} is VALID [2022-02-20 17:10:44,860 INFO L290 TraceCheckUtils]: 2: Hoare triple {1867#true} assume true; {1867#true} is VALID [2022-02-20 17:10:44,860 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1867#true} {1867#true} #139#return; {1867#true} is VALID [2022-02-20 17:10:44,860 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2022-02-20 17:10:44,861 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:44,865 INFO L290 TraceCheckUtils]: 0: Hoare triple {1867#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {1867#true} is VALID [2022-02-20 17:10:44,865 INFO L290 TraceCheckUtils]: 1: Hoare triple {1867#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {1867#true} is VALID [2022-02-20 17:10:44,865 INFO L290 TraceCheckUtils]: 2: Hoare triple {1867#true} assume true; {1867#true} is VALID [2022-02-20 17:10:44,865 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1867#true} {1867#true} #141#return; {1867#true} is VALID [2022-02-20 17:10:44,866 INFO L290 TraceCheckUtils]: 0: Hoare triple {1867#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {1867#true} is VALID [2022-02-20 17:10:44,866 INFO L290 TraceCheckUtils]: 1: Hoare triple {1867#true} assume !(~t.base == 0 && ~t.offset == 0);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(~t.base, 4 + ~t.offset, 4); {1867#true} is VALID [2022-02-20 17:10:44,866 INFO L272 TraceCheckUtils]: 2: Hoare triple {1867#true} call #t~ret28 := size(#t~mem27.base, #t~mem27.offset); {1867#true} is VALID [2022-02-20 17:10:44,866 INFO L290 TraceCheckUtils]: 3: Hoare triple {1867#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {1867#true} is VALID [2022-02-20 17:10:44,868 INFO L290 TraceCheckUtils]: 4: Hoare triple {1867#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {1867#true} is VALID [2022-02-20 17:10:44,868 INFO L290 TraceCheckUtils]: 5: Hoare triple {1867#true} assume true; {1867#true} is VALID [2022-02-20 17:10:44,868 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1867#true} {1867#true} #139#return; {1867#true} is VALID [2022-02-20 17:10:44,868 INFO L290 TraceCheckUtils]: 7: Hoare triple {1867#true} assume -2147483648 <= #t~ret28 && #t~ret28 <= 2147483647;call #t~mem29.base, #t~mem29.offset := read~$Pointer$(~t.base, 8 + ~t.offset, 4); {1867#true} is VALID [2022-02-20 17:10:44,868 INFO L272 TraceCheckUtils]: 8: Hoare triple {1867#true} call #t~ret30 := size(#t~mem29.base, #t~mem29.offset); {1867#true} is VALID [2022-02-20 17:10:44,868 INFO L290 TraceCheckUtils]: 9: Hoare triple {1867#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {1867#true} is VALID [2022-02-20 17:10:44,868 INFO L290 TraceCheckUtils]: 10: Hoare triple {1867#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {1867#true} is VALID [2022-02-20 17:10:44,868 INFO L290 TraceCheckUtils]: 11: Hoare triple {1867#true} assume true; {1867#true} is VALID [2022-02-20 17:10:44,868 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1867#true} {1867#true} #141#return; {1867#true} is VALID [2022-02-20 17:10:44,868 INFO L290 TraceCheckUtils]: 13: Hoare triple {1867#true} assume -2147483648 <= #t~ret30 && #t~ret30 <= 2147483647;#res := 1 + (#t~ret28 + #t~ret30);havoc #t~mem27.base, #t~mem27.offset;havoc #t~ret28;havoc #t~mem29.base, #t~mem29.offset;havoc #t~ret30; {1867#true} is VALID [2022-02-20 17:10:44,868 INFO L290 TraceCheckUtils]: 14: Hoare triple {1867#true} assume true; {1867#true} is VALID [2022-02-20 17:10:44,869 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1867#true} {1868#false} #147#return; {1868#false} is VALID [2022-02-20 17:10:44,880 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 43 [2022-02-20 17:10:44,881 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:44,886 INFO L290 TraceCheckUtils]: 0: Hoare triple {1930#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {1867#true} is VALID [2022-02-20 17:10:44,886 INFO L290 TraceCheckUtils]: 1: Hoare triple {1867#true} assume true; {1867#true} is VALID [2022-02-20 17:10:44,886 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1867#true} {1868#false} #149#return; {1868#false} is VALID [2022-02-20 17:10:44,895 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 48 [2022-02-20 17:10:44,899 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:44,902 INFO L290 TraceCheckUtils]: 0: Hoare triple {1931#(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; {1867#true} is VALID [2022-02-20 17:10:44,902 INFO L290 TraceCheckUtils]: 1: Hoare triple {1867#true} assume ~t.base == 0 && ~t.offset == 0;#res := ~i; {1867#true} is VALID [2022-02-20 17:10:44,902 INFO L290 TraceCheckUtils]: 2: Hoare triple {1867#true} assume true; {1867#true} is VALID [2022-02-20 17:10:44,903 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1867#true} {1868#false} #151#return; {1868#false} is VALID [2022-02-20 17:10:44,903 INFO L290 TraceCheckUtils]: 0: Hoare triple {1867#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(26, 2);call #Ultimate.allocInit(12, 3); {1867#true} is VALID [2022-02-20 17:10:44,903 INFO L290 TraceCheckUtils]: 1: Hoare triple {1867#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret44#1.base, main_#t~ret44#1.offset; {1867#true} is VALID [2022-02-20 17:10:44,904 INFO L272 TraceCheckUtils]: 2: Hoare triple {1867#true} call main_#t~ret44#1.base, main_#t~ret44#1.offset := nondet_tree(); {1911#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 17:10:44,904 INFO L290 TraceCheckUtils]: 3: Hoare triple {1911#(and (= |old(#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; {1912#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} is VALID [2022-02-20 17:10:44,906 INFO L272 TraceCheckUtils]: 4: Hoare triple {1912#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {1911#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 17:10:44,906 INFO L290 TraceCheckUtils]: 5: Hoare triple {1911#(and (= |old(#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; {1867#true} is VALID [2022-02-20 17:10:44,906 INFO L290 TraceCheckUtils]: 6: Hoare triple {1867#true} assume true; {1867#true} is VALID [2022-02-20 17:10:44,906 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {1867#true} {1912#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} #131#return; {1912#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} is VALID [2022-02-20 17:10:44,907 INFO L290 TraceCheckUtils]: 8: Hoare triple {1912#(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; {1912#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} is VALID [2022-02-20 17:10:44,907 INFO L272 TraceCheckUtils]: 9: Hoare triple {1912#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} call #t~ret9.base, #t~ret9.offset := nondet_tree(); {1911#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 17:10:44,907 INFO L290 TraceCheckUtils]: 10: Hoare triple {1911#(and (= |old(#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; {1867#true} is VALID [2022-02-20 17:10:44,908 INFO L290 TraceCheckUtils]: 11: Hoare triple {1867#true} assume true; {1867#true} is VALID [2022-02-20 17:10:44,908 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1867#true} {1912#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} #133#return; {1912#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} is VALID [2022-02-20 17:10:44,909 INFO L290 TraceCheckUtils]: 13: Hoare triple {1912#(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; {1919#(or (<= 1 |nondet_tree_#res.base|) (<= (+ |nondet_tree_#res.base| 1) 0))} is VALID [2022-02-20 17:10:44,909 INFO L290 TraceCheckUtils]: 14: Hoare triple {1919#(or (<= 1 |nondet_tree_#res.base|) (<= (+ |nondet_tree_#res.base| 1) 0))} assume true; {1919#(or (<= 1 |nondet_tree_#res.base|) (<= (+ |nondet_tree_#res.base| 1) 0))} is VALID [2022-02-20 17:10:44,909 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1919#(or (<= 1 |nondet_tree_#res.base|) (<= (+ |nondet_tree_#res.base| 1) 0))} {1867#true} #143#return; {1882#(not (= |ULTIMATE.start_main_#t~ret44#1.base| 0))} is VALID [2022-02-20 17:10:44,910 INFO L290 TraceCheckUtils]: 16: Hoare triple {1882#(not (= |ULTIMATE.start_main_#t~ret44#1.base| 0))} assume { :begin_inline_task } true;task_#in~t#1.base, task_#in~t#1.offset := main_#t~ret44#1.base, main_#t~ret44#1.offset;havoc task_#t~ret31#1, task_#t~ret32#1, task_#t~malloc33#1.base, task_#t~malloc33#1.offset, task_#t~ret34#1, task_#t~mem35#1, task_#t~ret36#1.base, task_#t~ret36#1.offset, task_#t~mem37#1, task_#t~ret38#1, task_#t~malloc39#1.base, task_#t~malloc39#1.offset, task_#t~ret40#1, task_#t~mem42#1, task_#t~mem43#1, task_#t~post41#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~0#1.base, task_~r~0#1.offset, task_~m~1#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; {1883#(not (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 17:10:44,910 INFO L272 TraceCheckUtils]: 17: Hoare triple {1883#(not (= |ULTIMATE.start_task_~t#1.base| 0))} call task_#t~ret31#1 := min(task_~t#1.base, task_~t#1.offset); {1867#true} is VALID [2022-02-20 17:10:44,910 INFO L290 TraceCheckUtils]: 18: Hoare triple {1867#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {1920#(= min_~n.base |min_#in~n.base|)} is VALID [2022-02-20 17:10:44,911 INFO L290 TraceCheckUtils]: 19: Hoare triple {1920#(= min_~n.base |min_#in~n.base|)} assume ~n.base == 0 && ~n.offset == 0;#res := 2147483647; {1921#(= |min_#in~n.base| 0)} is VALID [2022-02-20 17:10:44,911 INFO L290 TraceCheckUtils]: 20: Hoare triple {1921#(= |min_#in~n.base| 0)} assume true; {1921#(= |min_#in~n.base| 0)} is VALID [2022-02-20 17:10:44,912 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1921#(= |min_#in~n.base| 0)} {1883#(not (= |ULTIMATE.start_task_~t#1.base| 0))} #145#return; {1868#false} is VALID [2022-02-20 17:10:44,912 INFO L290 TraceCheckUtils]: 22: Hoare triple {1868#false} assume -2147483648 <= task_#t~ret31#1 && task_#t~ret31#1 <= 2147483647;task_~a~1#1 := task_#t~ret31#1;havoc task_#t~ret31#1;call task_~#b~1#1.base, task_~#b~1#1.offset := #Ultimate.allocOnStack(4); {1868#false} is VALID [2022-02-20 17:10:44,912 INFO L272 TraceCheckUtils]: 23: Hoare triple {1868#false} call task_#t~ret32#1 := size(task_~t#1.base, task_~t#1.offset); {1867#true} is VALID [2022-02-20 17:10:44,912 INFO L290 TraceCheckUtils]: 24: Hoare triple {1867#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {1867#true} is VALID [2022-02-20 17:10:44,912 INFO L290 TraceCheckUtils]: 25: Hoare triple {1867#true} assume !(~t.base == 0 && ~t.offset == 0);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(~t.base, 4 + ~t.offset, 4); {1867#true} is VALID [2022-02-20 17:10:44,912 INFO L272 TraceCheckUtils]: 26: Hoare triple {1867#true} call #t~ret28 := size(#t~mem27.base, #t~mem27.offset); {1867#true} is VALID [2022-02-20 17:10:44,912 INFO L290 TraceCheckUtils]: 27: Hoare triple {1867#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {1867#true} is VALID [2022-02-20 17:10:44,912 INFO L290 TraceCheckUtils]: 28: Hoare triple {1867#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {1867#true} is VALID [2022-02-20 17:10:44,912 INFO L290 TraceCheckUtils]: 29: Hoare triple {1867#true} assume true; {1867#true} is VALID [2022-02-20 17:10:44,913 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {1867#true} {1867#true} #139#return; {1867#true} is VALID [2022-02-20 17:10:44,913 INFO L290 TraceCheckUtils]: 31: Hoare triple {1867#true} assume -2147483648 <= #t~ret28 && #t~ret28 <= 2147483647;call #t~mem29.base, #t~mem29.offset := read~$Pointer$(~t.base, 8 + ~t.offset, 4); {1867#true} is VALID [2022-02-20 17:10:44,913 INFO L272 TraceCheckUtils]: 32: Hoare triple {1867#true} call #t~ret30 := size(#t~mem29.base, #t~mem29.offset); {1867#true} is VALID [2022-02-20 17:10:44,913 INFO L290 TraceCheckUtils]: 33: Hoare triple {1867#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {1867#true} is VALID [2022-02-20 17:10:44,913 INFO L290 TraceCheckUtils]: 34: Hoare triple {1867#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {1867#true} is VALID [2022-02-20 17:10:44,913 INFO L290 TraceCheckUtils]: 35: Hoare triple {1867#true} assume true; {1867#true} is VALID [2022-02-20 17:10:44,913 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {1867#true} {1867#true} #141#return; {1867#true} is VALID [2022-02-20 17:10:44,913 INFO L290 TraceCheckUtils]: 37: Hoare triple {1867#true} assume -2147483648 <= #t~ret30 && #t~ret30 <= 2147483647;#res := 1 + (#t~ret28 + #t~ret30);havoc #t~mem27.base, #t~mem27.offset;havoc #t~ret28;havoc #t~mem29.base, #t~mem29.offset;havoc #t~ret30; {1867#true} is VALID [2022-02-20 17:10:44,914 INFO L290 TraceCheckUtils]: 38: Hoare triple {1867#true} assume true; {1867#true} is VALID [2022-02-20 17:10:44,914 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {1867#true} {1868#false} #147#return; {1868#false} is VALID [2022-02-20 17:10:44,914 INFO L290 TraceCheckUtils]: 40: Hoare triple {1868#false} assume -2147483648 <= task_#t~ret32#1 && task_#t~ret32#1 <= 2147483647;task_~n~1#1 := task_#t~ret32#1;havoc task_#t~ret32#1;assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if 0 != task_~n~1#1 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {1868#false} is VALID [2022-02-20 17:10:44,914 INFO L290 TraceCheckUtils]: 41: Hoare triple {1868#false} assume !(0 == assume_abort_if_not_~cond#1); {1868#false} is VALID [2022-02-20 17:10:44,914 INFO L290 TraceCheckUtils]: 42: Hoare triple {1868#false} assume { :end_inline_assume_abort_if_not } true;call task_#t~malloc33#1.base, task_#t~malloc33#1.offset := #Ultimate.allocOnHeap(4 * task_~n~1#1); {1868#false} is VALID [2022-02-20 17:10:44,914 INFO L272 TraceCheckUtils]: 43: Hoare triple {1868#false} call #Ultimate.meminit(task_#t~malloc33#1.base, task_#t~malloc33#1.offset, task_~n~1#1, 4, 4 * task_~n~1#1); {1930#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-02-20 17:10:44,914 INFO L290 TraceCheckUtils]: 44: Hoare triple {1930#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {1867#true} is VALID [2022-02-20 17:10:44,914 INFO L290 TraceCheckUtils]: 45: Hoare triple {1867#true} assume true; {1867#true} is VALID [2022-02-20 17:10:44,914 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {1867#true} {1868#false} #149#return; {1868#false} is VALID [2022-02-20 17:10:44,915 INFO L290 TraceCheckUtils]: 47: Hoare triple {1868#false} task_~x~0#1.base, task_~x~0#1.offset := task_#t~malloc33#1.base, task_#t~malloc33#1.offset; {1868#false} is VALID [2022-02-20 17:10:44,915 INFO L272 TraceCheckUtils]: 48: Hoare triple {1868#false} call task_#t~ret34#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); {1931#(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 17:10:44,915 INFO L290 TraceCheckUtils]: 49: Hoare triple {1931#(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; {1867#true} is VALID [2022-02-20 17:10:44,915 INFO L290 TraceCheckUtils]: 50: Hoare triple {1867#true} assume ~t.base == 0 && ~t.offset == 0;#res := ~i; {1867#true} is VALID [2022-02-20 17:10:44,915 INFO L290 TraceCheckUtils]: 51: Hoare triple {1867#true} assume true; {1867#true} is VALID [2022-02-20 17:10:44,915 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {1867#true} {1868#false} #151#return; {1868#false} is VALID [2022-02-20 17:10:44,915 INFO L290 TraceCheckUtils]: 53: Hoare triple {1868#false} assume -2147483648 <= task_#t~ret34#1 && task_#t~ret34#1 <= 2147483647;havoc task_#t~ret34#1;call task_#t~mem35#1 := read~int(task_~x~0#1.base, task_~x~0#1.offset, 4); {1868#false} is VALID [2022-02-20 17:10:44,915 INFO L272 TraceCheckUtils]: 54: Hoare triple {1868#false} call __VERIFIER_assert((if task_~a~1#1 == task_#t~mem35#1 then 1 else 0)); {1868#false} is VALID [2022-02-20 17:10:44,916 INFO L290 TraceCheckUtils]: 55: Hoare triple {1868#false} ~cond := #in~cond; {1868#false} is VALID [2022-02-20 17:10:44,916 INFO L290 TraceCheckUtils]: 56: Hoare triple {1868#false} assume 0 == ~cond; {1868#false} is VALID [2022-02-20 17:10:44,916 INFO L290 TraceCheckUtils]: 57: Hoare triple {1868#false} assume !false; {1868#false} is VALID [2022-02-20 17:10:44,916 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 17:10:44,916 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:10:44,916 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2028806905] [2022-02-20 17:10:44,916 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2028806905] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:10:44,917 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:10:44,917 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-02-20 17:10:44,917 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1044819381] [2022-02-20 17:10:44,917 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:10:44,917 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 17:10:44,918 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:10:44,918 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 17:10:44,951 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 17:10:44,952 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-02-20 17:10:44,952 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:10:44,952 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-02-20 17:10:44,952 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=88, Unknown=0, NotChecked=0, Total=110 [2022-02-20 17:10:44,953 INFO L87 Difference]: Start difference. First operand 80 states and 104 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 17:10:46,105 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:10:46,106 INFO L93 Difference]: Finished difference Result 142 states and 187 transitions. [2022-02-20 17:10:46,106 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 17:10:46,106 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 17:10:46,106 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:10:46,106 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 17:10:46,109 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 179 transitions. [2022-02-20 17:10:46,109 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 17:10:46,111 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 179 transitions. [2022-02-20 17:10:46,111 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 179 transitions. [2022-02-20 17:10:46,258 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 179 edges. 179 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:10:46,260 INFO L225 Difference]: With dead ends: 142 [2022-02-20 17:10:46,260 INFO L226 Difference]: Without dead ends: 85 [2022-02-20 17:10:46,260 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 17:10:46,261 INFO L933 BasicCegarLoop]: 81 mSDtfsCounter, 107 mSDsluCounter, 290 mSDsCounter, 0 mSdLazyCounter, 343 mSolverCounterSat, 79 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 109 SdHoareTripleChecker+Valid, 371 SdHoareTripleChecker+Invalid, 422 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 79 IncrementalHoareTripleChecker+Valid, 343 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-02-20 17:10:46,261 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [109 Valid, 371 Invalid, 422 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [79 Valid, 343 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-02-20 17:10:46,262 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 85 states. [2022-02-20 17:10:46,275 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 85 to 82. [2022-02-20 17:10:46,275 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:10:46,275 INFO L82 GeneralOperation]: Start isEquivalent. First operand 85 states. Second operand has 82 states, 52 states have (on average 1.1538461538461537) internal successors, (60), 55 states have internal predecessors, (60), 20 states have call successors, (20), 6 states have call predecessors, (20), 9 states have return successors, (27), 20 states have call predecessors, (27), 20 states have call successors, (27) [2022-02-20 17:10:46,275 INFO L74 IsIncluded]: Start isIncluded. First operand 85 states. Second operand has 82 states, 52 states have (on average 1.1538461538461537) internal successors, (60), 55 states have internal predecessors, (60), 20 states have call successors, (20), 6 states have call predecessors, (20), 9 states have return successors, (27), 20 states have call predecessors, (27), 20 states have call successors, (27) [2022-02-20 17:10:46,276 INFO L87 Difference]: Start difference. First operand 85 states. Second operand has 82 states, 52 states have (on average 1.1538461538461537) internal successors, (60), 55 states have internal predecessors, (60), 20 states have call successors, (20), 6 states have call predecessors, (20), 9 states have return successors, (27), 20 states have call predecessors, (27), 20 states have call successors, (27) [2022-02-20 17:10:46,278 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:10:46,278 INFO L93 Difference]: Finished difference Result 85 states and 113 transitions. [2022-02-20 17:10:46,278 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 113 transitions. [2022-02-20 17:10:46,279 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:10:46,280 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:10:46,280 INFO L74 IsIncluded]: Start isIncluded. First operand has 82 states, 52 states have (on average 1.1538461538461537) internal successors, (60), 55 states have internal predecessors, (60), 20 states have call successors, (20), 6 states have call predecessors, (20), 9 states have return successors, (27), 20 states have call predecessors, (27), 20 states have call successors, (27) Second operand 85 states. [2022-02-20 17:10:46,280 INFO L87 Difference]: Start difference. First operand has 82 states, 52 states have (on average 1.1538461538461537) internal successors, (60), 55 states have internal predecessors, (60), 20 states have call successors, (20), 6 states have call predecessors, (20), 9 states have return successors, (27), 20 states have call predecessors, (27), 20 states have call successors, (27) Second operand 85 states. [2022-02-20 17:10:46,283 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:10:46,283 INFO L93 Difference]: Finished difference Result 85 states and 113 transitions. [2022-02-20 17:10:46,283 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 113 transitions. [2022-02-20 17:10:46,283 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:10:46,283 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:10:46,283 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:10:46,284 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:10:46,284 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 82 states, 52 states have (on average 1.1538461538461537) internal successors, (60), 55 states have internal predecessors, (60), 20 states have call successors, (20), 6 states have call predecessors, (20), 9 states have return successors, (27), 20 states have call predecessors, (27), 20 states have call successors, (27) [2022-02-20 17:10:46,286 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 82 states to 82 states and 107 transitions. [2022-02-20 17:10:46,286 INFO L78 Accepts]: Start accepts. Automaton has 82 states and 107 transitions. Word has length 58 [2022-02-20 17:10:46,286 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:10:46,286 INFO L470 AbstractCegarLoop]: Abstraction has 82 states and 107 transitions. [2022-02-20 17:10:46,287 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 17:10:46,287 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 107 transitions. [2022-02-20 17:10:46,290 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 72 [2022-02-20 17:10:46,290 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:10:46,290 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 17:10:46,290 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-02-20 17:10:46,290 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:10:46,291 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:10:46,291 INFO L85 PathProgramCache]: Analyzing trace with hash 1575743044, now seen corresponding path program 1 times [2022-02-20 17:10:46,291 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:10:46,291 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2026011317] [2022-02-20 17:10:46,291 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:10:46,291 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:10:46,317 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:46,368 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 17:10:46,375 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:46,390 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-02-20 17:10:46,392 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:46,394 INFO L290 TraceCheckUtils]: 0: Hoare triple {2474#(and (= |old(#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; {2416#true} is VALID [2022-02-20 17:10:46,394 INFO L290 TraceCheckUtils]: 1: Hoare triple {2416#true} assume true; {2416#true} is VALID [2022-02-20 17:10:46,395 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {2416#true} {2475#(= nondet_tree_~n~0.offset 0)} #131#return; {2475#(= nondet_tree_~n~0.offset 0)} is VALID [2022-02-20 17:10:46,395 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-02-20 17:10:46,396 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:46,399 INFO L290 TraceCheckUtils]: 0: Hoare triple {2474#(and (= |old(#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; {2416#true} is VALID [2022-02-20 17:10:46,399 INFO L290 TraceCheckUtils]: 1: Hoare triple {2416#true} assume true; {2416#true} is VALID [2022-02-20 17:10:46,399 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {2416#true} {2475#(= nondet_tree_~n~0.offset 0)} #133#return; {2475#(= nondet_tree_~n~0.offset 0)} is VALID [2022-02-20 17:10:46,400 INFO L290 TraceCheckUtils]: 0: Hoare triple {2474#(and (= |old(#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; {2475#(= nondet_tree_~n~0.offset 0)} is VALID [2022-02-20 17:10:46,400 INFO L272 TraceCheckUtils]: 1: Hoare triple {2475#(= nondet_tree_~n~0.offset 0)} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {2474#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 17:10:46,400 INFO L290 TraceCheckUtils]: 2: Hoare triple {2474#(and (= |old(#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; {2416#true} is VALID [2022-02-20 17:10:46,400 INFO L290 TraceCheckUtils]: 3: Hoare triple {2416#true} assume true; {2416#true} is VALID [2022-02-20 17:10:46,401 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {2416#true} {2475#(= nondet_tree_~n~0.offset 0)} #131#return; {2475#(= nondet_tree_~n~0.offset 0)} is VALID [2022-02-20 17:10:46,401 INFO L290 TraceCheckUtils]: 5: Hoare triple {2475#(= 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; {2475#(= nondet_tree_~n~0.offset 0)} is VALID [2022-02-20 17:10:46,401 INFO L272 TraceCheckUtils]: 6: Hoare triple {2475#(= nondet_tree_~n~0.offset 0)} call #t~ret9.base, #t~ret9.offset := nondet_tree(); {2474#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 17:10:46,402 INFO L290 TraceCheckUtils]: 7: Hoare triple {2474#(and (= |old(#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; {2416#true} is VALID [2022-02-20 17:10:46,402 INFO L290 TraceCheckUtils]: 8: Hoare triple {2416#true} assume true; {2416#true} is VALID [2022-02-20 17:10:46,402 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {2416#true} {2475#(= nondet_tree_~n~0.offset 0)} #133#return; {2475#(= nondet_tree_~n~0.offset 0)} is VALID [2022-02-20 17:10:46,402 INFO L290 TraceCheckUtils]: 10: Hoare triple {2475#(= 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; {2482#(= |nondet_tree_#res.offset| 0)} is VALID [2022-02-20 17:10:46,403 INFO L290 TraceCheckUtils]: 11: Hoare triple {2482#(= |nondet_tree_#res.offset| 0)} assume true; {2482#(= |nondet_tree_#res.offset| 0)} is VALID [2022-02-20 17:10:46,403 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2482#(= |nondet_tree_#res.offset| 0)} {2416#true} #143#return; {2431#(= |ULTIMATE.start_main_#t~ret44#1.offset| 0)} is VALID [2022-02-20 17:10:46,403 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-02-20 17:10:46,409 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:46,452 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 17:10:46,454 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:46,457 INFO L290 TraceCheckUtils]: 0: Hoare triple {2416#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {2416#true} is VALID [2022-02-20 17:10:46,457 INFO L290 TraceCheckUtils]: 1: Hoare triple {2416#true} assume ~n.base == 0 && ~n.offset == 0;#res := 2147483647; {2416#true} is VALID [2022-02-20 17:10:46,457 INFO L290 TraceCheckUtils]: 2: Hoare triple {2416#true} assume true; {2416#true} is VALID [2022-02-20 17:10:46,458 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2416#true} {2484#(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))))} #135#return; {2484#(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 17:10:46,458 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2022-02-20 17:10:46,459 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:46,461 INFO L290 TraceCheckUtils]: 0: Hoare triple {2416#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {2416#true} is VALID [2022-02-20 17:10:46,461 INFO L290 TraceCheckUtils]: 1: Hoare triple {2416#true} assume ~n.base == 0 && ~n.offset == 0;#res := 2147483647; {2416#true} is VALID [2022-02-20 17:10:46,462 INFO L290 TraceCheckUtils]: 2: Hoare triple {2416#true} assume true; {2416#true} is VALID [2022-02-20 17:10:46,462 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2416#true} {2489#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} #137#return; {2489#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} is VALID [2022-02-20 17:10:46,462 INFO L290 TraceCheckUtils]: 0: Hoare triple {2416#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {2483#(and (= min_~n.base |min_#in~n.base|) (= min_~n.offset |min_#in~n.offset|))} is VALID [2022-02-20 17:10:46,463 INFO L290 TraceCheckUtils]: 1: Hoare triple {2483#(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.base, #t~mem10.offset := read~$Pointer$(~n.base, 4 + ~n.offset, 4); {2484#(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 17:10:46,463 INFO L272 TraceCheckUtils]: 2: Hoare triple {2484#(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~ret11 := min(#t~mem10.base, #t~mem10.offset); {2416#true} is VALID [2022-02-20 17:10:46,463 INFO L290 TraceCheckUtils]: 3: Hoare triple {2416#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {2416#true} is VALID [2022-02-20 17:10:46,463 INFO L290 TraceCheckUtils]: 4: Hoare triple {2416#true} assume ~n.base == 0 && ~n.offset == 0;#res := 2147483647; {2416#true} is VALID [2022-02-20 17:10:46,463 INFO L290 TraceCheckUtils]: 5: Hoare triple {2416#true} assume true; {2416#true} is VALID [2022-02-20 17:10:46,464 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {2416#true} {2484#(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))))} #135#return; {2484#(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 17:10:46,464 INFO L290 TraceCheckUtils]: 7: Hoare triple {2484#(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~ret11 && #t~ret11 <= 2147483647;~a~0 := #t~ret11;havoc #t~mem10.base, #t~mem10.offset;havoc #t~ret11;call #t~mem12.base, #t~mem12.offset := read~$Pointer$(~n.base, 8 + ~n.offset, 4); {2489#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} is VALID [2022-02-20 17:10:46,465 INFO L272 TraceCheckUtils]: 8: Hoare triple {2489#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} call #t~ret13 := min(#t~mem12.base, #t~mem12.offset); {2416#true} is VALID [2022-02-20 17:10:46,465 INFO L290 TraceCheckUtils]: 9: Hoare triple {2416#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {2416#true} is VALID [2022-02-20 17:10:46,465 INFO L290 TraceCheckUtils]: 10: Hoare triple {2416#true} assume ~n.base == 0 && ~n.offset == 0;#res := 2147483647; {2416#true} is VALID [2022-02-20 17:10:46,465 INFO L290 TraceCheckUtils]: 11: Hoare triple {2416#true} assume true; {2416#true} is VALID [2022-02-20 17:10:46,469 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2416#true} {2489#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} #137#return; {2489#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} is VALID [2022-02-20 17:10:46,469 INFO L290 TraceCheckUtils]: 13: Hoare triple {2489#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~b~0 := #t~ret13;havoc #t~mem12.base, #t~mem12.offset;havoc #t~ret13; {2489#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} is VALID [2022-02-20 17:10:46,470 INFO L290 TraceCheckUtils]: 14: Hoare triple {2489#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} assume ~a~0 <= ~b~0;#res := ~a~0; {2489#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} is VALID [2022-02-20 17:10:46,470 INFO L290 TraceCheckUtils]: 15: Hoare triple {2489#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} assume true; {2489#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} is VALID [2022-02-20 17:10:46,470 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2489#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} {2432#(= |ULTIMATE.start_task_~t#1.offset| 0)} #145#return; {2450#(not (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 17:10:46,471 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-02-20 17:10:46,474 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:46,477 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 17:10:46,478 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:46,479 INFO L290 TraceCheckUtils]: 0: Hoare triple {2416#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {2416#true} is VALID [2022-02-20 17:10:46,479 INFO L290 TraceCheckUtils]: 1: Hoare triple {2416#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {2416#true} is VALID [2022-02-20 17:10:46,479 INFO L290 TraceCheckUtils]: 2: Hoare triple {2416#true} assume true; {2416#true} is VALID [2022-02-20 17:10:46,479 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2416#true} {2416#true} #139#return; {2416#true} is VALID [2022-02-20 17:10:46,480 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2022-02-20 17:10:46,480 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:46,481 INFO L290 TraceCheckUtils]: 0: Hoare triple {2416#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {2416#true} is VALID [2022-02-20 17:10:46,482 INFO L290 TraceCheckUtils]: 1: Hoare triple {2416#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {2416#true} is VALID [2022-02-20 17:10:46,482 INFO L290 TraceCheckUtils]: 2: Hoare triple {2416#true} assume true; {2416#true} is VALID [2022-02-20 17:10:46,482 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2416#true} {2416#true} #141#return; {2416#true} is VALID [2022-02-20 17:10:46,482 INFO L290 TraceCheckUtils]: 0: Hoare triple {2416#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {2416#true} is VALID [2022-02-20 17:10:46,482 INFO L290 TraceCheckUtils]: 1: Hoare triple {2416#true} assume !(~t.base == 0 && ~t.offset == 0);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(~t.base, 4 + ~t.offset, 4); {2416#true} is VALID [2022-02-20 17:10:46,482 INFO L272 TraceCheckUtils]: 2: Hoare triple {2416#true} call #t~ret28 := size(#t~mem27.base, #t~mem27.offset); {2416#true} is VALID [2022-02-20 17:10:46,482 INFO L290 TraceCheckUtils]: 3: Hoare triple {2416#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {2416#true} is VALID [2022-02-20 17:10:46,482 INFO L290 TraceCheckUtils]: 4: Hoare triple {2416#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {2416#true} is VALID [2022-02-20 17:10:46,482 INFO L290 TraceCheckUtils]: 5: Hoare triple {2416#true} assume true; {2416#true} is VALID [2022-02-20 17:10:46,483 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {2416#true} {2416#true} #139#return; {2416#true} is VALID [2022-02-20 17:10:46,483 INFO L290 TraceCheckUtils]: 7: Hoare triple {2416#true} assume -2147483648 <= #t~ret28 && #t~ret28 <= 2147483647;call #t~mem29.base, #t~mem29.offset := read~$Pointer$(~t.base, 8 + ~t.offset, 4); {2416#true} is VALID [2022-02-20 17:10:46,483 INFO L272 TraceCheckUtils]: 8: Hoare triple {2416#true} call #t~ret30 := size(#t~mem29.base, #t~mem29.offset); {2416#true} is VALID [2022-02-20 17:10:46,483 INFO L290 TraceCheckUtils]: 9: Hoare triple {2416#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {2416#true} is VALID [2022-02-20 17:10:46,483 INFO L290 TraceCheckUtils]: 10: Hoare triple {2416#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {2416#true} is VALID [2022-02-20 17:10:46,483 INFO L290 TraceCheckUtils]: 11: Hoare triple {2416#true} assume true; {2416#true} is VALID [2022-02-20 17:10:46,483 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2416#true} {2416#true} #141#return; {2416#true} is VALID [2022-02-20 17:10:46,483 INFO L290 TraceCheckUtils]: 13: Hoare triple {2416#true} assume -2147483648 <= #t~ret30 && #t~ret30 <= 2147483647;#res := 1 + (#t~ret28 + #t~ret30);havoc #t~mem27.base, #t~mem27.offset;havoc #t~ret28;havoc #t~mem29.base, #t~mem29.offset;havoc #t~ret30; {2416#true} is VALID [2022-02-20 17:10:46,483 INFO L290 TraceCheckUtils]: 14: Hoare triple {2416#true} assume true; {2416#true} is VALID [2022-02-20 17:10:46,484 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2416#true} {2450#(not (= |ULTIMATE.start_task_~t#1.base| 0))} #147#return; {2450#(not (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 17:10:46,490 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 56 [2022-02-20 17:10:46,492 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:46,495 INFO L290 TraceCheckUtils]: 0: Hoare triple {2502#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {2416#true} is VALID [2022-02-20 17:10:46,495 INFO L290 TraceCheckUtils]: 1: Hoare triple {2416#true} assume true; {2416#true} is VALID [2022-02-20 17:10:46,495 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {2416#true} {2450#(not (= |ULTIMATE.start_task_~t#1.base| 0))} #149#return; {2450#(not (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 17:10:46,504 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 61 [2022-02-20 17:10:46,506 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:46,523 INFO L290 TraceCheckUtils]: 0: Hoare triple {2503#(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; {2504#(= |tree_inorder_#in~t.base| tree_inorder_~t.base)} is VALID [2022-02-20 17:10:46,524 INFO L290 TraceCheckUtils]: 1: Hoare triple {2504#(= |tree_inorder_#in~t.base| tree_inorder_~t.base)} assume ~t.base == 0 && ~t.offset == 0;#res := ~i; {2505#(= |tree_inorder_#in~t.base| 0)} is VALID [2022-02-20 17:10:46,524 INFO L290 TraceCheckUtils]: 2: Hoare triple {2505#(= |tree_inorder_#in~t.base| 0)} assume true; {2505#(= |tree_inorder_#in~t.base| 0)} is VALID [2022-02-20 17:10:46,525 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2505#(= |tree_inorder_#in~t.base| 0)} {2450#(not (= |ULTIMATE.start_task_~t#1.base| 0))} #151#return; {2417#false} is VALID [2022-02-20 17:10:46,525 INFO L290 TraceCheckUtils]: 0: Hoare triple {2416#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(26, 2);call #Ultimate.allocInit(12, 3); {2416#true} is VALID [2022-02-20 17:10:46,525 INFO L290 TraceCheckUtils]: 1: Hoare triple {2416#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret44#1.base, main_#t~ret44#1.offset; {2416#true} is VALID [2022-02-20 17:10:46,526 INFO L272 TraceCheckUtils]: 2: Hoare triple {2416#true} call main_#t~ret44#1.base, main_#t~ret44#1.offset := nondet_tree(); {2474#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 17:10:46,526 INFO L290 TraceCheckUtils]: 3: Hoare triple {2474#(and (= |old(#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; {2475#(= nondet_tree_~n~0.offset 0)} is VALID [2022-02-20 17:10:46,527 INFO L272 TraceCheckUtils]: 4: Hoare triple {2475#(= nondet_tree_~n~0.offset 0)} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {2474#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 17:10:46,527 INFO L290 TraceCheckUtils]: 5: Hoare triple {2474#(and (= |old(#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; {2416#true} is VALID [2022-02-20 17:10:46,527 INFO L290 TraceCheckUtils]: 6: Hoare triple {2416#true} assume true; {2416#true} is VALID [2022-02-20 17:10:46,527 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {2416#true} {2475#(= nondet_tree_~n~0.offset 0)} #131#return; {2475#(= nondet_tree_~n~0.offset 0)} is VALID [2022-02-20 17:10:46,528 INFO L290 TraceCheckUtils]: 8: Hoare triple {2475#(= 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; {2475#(= nondet_tree_~n~0.offset 0)} is VALID [2022-02-20 17:10:46,528 INFO L272 TraceCheckUtils]: 9: Hoare triple {2475#(= nondet_tree_~n~0.offset 0)} call #t~ret9.base, #t~ret9.offset := nondet_tree(); {2474#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 17:10:46,528 INFO L290 TraceCheckUtils]: 10: Hoare triple {2474#(and (= |old(#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; {2416#true} is VALID [2022-02-20 17:10:46,528 INFO L290 TraceCheckUtils]: 11: Hoare triple {2416#true} assume true; {2416#true} is VALID [2022-02-20 17:10:46,529 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2416#true} {2475#(= nondet_tree_~n~0.offset 0)} #133#return; {2475#(= nondet_tree_~n~0.offset 0)} is VALID [2022-02-20 17:10:46,529 INFO L290 TraceCheckUtils]: 13: Hoare triple {2475#(= 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; {2482#(= |nondet_tree_#res.offset| 0)} is VALID [2022-02-20 17:10:46,530 INFO L290 TraceCheckUtils]: 14: Hoare triple {2482#(= |nondet_tree_#res.offset| 0)} assume true; {2482#(= |nondet_tree_#res.offset| 0)} is VALID [2022-02-20 17:10:46,530 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2482#(= |nondet_tree_#res.offset| 0)} {2416#true} #143#return; {2431#(= |ULTIMATE.start_main_#t~ret44#1.offset| 0)} is VALID [2022-02-20 17:10:46,530 INFO L290 TraceCheckUtils]: 16: Hoare triple {2431#(= |ULTIMATE.start_main_#t~ret44#1.offset| 0)} assume { :begin_inline_task } true;task_#in~t#1.base, task_#in~t#1.offset := main_#t~ret44#1.base, main_#t~ret44#1.offset;havoc task_#t~ret31#1, task_#t~ret32#1, task_#t~malloc33#1.base, task_#t~malloc33#1.offset, task_#t~ret34#1, task_#t~mem35#1, task_#t~ret36#1.base, task_#t~ret36#1.offset, task_#t~mem37#1, task_#t~ret38#1, task_#t~malloc39#1.base, task_#t~malloc39#1.offset, task_#t~ret40#1, task_#t~mem42#1, task_#t~mem43#1, task_#t~post41#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~0#1.base, task_~r~0#1.offset, task_~m~1#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; {2432#(= |ULTIMATE.start_task_~t#1.offset| 0)} is VALID [2022-02-20 17:10:46,531 INFO L272 TraceCheckUtils]: 17: Hoare triple {2432#(= |ULTIMATE.start_task_~t#1.offset| 0)} call task_#t~ret31#1 := min(task_~t#1.base, task_~t#1.offset); {2416#true} is VALID [2022-02-20 17:10:46,531 INFO L290 TraceCheckUtils]: 18: Hoare triple {2416#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {2483#(and (= min_~n.base |min_#in~n.base|) (= min_~n.offset |min_#in~n.offset|))} is VALID [2022-02-20 17:10:46,531 INFO L290 TraceCheckUtils]: 19: Hoare triple {2483#(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.base, #t~mem10.offset := read~$Pointer$(~n.base, 4 + ~n.offset, 4); {2484#(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 17:10:46,531 INFO L272 TraceCheckUtils]: 20: Hoare triple {2484#(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~ret11 := min(#t~mem10.base, #t~mem10.offset); {2416#true} is VALID [2022-02-20 17:10:46,532 INFO L290 TraceCheckUtils]: 21: Hoare triple {2416#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {2416#true} is VALID [2022-02-20 17:10:46,532 INFO L290 TraceCheckUtils]: 22: Hoare triple {2416#true} assume ~n.base == 0 && ~n.offset == 0;#res := 2147483647; {2416#true} is VALID [2022-02-20 17:10:46,532 INFO L290 TraceCheckUtils]: 23: Hoare triple {2416#true} assume true; {2416#true} is VALID [2022-02-20 17:10:46,532 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {2416#true} {2484#(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))))} #135#return; {2484#(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 17:10:46,533 INFO L290 TraceCheckUtils]: 25: Hoare triple {2484#(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~ret11 && #t~ret11 <= 2147483647;~a~0 := #t~ret11;havoc #t~mem10.base, #t~mem10.offset;havoc #t~ret11;call #t~mem12.base, #t~mem12.offset := read~$Pointer$(~n.base, 8 + ~n.offset, 4); {2489#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} is VALID [2022-02-20 17:10:46,533 INFO L272 TraceCheckUtils]: 26: Hoare triple {2489#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} call #t~ret13 := min(#t~mem12.base, #t~mem12.offset); {2416#true} is VALID [2022-02-20 17:10:46,533 INFO L290 TraceCheckUtils]: 27: Hoare triple {2416#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {2416#true} is VALID [2022-02-20 17:10:46,533 INFO L290 TraceCheckUtils]: 28: Hoare triple {2416#true} assume ~n.base == 0 && ~n.offset == 0;#res := 2147483647; {2416#true} is VALID [2022-02-20 17:10:46,533 INFO L290 TraceCheckUtils]: 29: Hoare triple {2416#true} assume true; {2416#true} is VALID [2022-02-20 17:10:46,534 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {2416#true} {2489#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} #137#return; {2489#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} is VALID [2022-02-20 17:10:46,534 INFO L290 TraceCheckUtils]: 31: Hoare triple {2489#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~b~0 := #t~ret13;havoc #t~mem12.base, #t~mem12.offset;havoc #t~ret13; {2489#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} is VALID [2022-02-20 17:10:46,534 INFO L290 TraceCheckUtils]: 32: Hoare triple {2489#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} assume ~a~0 <= ~b~0;#res := ~a~0; {2489#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} is VALID [2022-02-20 17:10:46,535 INFO L290 TraceCheckUtils]: 33: Hoare triple {2489#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} assume true; {2489#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} is VALID [2022-02-20 17:10:46,535 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2489#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} {2432#(= |ULTIMATE.start_task_~t#1.offset| 0)} #145#return; {2450#(not (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 17:10:46,536 INFO L290 TraceCheckUtils]: 35: Hoare triple {2450#(not (= |ULTIMATE.start_task_~t#1.base| 0))} assume -2147483648 <= task_#t~ret31#1 && task_#t~ret31#1 <= 2147483647;task_~a~1#1 := task_#t~ret31#1;havoc task_#t~ret31#1;call task_~#b~1#1.base, task_~#b~1#1.offset := #Ultimate.allocOnStack(4); {2450#(not (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 17:10:46,536 INFO L272 TraceCheckUtils]: 36: Hoare triple {2450#(not (= |ULTIMATE.start_task_~t#1.base| 0))} call task_#t~ret32#1 := size(task_~t#1.base, task_~t#1.offset); {2416#true} is VALID [2022-02-20 17:10:46,536 INFO L290 TraceCheckUtils]: 37: Hoare triple {2416#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {2416#true} is VALID [2022-02-20 17:10:46,536 INFO L290 TraceCheckUtils]: 38: Hoare triple {2416#true} assume !(~t.base == 0 && ~t.offset == 0);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(~t.base, 4 + ~t.offset, 4); {2416#true} is VALID [2022-02-20 17:10:46,536 INFO L272 TraceCheckUtils]: 39: Hoare triple {2416#true} call #t~ret28 := size(#t~mem27.base, #t~mem27.offset); {2416#true} is VALID [2022-02-20 17:10:46,536 INFO L290 TraceCheckUtils]: 40: Hoare triple {2416#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {2416#true} is VALID [2022-02-20 17:10:46,536 INFO L290 TraceCheckUtils]: 41: Hoare triple {2416#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {2416#true} is VALID [2022-02-20 17:10:46,536 INFO L290 TraceCheckUtils]: 42: Hoare triple {2416#true} assume true; {2416#true} is VALID [2022-02-20 17:10:46,536 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {2416#true} {2416#true} #139#return; {2416#true} is VALID [2022-02-20 17:10:46,537 INFO L290 TraceCheckUtils]: 44: Hoare triple {2416#true} assume -2147483648 <= #t~ret28 && #t~ret28 <= 2147483647;call #t~mem29.base, #t~mem29.offset := read~$Pointer$(~t.base, 8 + ~t.offset, 4); {2416#true} is VALID [2022-02-20 17:10:46,537 INFO L272 TraceCheckUtils]: 45: Hoare triple {2416#true} call #t~ret30 := size(#t~mem29.base, #t~mem29.offset); {2416#true} is VALID [2022-02-20 17:10:46,537 INFO L290 TraceCheckUtils]: 46: Hoare triple {2416#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {2416#true} is VALID [2022-02-20 17:10:46,537 INFO L290 TraceCheckUtils]: 47: Hoare triple {2416#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {2416#true} is VALID [2022-02-20 17:10:46,537 INFO L290 TraceCheckUtils]: 48: Hoare triple {2416#true} assume true; {2416#true} is VALID [2022-02-20 17:10:46,537 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {2416#true} {2416#true} #141#return; {2416#true} is VALID [2022-02-20 17:10:46,537 INFO L290 TraceCheckUtils]: 50: Hoare triple {2416#true} assume -2147483648 <= #t~ret30 && #t~ret30 <= 2147483647;#res := 1 + (#t~ret28 + #t~ret30);havoc #t~mem27.base, #t~mem27.offset;havoc #t~ret28;havoc #t~mem29.base, #t~mem29.offset;havoc #t~ret30; {2416#true} is VALID [2022-02-20 17:10:46,537 INFO L290 TraceCheckUtils]: 51: Hoare triple {2416#true} assume true; {2416#true} is VALID [2022-02-20 17:10:46,538 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {2416#true} {2450#(not (= |ULTIMATE.start_task_~t#1.base| 0))} #147#return; {2450#(not (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 17:10:46,538 INFO L290 TraceCheckUtils]: 53: Hoare triple {2450#(not (= |ULTIMATE.start_task_~t#1.base| 0))} assume -2147483648 <= task_#t~ret32#1 && task_#t~ret32#1 <= 2147483647;task_~n~1#1 := task_#t~ret32#1;havoc task_#t~ret32#1;assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if 0 != task_~n~1#1 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {2450#(not (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 17:10:46,538 INFO L290 TraceCheckUtils]: 54: Hoare triple {2450#(not (= |ULTIMATE.start_task_~t#1.base| 0))} assume !(0 == assume_abort_if_not_~cond#1); {2450#(not (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 17:10:46,539 INFO L290 TraceCheckUtils]: 55: Hoare triple {2450#(not (= |ULTIMATE.start_task_~t#1.base| 0))} assume { :end_inline_assume_abort_if_not } true;call task_#t~malloc33#1.base, task_#t~malloc33#1.offset := #Ultimate.allocOnHeap(4 * task_~n~1#1); {2450#(not (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 17:10:46,539 INFO L272 TraceCheckUtils]: 56: Hoare triple {2450#(not (= |ULTIMATE.start_task_~t#1.base| 0))} call #Ultimate.meminit(task_#t~malloc33#1.base, task_#t~malloc33#1.offset, task_~n~1#1, 4, 4 * task_~n~1#1); {2502#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-02-20 17:10:46,539 INFO L290 TraceCheckUtils]: 57: Hoare triple {2502#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {2416#true} is VALID [2022-02-20 17:10:46,540 INFO L290 TraceCheckUtils]: 58: Hoare triple {2416#true} assume true; {2416#true} is VALID [2022-02-20 17:10:46,540 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {2416#true} {2450#(not (= |ULTIMATE.start_task_~t#1.base| 0))} #149#return; {2450#(not (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 17:10:46,540 INFO L290 TraceCheckUtils]: 60: Hoare triple {2450#(not (= |ULTIMATE.start_task_~t#1.base| 0))} task_~x~0#1.base, task_~x~0#1.offset := task_#t~malloc33#1.base, task_#t~malloc33#1.offset; {2450#(not (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 17:10:46,541 INFO L272 TraceCheckUtils]: 61: Hoare triple {2450#(not (= |ULTIMATE.start_task_~t#1.base| 0))} call task_#t~ret34#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); {2503#(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 17:10:46,542 INFO L290 TraceCheckUtils]: 62: Hoare triple {2503#(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; {2504#(= |tree_inorder_#in~t.base| tree_inorder_~t.base)} is VALID [2022-02-20 17:10:46,542 INFO L290 TraceCheckUtils]: 63: Hoare triple {2504#(= |tree_inorder_#in~t.base| tree_inorder_~t.base)} assume ~t.base == 0 && ~t.offset == 0;#res := ~i; {2505#(= |tree_inorder_#in~t.base| 0)} is VALID [2022-02-20 17:10:46,542 INFO L290 TraceCheckUtils]: 64: Hoare triple {2505#(= |tree_inorder_#in~t.base| 0)} assume true; {2505#(= |tree_inorder_#in~t.base| 0)} is VALID [2022-02-20 17:10:46,543 INFO L284 TraceCheckUtils]: 65: Hoare quadruple {2505#(= |tree_inorder_#in~t.base| 0)} {2450#(not (= |ULTIMATE.start_task_~t#1.base| 0))} #151#return; {2417#false} is VALID [2022-02-20 17:10:46,543 INFO L290 TraceCheckUtils]: 66: Hoare triple {2417#false} assume -2147483648 <= task_#t~ret34#1 && task_#t~ret34#1 <= 2147483647;havoc task_#t~ret34#1;call task_#t~mem35#1 := read~int(task_~x~0#1.base, task_~x~0#1.offset, 4); {2417#false} is VALID [2022-02-20 17:10:46,543 INFO L272 TraceCheckUtils]: 67: Hoare triple {2417#false} call __VERIFIER_assert((if task_~a~1#1 == task_#t~mem35#1 then 1 else 0)); {2417#false} is VALID [2022-02-20 17:10:46,543 INFO L290 TraceCheckUtils]: 68: Hoare triple {2417#false} ~cond := #in~cond; {2417#false} is VALID [2022-02-20 17:10:46,543 INFO L290 TraceCheckUtils]: 69: Hoare triple {2417#false} assume 0 == ~cond; {2417#false} is VALID [2022-02-20 17:10:46,544 INFO L290 TraceCheckUtils]: 70: Hoare triple {2417#false} assume !false; {2417#false} is VALID [2022-02-20 17:10:46,544 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 17:10:46,544 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:10:46,544 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2026011317] [2022-02-20 17:10:46,544 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2026011317] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 17:10:46,544 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [766951714] [2022-02-20 17:10:46,545 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:10:46,545 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:10:46,545 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:10:46,546 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 17:10:46,547 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 17:10:46,645 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:46,647 INFO L263 TraceCheckSpWp]: Trace formula consists of 390 conjuncts, 15 conjunts are in the unsatisfiable core [2022-02-20 17:10:46,663 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:46,665 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:10:46,861 INFO L290 TraceCheckUtils]: 0: Hoare triple {2416#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(26, 2);call #Ultimate.allocInit(12, 3); {2416#true} is VALID [2022-02-20 17:10:46,862 INFO L290 TraceCheckUtils]: 1: Hoare triple {2416#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret44#1.base, main_#t~ret44#1.offset; {2416#true} is VALID [2022-02-20 17:10:46,862 INFO L272 TraceCheckUtils]: 2: Hoare triple {2416#true} call main_#t~ret44#1.base, main_#t~ret44#1.offset := nondet_tree(); {2416#true} is VALID [2022-02-20 17:10:46,862 INFO L290 TraceCheckUtils]: 3: Hoare triple {2416#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; {2518#(not (= nondet_tree_~n~0.base 0))} is VALID [2022-02-20 17:10:46,862 INFO L272 TraceCheckUtils]: 4: Hoare triple {2518#(not (= nondet_tree_~n~0.base 0))} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {2416#true} is VALID [2022-02-20 17:10:46,862 INFO L290 TraceCheckUtils]: 5: Hoare triple {2416#true} assume 0 != #t~nondet5 % 256;havoc #t~nondet5;#res.base, #res.offset := 0, 0; {2416#true} is VALID [2022-02-20 17:10:46,862 INFO L290 TraceCheckUtils]: 6: Hoare triple {2416#true} assume true; {2416#true} is VALID [2022-02-20 17:10:46,863 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {2416#true} {2518#(not (= nondet_tree_~n~0.base 0))} #131#return; {2518#(not (= nondet_tree_~n~0.base 0))} is VALID [2022-02-20 17:10:46,863 INFO L290 TraceCheckUtils]: 8: Hoare triple {2518#(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; {2518#(not (= nondet_tree_~n~0.base 0))} is VALID [2022-02-20 17:10:46,863 INFO L272 TraceCheckUtils]: 9: Hoare triple {2518#(not (= nondet_tree_~n~0.base 0))} call #t~ret9.base, #t~ret9.offset := nondet_tree(); {2416#true} is VALID [2022-02-20 17:10:46,864 INFO L290 TraceCheckUtils]: 10: Hoare triple {2416#true} assume 0 != #t~nondet5 % 256;havoc #t~nondet5;#res.base, #res.offset := 0, 0; {2416#true} is VALID [2022-02-20 17:10:46,864 INFO L290 TraceCheckUtils]: 11: Hoare triple {2416#true} assume true; {2416#true} is VALID [2022-02-20 17:10:46,864 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2416#true} {2518#(not (= nondet_tree_~n~0.base 0))} #133#return; {2518#(not (= nondet_tree_~n~0.base 0))} is VALID [2022-02-20 17:10:46,865 INFO L290 TraceCheckUtils]: 13: Hoare triple {2518#(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; {2549#(not (= |nondet_tree_#res.base| 0))} is VALID [2022-02-20 17:10:46,865 INFO L290 TraceCheckUtils]: 14: Hoare triple {2549#(not (= |nondet_tree_#res.base| 0))} assume true; {2549#(not (= |nondet_tree_#res.base| 0))} is VALID [2022-02-20 17:10:46,865 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2549#(not (= |nondet_tree_#res.base| 0))} {2416#true} #143#return; {2556#(not (= |ULTIMATE.start_main_#t~ret44#1.base| 0))} is VALID [2022-02-20 17:10:46,866 INFO L290 TraceCheckUtils]: 16: Hoare triple {2556#(not (= |ULTIMATE.start_main_#t~ret44#1.base| 0))} assume { :begin_inline_task } true;task_#in~t#1.base, task_#in~t#1.offset := main_#t~ret44#1.base, main_#t~ret44#1.offset;havoc task_#t~ret31#1, task_#t~ret32#1, task_#t~malloc33#1.base, task_#t~malloc33#1.offset, task_#t~ret34#1, task_#t~mem35#1, task_#t~ret36#1.base, task_#t~ret36#1.offset, task_#t~mem37#1, task_#t~ret38#1, task_#t~malloc39#1.base, task_#t~malloc39#1.offset, task_#t~ret40#1, task_#t~mem42#1, task_#t~mem43#1, task_#t~post41#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~0#1.base, task_~r~0#1.offset, task_~m~1#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; {2450#(not (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 17:10:46,866 INFO L272 TraceCheckUtils]: 17: Hoare triple {2450#(not (= |ULTIMATE.start_task_~t#1.base| 0))} call task_#t~ret31#1 := min(task_~t#1.base, task_~t#1.offset); {2416#true} is VALID [2022-02-20 17:10:46,866 INFO L290 TraceCheckUtils]: 18: Hoare triple {2416#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {2416#true} is VALID [2022-02-20 17:10:46,866 INFO L290 TraceCheckUtils]: 19: Hoare triple {2416#true} assume !(~n.base == 0 && ~n.offset == 0);call #t~mem10.base, #t~mem10.offset := read~$Pointer$(~n.base, 4 + ~n.offset, 4); {2416#true} is VALID [2022-02-20 17:10:46,866 INFO L272 TraceCheckUtils]: 20: Hoare triple {2416#true} call #t~ret11 := min(#t~mem10.base, #t~mem10.offset); {2416#true} is VALID [2022-02-20 17:10:46,866 INFO L290 TraceCheckUtils]: 21: Hoare triple {2416#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {2416#true} is VALID [2022-02-20 17:10:46,867 INFO L290 TraceCheckUtils]: 22: Hoare triple {2416#true} assume ~n.base == 0 && ~n.offset == 0;#res := 2147483647; {2416#true} is VALID [2022-02-20 17:10:46,867 INFO L290 TraceCheckUtils]: 23: Hoare triple {2416#true} assume true; {2416#true} is VALID [2022-02-20 17:10:46,867 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {2416#true} {2416#true} #135#return; {2416#true} is VALID [2022-02-20 17:10:46,867 INFO L290 TraceCheckUtils]: 25: Hoare triple {2416#true} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~a~0 := #t~ret11;havoc #t~mem10.base, #t~mem10.offset;havoc #t~ret11;call #t~mem12.base, #t~mem12.offset := read~$Pointer$(~n.base, 8 + ~n.offset, 4); {2416#true} is VALID [2022-02-20 17:10:46,867 INFO L272 TraceCheckUtils]: 26: Hoare triple {2416#true} call #t~ret13 := min(#t~mem12.base, #t~mem12.offset); {2416#true} is VALID [2022-02-20 17:10:46,867 INFO L290 TraceCheckUtils]: 27: Hoare triple {2416#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {2416#true} is VALID [2022-02-20 17:10:46,867 INFO L290 TraceCheckUtils]: 28: Hoare triple {2416#true} assume ~n.base == 0 && ~n.offset == 0;#res := 2147483647; {2416#true} is VALID [2022-02-20 17:10:46,867 INFO L290 TraceCheckUtils]: 29: Hoare triple {2416#true} assume true; {2416#true} is VALID [2022-02-20 17:10:46,867 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {2416#true} {2416#true} #137#return; {2416#true} is VALID [2022-02-20 17:10:46,868 INFO L290 TraceCheckUtils]: 31: Hoare triple {2416#true} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~b~0 := #t~ret13;havoc #t~mem12.base, #t~mem12.offset;havoc #t~ret13; {2416#true} is VALID [2022-02-20 17:10:46,868 INFO L290 TraceCheckUtils]: 32: Hoare triple {2416#true} assume ~a~0 <= ~b~0;#res := ~a~0; {2416#true} is VALID [2022-02-20 17:10:46,868 INFO L290 TraceCheckUtils]: 33: Hoare triple {2416#true} assume true; {2416#true} is VALID [2022-02-20 17:10:46,868 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2416#true} {2450#(not (= |ULTIMATE.start_task_~t#1.base| 0))} #145#return; {2450#(not (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 17:10:46,868 INFO L290 TraceCheckUtils]: 35: Hoare triple {2450#(not (= |ULTIMATE.start_task_~t#1.base| 0))} assume -2147483648 <= task_#t~ret31#1 && task_#t~ret31#1 <= 2147483647;task_~a~1#1 := task_#t~ret31#1;havoc task_#t~ret31#1;call task_~#b~1#1.base, task_~#b~1#1.offset := #Ultimate.allocOnStack(4); {2450#(not (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 17:10:46,869 INFO L272 TraceCheckUtils]: 36: Hoare triple {2450#(not (= |ULTIMATE.start_task_~t#1.base| 0))} call task_#t~ret32#1 := size(task_~t#1.base, task_~t#1.offset); {2416#true} is VALID [2022-02-20 17:10:46,869 INFO L290 TraceCheckUtils]: 37: Hoare triple {2416#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {2416#true} is VALID [2022-02-20 17:10:46,869 INFO L290 TraceCheckUtils]: 38: Hoare triple {2416#true} assume !(~t.base == 0 && ~t.offset == 0);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(~t.base, 4 + ~t.offset, 4); {2416#true} is VALID [2022-02-20 17:10:46,869 INFO L272 TraceCheckUtils]: 39: Hoare triple {2416#true} call #t~ret28 := size(#t~mem27.base, #t~mem27.offset); {2416#true} is VALID [2022-02-20 17:10:46,869 INFO L290 TraceCheckUtils]: 40: Hoare triple {2416#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {2416#true} is VALID [2022-02-20 17:10:46,869 INFO L290 TraceCheckUtils]: 41: Hoare triple {2416#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {2416#true} is VALID [2022-02-20 17:10:46,869 INFO L290 TraceCheckUtils]: 42: Hoare triple {2416#true} assume true; {2416#true} is VALID [2022-02-20 17:10:46,869 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {2416#true} {2416#true} #139#return; {2416#true} is VALID [2022-02-20 17:10:46,869 INFO L290 TraceCheckUtils]: 44: Hoare triple {2416#true} assume -2147483648 <= #t~ret28 && #t~ret28 <= 2147483647;call #t~mem29.base, #t~mem29.offset := read~$Pointer$(~t.base, 8 + ~t.offset, 4); {2416#true} is VALID [2022-02-20 17:10:46,869 INFO L272 TraceCheckUtils]: 45: Hoare triple {2416#true} call #t~ret30 := size(#t~mem29.base, #t~mem29.offset); {2416#true} is VALID [2022-02-20 17:10:46,869 INFO L290 TraceCheckUtils]: 46: Hoare triple {2416#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {2416#true} is VALID [2022-02-20 17:10:46,869 INFO L290 TraceCheckUtils]: 47: Hoare triple {2416#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {2416#true} is VALID [2022-02-20 17:10:46,869 INFO L290 TraceCheckUtils]: 48: Hoare triple {2416#true} assume true; {2416#true} is VALID [2022-02-20 17:10:46,869 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {2416#true} {2416#true} #141#return; {2416#true} is VALID [2022-02-20 17:10:46,869 INFO L290 TraceCheckUtils]: 50: Hoare triple {2416#true} assume -2147483648 <= #t~ret30 && #t~ret30 <= 2147483647;#res := 1 + (#t~ret28 + #t~ret30);havoc #t~mem27.base, #t~mem27.offset;havoc #t~ret28;havoc #t~mem29.base, #t~mem29.offset;havoc #t~ret30; {2416#true} is VALID [2022-02-20 17:10:46,869 INFO L290 TraceCheckUtils]: 51: Hoare triple {2416#true} assume true; {2416#true} is VALID [2022-02-20 17:10:46,870 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {2416#true} {2450#(not (= |ULTIMATE.start_task_~t#1.base| 0))} #147#return; {2450#(not (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 17:10:46,870 INFO L290 TraceCheckUtils]: 53: Hoare triple {2450#(not (= |ULTIMATE.start_task_~t#1.base| 0))} assume -2147483648 <= task_#t~ret32#1 && task_#t~ret32#1 <= 2147483647;task_~n~1#1 := task_#t~ret32#1;havoc task_#t~ret32#1;assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if 0 != task_~n~1#1 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {2450#(not (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 17:10:46,870 INFO L290 TraceCheckUtils]: 54: Hoare triple {2450#(not (= |ULTIMATE.start_task_~t#1.base| 0))} assume !(0 == assume_abort_if_not_~cond#1); {2450#(not (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 17:10:46,871 INFO L290 TraceCheckUtils]: 55: Hoare triple {2450#(not (= |ULTIMATE.start_task_~t#1.base| 0))} assume { :end_inline_assume_abort_if_not } true;call task_#t~malloc33#1.base, task_#t~malloc33#1.offset := #Ultimate.allocOnHeap(4 * task_~n~1#1); {2450#(not (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 17:10:46,871 INFO L272 TraceCheckUtils]: 56: Hoare triple {2450#(not (= |ULTIMATE.start_task_~t#1.base| 0))} call #Ultimate.meminit(task_#t~malloc33#1.base, task_#t~malloc33#1.offset, task_~n~1#1, 4, 4 * task_~n~1#1); {2416#true} is VALID [2022-02-20 17:10:46,871 INFO L290 TraceCheckUtils]: 57: Hoare triple {2416#true} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {2416#true} is VALID [2022-02-20 17:10:46,871 INFO L290 TraceCheckUtils]: 58: Hoare triple {2416#true} assume true; {2416#true} is VALID [2022-02-20 17:10:46,871 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {2416#true} {2450#(not (= |ULTIMATE.start_task_~t#1.base| 0))} #149#return; {2450#(not (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 17:10:46,871 INFO L290 TraceCheckUtils]: 60: Hoare triple {2450#(not (= |ULTIMATE.start_task_~t#1.base| 0))} task_~x~0#1.base, task_~x~0#1.offset := task_#t~malloc33#1.base, task_#t~malloc33#1.offset; {2450#(not (= |ULTIMATE.start_task_~t#1.base| 0))} is VALID [2022-02-20 17:10:46,872 INFO L272 TraceCheckUtils]: 61: Hoare triple {2450#(not (= |ULTIMATE.start_task_~t#1.base| 0))} call task_#t~ret34#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); {2416#true} is VALID [2022-02-20 17:10:46,872 INFO L290 TraceCheckUtils]: 62: Hoare triple {2416#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~i := #in~i; {2504#(= |tree_inorder_#in~t.base| tree_inorder_~t.base)} is VALID [2022-02-20 17:10:46,872 INFO L290 TraceCheckUtils]: 63: Hoare triple {2504#(= |tree_inorder_#in~t.base| tree_inorder_~t.base)} assume ~t.base == 0 && ~t.offset == 0;#res := ~i; {2505#(= |tree_inorder_#in~t.base| 0)} is VALID [2022-02-20 17:10:46,872 INFO L290 TraceCheckUtils]: 64: Hoare triple {2505#(= |tree_inorder_#in~t.base| 0)} assume true; {2505#(= |tree_inorder_#in~t.base| 0)} is VALID [2022-02-20 17:10:46,873 INFO L284 TraceCheckUtils]: 65: Hoare quadruple {2505#(= |tree_inorder_#in~t.base| 0)} {2450#(not (= |ULTIMATE.start_task_~t#1.base| 0))} #151#return; {2417#false} is VALID [2022-02-20 17:10:46,873 INFO L290 TraceCheckUtils]: 66: Hoare triple {2417#false} assume -2147483648 <= task_#t~ret34#1 && task_#t~ret34#1 <= 2147483647;havoc task_#t~ret34#1;call task_#t~mem35#1 := read~int(task_~x~0#1.base, task_~x~0#1.offset, 4); {2417#false} is VALID [2022-02-20 17:10:46,873 INFO L272 TraceCheckUtils]: 67: Hoare triple {2417#false} call __VERIFIER_assert((if task_~a~1#1 == task_#t~mem35#1 then 1 else 0)); {2417#false} is VALID [2022-02-20 17:10:46,873 INFO L290 TraceCheckUtils]: 68: Hoare triple {2417#false} ~cond := #in~cond; {2417#false} is VALID [2022-02-20 17:10:46,873 INFO L290 TraceCheckUtils]: 69: Hoare triple {2417#false} assume 0 == ~cond; {2417#false} is VALID [2022-02-20 17:10:46,873 INFO L290 TraceCheckUtils]: 70: Hoare triple {2417#false} assume !false; {2417#false} is VALID [2022-02-20 17:10:46,874 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 17:10:46,874 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 17:10:46,874 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [766951714] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:10:46,874 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 17:10:46,874 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [15] total 18 [2022-02-20 17:10:46,874 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [317824229] [2022-02-20 17:10:46,874 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:10:46,874 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 17:10:46,875 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:10:46,875 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 17:10:46,915 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 17:10:46,915 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-02-20 17:10:46,915 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:10:46,916 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-02-20 17:10:46,916 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=37, Invalid=269, Unknown=0, NotChecked=0, Total=306 [2022-02-20 17:10:46,916 INFO L87 Difference]: Start difference. First operand 82 states and 107 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 17:10:47,409 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:10:47,409 INFO L93 Difference]: Finished difference Result 133 states and 174 transitions. [2022-02-20 17:10:47,409 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 17:10:47,410 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 17:10:47,410 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:10:47,410 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 17:10:47,412 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 163 transitions. [2022-02-20 17:10:47,412 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 17:10:47,414 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 163 transitions. [2022-02-20 17:10:47,414 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 163 transitions. [2022-02-20 17:10:47,518 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 163 edges. 163 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:10:47,520 INFO L225 Difference]: With dead ends: 133 [2022-02-20 17:10:47,520 INFO L226 Difference]: Without dead ends: 84 [2022-02-20 17:10:47,521 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 105 GetRequests, 86 SyntacticMatches, 0 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=49, Invalid=371, Unknown=0, NotChecked=0, Total=420 [2022-02-20 17:10:47,521 INFO L933 BasicCegarLoop]: 89 mSDtfsCounter, 48 mSDsluCounter, 444 mSDsCounter, 0 mSdLazyCounter, 79 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 52 SdHoareTripleChecker+Valid, 533 SdHoareTripleChecker+Invalid, 100 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 79 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 17:10:47,522 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [52 Valid, 533 Invalid, 100 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 79 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 17:10:47,522 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2022-02-20 17:10:47,538 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 84. [2022-02-20 17:10:47,539 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:10:47,539 INFO L82 GeneralOperation]: Start isEquivalent. First operand 84 states. Second operand has 84 states, 53 states have (on average 1.150943396226415) internal successors, (61), 57 states have internal predecessors, (61), 20 states have call successors, (20), 6 states have call predecessors, (20), 10 states have return successors, (30), 20 states have call predecessors, (30), 20 states have call successors, (30) [2022-02-20 17:10:47,540 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand has 84 states, 53 states have (on average 1.150943396226415) internal successors, (61), 57 states have internal predecessors, (61), 20 states have call successors, (20), 6 states have call predecessors, (20), 10 states have return successors, (30), 20 states have call predecessors, (30), 20 states have call successors, (30) [2022-02-20 17:10:47,540 INFO L87 Difference]: Start difference. First operand 84 states. Second operand has 84 states, 53 states have (on average 1.150943396226415) internal successors, (61), 57 states have internal predecessors, (61), 20 states have call successors, (20), 6 states have call predecessors, (20), 10 states have return successors, (30), 20 states have call predecessors, (30), 20 states have call successors, (30) [2022-02-20 17:10:47,542 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:10:47,544 INFO L93 Difference]: Finished difference Result 84 states and 111 transitions. [2022-02-20 17:10:47,544 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 111 transitions. [2022-02-20 17:10:47,544 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:10:47,544 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:10:47,545 INFO L74 IsIncluded]: Start isIncluded. First operand has 84 states, 53 states have (on average 1.150943396226415) internal successors, (61), 57 states have internal predecessors, (61), 20 states have call successors, (20), 6 states have call predecessors, (20), 10 states have return successors, (30), 20 states have call predecessors, (30), 20 states have call successors, (30) Second operand 84 states. [2022-02-20 17:10:47,545 INFO L87 Difference]: Start difference. First operand has 84 states, 53 states have (on average 1.150943396226415) internal successors, (61), 57 states have internal predecessors, (61), 20 states have call successors, (20), 6 states have call predecessors, (20), 10 states have return successors, (30), 20 states have call predecessors, (30), 20 states have call successors, (30) Second operand 84 states. [2022-02-20 17:10:47,550 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:10:47,551 INFO L93 Difference]: Finished difference Result 84 states and 111 transitions. [2022-02-20 17:10:47,551 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 111 transitions. [2022-02-20 17:10:47,551 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:10:47,551 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:10:47,551 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:10:47,551 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:10:47,552 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 84 states, 53 states have (on average 1.150943396226415) internal successors, (61), 57 states have internal predecessors, (61), 20 states have call successors, (20), 6 states have call predecessors, (20), 10 states have return successors, (30), 20 states have call predecessors, (30), 20 states have call successors, (30) [2022-02-20 17:10:47,554 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 84 states to 84 states and 111 transitions. [2022-02-20 17:10:47,554 INFO L78 Accepts]: Start accepts. Automaton has 84 states and 111 transitions. Word has length 71 [2022-02-20 17:10:47,554 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:10:47,554 INFO L470 AbstractCegarLoop]: Abstraction has 84 states and 111 transitions. [2022-02-20 17:10:47,554 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 17:10:47,554 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 111 transitions. [2022-02-20 17:10:47,556 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 84 [2022-02-20 17:10:47,556 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:10:47,556 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 17:10:47,575 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 17:10:47,771 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:10:47,771 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:10:47,772 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:10:47,772 INFO L85 PathProgramCache]: Analyzing trace with hash 1969188871, now seen corresponding path program 1 times [2022-02-20 17:10:47,772 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:10:47,772 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1738636335] [2022-02-20 17:10:47,772 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:10:47,772 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:10:47,818 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 17:10:47,818 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-02-20 17:10:47,842 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 17:10:47,862 INFO L138 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-02-20 17:10:47,862 INFO L628 BasicCegarLoop]: Counterexample is feasible [2022-02-20 17:10:47,863 INFO L764 garLoopResultBuilder]: Registering result UNSAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-02-20 17:10:47,864 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2022-02-20 17:10:47,866 INFO L732 BasicCegarLoop]: Path program histogram: [1, 1, 1, 1, 1, 1] [2022-02-20 17:10:47,870 INFO L180 ceAbstractionStarter]: Computing trace abstraction results [2022-02-20 17:10:47,904 FATAL L489 DefaultTranslator]: Callstack has procedure call flag but succeeding procedure is empty at [CALL] call #t~ret44 := nondet_tree(); [2022-02-20 17:10:47,904 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 17:10:47,910 INFO L158 Benchmark]: Toolchain (without parser) took 9109.10ms. Allocated memory was 94.4MB in the beginning and 188.7MB in the end (delta: 94.4MB). Free memory was 67.8MB in the beginning and 79.8MB in the end (delta: -12.1MB). Peak memory consumption was 81.6MB. Max. memory is 16.1GB. [2022-02-20 17:10:47,910 INFO L158 Benchmark]: CDTParser took 0.14ms. Allocated memory is still 94.4MB. Free memory is still 53.7MB. There was no memory consumed. Max. memory is 16.1GB. [2022-02-20 17:10:47,911 INFO L158 Benchmark]: CACSL2BoogieTranslator took 216.97ms. Allocated memory was 94.4MB in the beginning and 130.0MB in the end (delta: 35.7MB). Free memory was 67.5MB in the beginning and 103.3MB in the end (delta: -35.8MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2022-02-20 17:10:47,911 INFO L158 Benchmark]: Boogie Procedure Inliner took 43.46ms. Allocated memory is still 130.0MB. Free memory was 103.3MB in the beginning and 100.9MB in the end (delta: 2.4MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2022-02-20 17:10:47,911 INFO L158 Benchmark]: Boogie Preprocessor took 32.97ms. Allocated memory is still 130.0MB. Free memory was 100.9MB in the beginning and 98.8MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2022-02-20 17:10:47,911 INFO L158 Benchmark]: RCFGBuilder took 566.10ms. Allocated memory is still 130.0MB. Free memory was 98.3MB in the beginning and 76.2MB in the end (delta: 22.2MB). Peak memory consumption was 23.1MB. Max. memory is 16.1GB. [2022-02-20 17:10:47,912 INFO L158 Benchmark]: TraceAbstraction took 8245.08ms. Allocated memory was 130.0MB in the beginning and 188.7MB in the end (delta: 58.7MB). Free memory was 75.7MB in the beginning and 79.8MB in the end (delta: -4.1MB). Peak memory consumption was 56.0MB. Max. memory is 16.1GB. [2022-02-20 17:10:47,913 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.14ms. Allocated memory is still 94.4MB. Free memory is still 53.7MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 216.97ms. Allocated memory was 94.4MB in the beginning and 130.0MB in the end (delta: 35.7MB). Free memory was 67.5MB in the beginning and 103.3MB in the end (delta: -35.8MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 43.46ms. Allocated memory is still 130.0MB. Free memory was 103.3MB in the beginning and 100.9MB in the end (delta: 2.4MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * Boogie Preprocessor took 32.97ms. Allocated memory is still 130.0MB. Free memory was 100.9MB in the beginning and 98.8MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * RCFGBuilder took 566.10ms. Allocated memory is still 130.0MB. Free memory was 98.3MB in the beginning and 76.2MB in the end (delta: 22.2MB). Peak memory consumption was 23.1MB. Max. memory is 16.1GB. * TraceAbstraction took 8245.08ms. Allocated memory was 130.0MB in the beginning and 188.7MB in the end (delta: 58.7MB). Free memory was 75.7MB in the beginning and 79.8MB in the end (delta: -4.1MB). Peak memory consumption was 56.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 17:10:47,936 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_iter_incorrect.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 11dfc9c267e4b15a18edd43bd8f373e4d6af1fa864b5f35e9818e0875ad24411 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 17:10:49,591 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 17:10:49,594 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 17:10:49,622 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 17:10:49,622 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 17:10:49,625 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 17:10:49,626 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 17:10:49,630 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 17:10:49,632 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 17:10:49,636 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 17:10:49,637 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 17:10:49,638 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 17:10:49,638 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 17:10:49,640 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 17:10:49,641 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 17:10:49,646 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 17:10:49,647 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 17:10:49,647 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 17:10:49,648 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 17:10:49,649 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 17:10:49,650 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 17:10:49,651 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 17:10:49,652 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 17:10:49,652 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 17:10:49,653 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 17:10:49,654 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 17:10:49,654 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 17:10:49,654 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 17:10:49,654 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 17:10:49,655 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 17:10:49,655 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 17:10:49,656 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 17:10:49,656 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 17:10:49,656 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 17:10:49,657 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 17:10:49,657 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 17:10:49,657 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 17:10:49,657 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 17:10:49,658 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 17:10:49,658 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 17:10:49,658 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 17:10:49,659 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Bitvector.epf [2022-02-20 17:10:49,687 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 17:10:49,687 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 17:10:49,688 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 17:10:49,688 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 17:10:49,689 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 17:10:49,689 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 17:10:49,690 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 17:10:49,690 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 17:10:49,690 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 17:10:49,690 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 17:10:49,691 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 17:10:49,691 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 17:10:49,691 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 17:10:49,691 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 17:10:49,691 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 17:10:49,691 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 17:10:49,692 INFO L138 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2022-02-20 17:10:49,692 INFO L138 SettingsManager]: * Use bitvectors instead of ints=true [2022-02-20 17:10:49,692 INFO L138 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2022-02-20 17:10:49,692 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 17:10:49,692 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 17:10:49,692 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 17:10:49,692 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 17:10:49,693 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 17:10:49,693 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 17:10:49,693 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 17:10:49,693 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 17:10:49,693 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 17:10:49,699 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 17:10:49,699 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 17:10:49,700 INFO L138 SettingsManager]: * Trace refinement strategy=WOLF [2022-02-20 17:10:49,700 INFO L138 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2022-02-20 17:10:49,700 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 17:10:49,700 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 17:10:49,701 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 17:10:49,701 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2022-02-20 17:10:49,701 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 -> 11dfc9c267e4b15a18edd43bd8f373e4d6af1fa864b5f35e9818e0875ad24411 [2022-02-20 17:10:49,920 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 17:10:49,933 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 17:10:49,934 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 17:10:49,935 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 17:10:49,947 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 17:10:49,948 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/verifythis/tree_del_iter_incorrect.c [2022-02-20 17:10:49,997 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9779a7fb2/501b8858853f4b1891d1876eb425b3ea/FLAG5c5e5541c [2022-02-20 17:10:50,379 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 17:10:50,379 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/verifythis/tree_del_iter_incorrect.c [2022-02-20 17:10:50,388 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9779a7fb2/501b8858853f4b1891d1876eb425b3ea/FLAG5c5e5541c [2022-02-20 17:10:50,778 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9779a7fb2/501b8858853f4b1891d1876eb425b3ea [2022-02-20 17:10:50,779 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 17:10:50,781 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 17:10:50,783 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 17:10:50,783 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 17:10:50,786 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 17:10:50,786 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 05:10:50" (1/1) ... [2022-02-20 17:10:50,788 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@5778d4f9 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:10:50, skipping insertion in model container [2022-02-20 17:10:50,788 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 05:10:50" (1/1) ... [2022-02-20 17:10:50,793 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 17:10:50,806 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 17:10:50,886 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_iter_incorrect.c[619,632] [2022-02-20 17:10:50,909 WARN L1545 CHandler]: Possible shadowing of function min [2022-02-20 17:10:50,928 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 17:10:50,978 INFO L200 MainTranslator]: Restarting translation with changed settings: SettingsChange [mNewPreferredMemoryModel=HoenickeLindenmann_1ByteResolution] [2022-02-20 17:10:50,981 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 17:10:50,991 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_iter_incorrect.c[619,632] [2022-02-20 17:10:51,003 WARN L1545 CHandler]: Possible shadowing of function min [2022-02-20 17:10:51,022 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 17:10:51,027 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 17:10:51,041 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_iter_incorrect.c[619,632] [2022-02-20 17:10:51,062 WARN L1545 CHandler]: Possible shadowing of function min [2022-02-20 17:10:51,071 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 17:10:51,083 INFO L208 MainTranslator]: Completed translation [2022-02-20 17:10:51,085 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:10:51 WrapperNode [2022-02-20 17:10:51,085 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 17:10:51,086 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 17:10:51,086 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 17:10:51,086 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 17:10:51,092 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:10:51" (1/1) ... [2022-02-20 17:10:51,109 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:10:51" (1/1) ... [2022-02-20 17:10:51,139 INFO L137 Inliner]: procedures = 31, calls = 61, calls flagged for inlining = 5, calls inlined = 5, statements flattened = 105 [2022-02-20 17:10:51,140 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 17:10:51,141 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 17:10:51,141 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 17:10:51,141 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 17:10:51,147 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:10:51" (1/1) ... [2022-02-20 17:10:51,147 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:10:51" (1/1) ... [2022-02-20 17:10:51,164 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:10:51" (1/1) ... [2022-02-20 17:10:51,164 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:10:51" (1/1) ... [2022-02-20 17:10:51,175 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:10:51" (1/1) ... [2022-02-20 17:10:51,187 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:10:51" (1/1) ... [2022-02-20 17:10:51,191 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:10:51" (1/1) ... [2022-02-20 17:10:51,197 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 17:10:51,201 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 17:10:51,202 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 17:10:51,202 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 17:10:51,203 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:10:51" (1/1) ... [2022-02-20 17:10:51,209 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 17:10:51,218 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:10:51,228 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 17:10:51,244 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 17:10:51,256 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 17:10:51,256 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1 [2022-02-20 17:10:51,256 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-02-20 17:10:51,256 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2022-02-20 17:10:51,257 INFO L130 BoogieDeclarations]: Found specification of procedure min [2022-02-20 17:10:51,257 INFO L138 BoogieDeclarations]: Found implementation of procedure min [2022-02-20 17:10:51,257 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2022-02-20 17:10:51,257 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.meminit [2022-02-20 17:10:51,257 INFO L138 BoogieDeclarations]: Found implementation of procedure #Ultimate.meminit [2022-02-20 17:10:51,258 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2022-02-20 17:10:51,258 INFO L130 BoogieDeclarations]: Found specification of procedure nondet_tree [2022-02-20 17:10:51,258 INFO L138 BoogieDeclarations]: Found implementation of procedure nondet_tree [2022-02-20 17:10:51,258 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2022-02-20 17:10:51,258 INFO L130 BoogieDeclarations]: Found specification of procedure size [2022-02-20 17:10:51,258 INFO L138 BoogieDeclarations]: Found implementation of procedure size [2022-02-20 17:10:51,258 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 17:10:51,259 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 17:10:51,259 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-02-20 17:10:51,259 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-02-20 17:10:51,259 INFO L130 BoogieDeclarations]: Found specification of procedure tree_inorder [2022-02-20 17:10:51,259 INFO L138 BoogieDeclarations]: Found implementation of procedure tree_inorder [2022-02-20 17:10:51,259 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 17:10:51,259 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2022-02-20 17:10:51,392 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 17:10:51,393 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 17:10:51,814 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 17:10:51,819 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 17:10:51,820 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-02-20 17:10:51,821 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 05:10:51 BoogieIcfgContainer [2022-02-20 17:10:51,821 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 17:10:51,822 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 17:10:51,822 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 17:10:51,824 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 17:10:51,824 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 05:10:50" (1/3) ... [2022-02-20 17:10:51,825 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7f5535eb and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 05:10:51, skipping insertion in model container [2022-02-20 17:10:51,825 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:10:51" (2/3) ... [2022-02-20 17:10:51,825 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7f5535eb and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 05:10:51, skipping insertion in model container [2022-02-20 17:10:51,825 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 05:10:51" (3/3) ... [2022-02-20 17:10:51,826 INFO L111 eAbstractionObserver]: Analyzing ICFG tree_del_iter_incorrect.c [2022-02-20 17:10:51,830 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 17:10:51,830 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 17:10:51,882 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 17:10:51,888 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 17:10:51,888 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-02-20 17:10:51,905 INFO L276 IsEmpty]: Start isEmpty. Operand has 81 states, 53 states have (on average 1.2452830188679245) internal successors, (66), 54 states have internal predecessors, (66), 20 states have call successors, (20), 6 states have call predecessors, (20), 6 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-02-20 17:10:51,912 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-02-20 17:10:51,912 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:10:51,913 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 17:10:51,913 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:10:51,918 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:10:51,918 INFO L85 PathProgramCache]: Analyzing trace with hash -858928279, now seen corresponding path program 1 times [2022-02-20 17:10:51,928 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 17:10:51,929 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [2133182296] [2022-02-20 17:10:51,929 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:10:51,930 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 17:10:51,930 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 17:10:51,932 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 17:10:51,933 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 17:10:52,026 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:52,030 INFO L263 TraceCheckSpWp]: Trace formula consists of 120 conjuncts, 1 conjunts are in the unsatisfiable core [2022-02-20 17:10:52,049 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:52,053 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:10:52,177 INFO L290 TraceCheckUtils]: 0: Hoare triple {84#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(26bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {84#true} is VALID [2022-02-20 17:10:52,177 INFO L290 TraceCheckUtils]: 1: Hoare triple {84#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret44#1.base, main_#t~ret44#1.offset; {84#true} is VALID [2022-02-20 17:10:52,177 INFO L272 TraceCheckUtils]: 2: Hoare triple {84#true} call main_#t~ret44#1.base, main_#t~ret44#1.offset := nondet_tree(); {84#true} is VALID [2022-02-20 17:10:52,178 INFO L290 TraceCheckUtils]: 3: Hoare triple {84#true} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {84#true} is VALID [2022-02-20 17:10:52,178 INFO L290 TraceCheckUtils]: 4: Hoare triple {84#true} assume true; {84#true} is VALID [2022-02-20 17:10:52,178 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {84#true} {84#true} #143#return; {84#true} is VALID [2022-02-20 17:10:52,178 INFO L290 TraceCheckUtils]: 6: Hoare triple {84#true} assume { :begin_inline_task } true;task_#in~t#1.base, task_#in~t#1.offset := main_#t~ret44#1.base, main_#t~ret44#1.offset;havoc task_#t~ret31#1, task_#t~ret32#1, task_#t~malloc33#1.base, task_#t~malloc33#1.offset, task_#t~ret34#1, task_#t~mem35#1, task_#t~ret36#1.base, task_#t~ret36#1.offset, task_#t~mem37#1, task_#t~ret38#1, task_#t~malloc39#1.base, task_#t~malloc39#1.offset, task_#t~ret40#1, task_#t~mem42#1, task_#t~mem43#1, task_#t~post41#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~0#1.base, task_~r~0#1.offset, task_~m~1#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; {84#true} is VALID [2022-02-20 17:10:52,178 INFO L272 TraceCheckUtils]: 7: Hoare triple {84#true} call task_#t~ret31#1 := min(task_~t#1.base, task_~t#1.offset); {84#true} is VALID [2022-02-20 17:10:52,178 INFO L290 TraceCheckUtils]: 8: Hoare triple {84#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {84#true} is VALID [2022-02-20 17:10:52,178 INFO L290 TraceCheckUtils]: 9: Hoare triple {84#true} assume ~n.base == 0bv32 && ~n.offset == 0bv32;#res := 2147483647bv32; {84#true} is VALID [2022-02-20 17:10:52,179 INFO L290 TraceCheckUtils]: 10: Hoare triple {84#true} assume true; {84#true} is VALID [2022-02-20 17:10:52,179 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {84#true} {84#true} #145#return; {84#true} is VALID [2022-02-20 17:10:52,179 INFO L290 TraceCheckUtils]: 12: Hoare triple {84#true} task_~a~1#1 := task_#t~ret31#1;havoc task_#t~ret31#1;call task_~#b~1#1.base, task_~#b~1#1.offset := #Ultimate.allocOnStack(4bv32); {84#true} is VALID [2022-02-20 17:10:52,182 INFO L272 TraceCheckUtils]: 13: Hoare triple {84#true} call task_#t~ret32#1 := size(task_~t#1.base, task_~t#1.offset); {84#true} is VALID [2022-02-20 17:10:52,182 INFO L290 TraceCheckUtils]: 14: Hoare triple {84#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {84#true} is VALID [2022-02-20 17:10:52,183 INFO L290 TraceCheckUtils]: 15: Hoare triple {84#true} assume ~t.base == 0bv32 && ~t.offset == 0bv32;#res := 0bv32; {84#true} is VALID [2022-02-20 17:10:52,183 INFO L290 TraceCheckUtils]: 16: Hoare triple {84#true} assume true; {84#true} is VALID [2022-02-20 17:10:52,183 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {84#true} {84#true} #147#return; {84#true} is VALID [2022-02-20 17:10:52,183 INFO L290 TraceCheckUtils]: 18: Hoare triple {84#true} task_~n~1#1 := task_#t~ret32#1;havoc task_#t~ret32#1;assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if 0bv32 != task_~n~1#1 then 1bv32 else 0bv32);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {84#true} is VALID [2022-02-20 17:10:52,184 INFO L290 TraceCheckUtils]: 19: Hoare triple {84#true} assume 0bv32 == assume_abort_if_not_~cond#1;assume false; {85#false} is VALID [2022-02-20 17:10:52,184 INFO L290 TraceCheckUtils]: 20: Hoare triple {85#false} assume { :end_inline_assume_abort_if_not } true;call task_#t~malloc33#1.base, task_#t~malloc33#1.offset := #Ultimate.allocOnHeap(~bvmul32(4bv32, task_~n~1#1)); {85#false} is VALID [2022-02-20 17:10:52,199 INFO L272 TraceCheckUtils]: 21: Hoare triple {85#false} call #Ultimate.meminit(task_#t~malloc33#1.base, task_#t~malloc33#1.offset, task_~n~1#1, 4bv32, ~bvmul32(4bv32, task_~n~1#1)); {85#false} is VALID [2022-02-20 17:10:52,199 INFO L290 TraceCheckUtils]: 22: Hoare triple {85#false} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {85#false} is VALID [2022-02-20 17:10:52,199 INFO L290 TraceCheckUtils]: 23: Hoare triple {85#false} assume true; {85#false} is VALID [2022-02-20 17:10:52,200 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {85#false} {85#false} #149#return; {85#false} is VALID [2022-02-20 17:10:52,200 INFO L290 TraceCheckUtils]: 25: Hoare triple {85#false} task_~x~0#1.base, task_~x~0#1.offset := task_#t~malloc33#1.base, task_#t~malloc33#1.offset; {85#false} is VALID [2022-02-20 17:10:52,200 INFO L272 TraceCheckUtils]: 26: Hoare triple {85#false} call task_#t~ret34#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); {85#false} is VALID [2022-02-20 17:10:52,200 INFO L290 TraceCheckUtils]: 27: Hoare triple {85#false} ~t.base, ~t.offset := #in~t.base, #in~t.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~i := #in~i; {85#false} is VALID [2022-02-20 17:10:52,200 INFO L290 TraceCheckUtils]: 28: Hoare triple {85#false} assume ~t.base == 0bv32 && ~t.offset == 0bv32;#res := ~i; {85#false} is VALID [2022-02-20 17:10:52,200 INFO L290 TraceCheckUtils]: 29: Hoare triple {85#false} assume true; {85#false} is VALID [2022-02-20 17:10:52,200 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {85#false} {85#false} #151#return; {85#false} is VALID [2022-02-20 17:10:52,201 INFO L290 TraceCheckUtils]: 31: Hoare triple {85#false} havoc task_#t~ret34#1;call task_#t~mem35#1 := read~intINTTYPE4(task_~x~0#1.base, task_~x~0#1.offset, 4bv32); {85#false} is VALID [2022-02-20 17:10:52,201 INFO L272 TraceCheckUtils]: 32: Hoare triple {85#false} call __VERIFIER_assert((if task_~a~1#1 == task_#t~mem35#1 then 1bv32 else 0bv32)); {85#false} is VALID [2022-02-20 17:10:52,201 INFO L290 TraceCheckUtils]: 33: Hoare triple {85#false} ~cond := #in~cond; {85#false} is VALID [2022-02-20 17:10:52,201 INFO L290 TraceCheckUtils]: 34: Hoare triple {85#false} assume 0bv32 == ~cond; {85#false} is VALID [2022-02-20 17:10:52,201 INFO L290 TraceCheckUtils]: 35: Hoare triple {85#false} assume !false; {85#false} is VALID [2022-02-20 17:10:52,202 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 17:10:52,202 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 17:10:52,202 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 17:10:52,203 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [2133182296] [2022-02-20 17:10:52,203 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [2133182296] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:10:52,203 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:10:52,203 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 17:10:52,204 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1400067276] [2022-02-20 17:10:52,205 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:10:52,208 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 12.5) internal successors, (25), 2 states have internal predecessors, (25), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 36 [2022-02-20 17:10:52,210 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:10:52,212 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 2 states, 2 states have (on average 12.5) internal successors, (25), 2 states have internal predecessors, (25), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 17:10:52,241 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 17:10:52,241 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 17:10:52,241 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 17:10:52,261 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 17:10:52,261 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 17:10:52,264 INFO L87 Difference]: Start difference. First operand has 81 states, 53 states have (on average 1.2452830188679245) internal successors, (66), 54 states have internal predecessors, (66), 20 states have call successors, (20), 6 states have call predecessors, (20), 6 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) Second operand has 2 states, 2 states have (on average 12.5) internal successors, (25), 2 states have internal predecessors, (25), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 17:10:52,451 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:10:52,451 INFO L93 Difference]: Finished difference Result 137 states and 182 transitions. [2022-02-20 17:10:52,451 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 17:10:52,451 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 12.5) internal successors, (25), 2 states have internal predecessors, (25), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 36 [2022-02-20 17:10:52,452 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:10:52,453 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 12.5) internal successors, (25), 2 states have internal predecessors, (25), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 17:10:52,462 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 182 transitions. [2022-02-20 17:10:52,463 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 12.5) internal successors, (25), 2 states have internal predecessors, (25), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 17:10:52,469 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 182 transitions. [2022-02-20 17:10:52,469 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 182 transitions. [2022-02-20 17:10:52,661 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 182 edges. 182 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:10:52,669 INFO L225 Difference]: With dead ends: 137 [2022-02-20 17:10:52,669 INFO L226 Difference]: Without dead ends: 76 [2022-02-20 17:10:52,672 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 35 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 17:10:52,674 INFO L933 BasicCegarLoop]: 102 mSDtfsCounter, 0 mSDsluCounter, 0 mSDsCounter, 0 mSdLazyCounter, 0 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 102 SdHoareTripleChecker+Invalid, 0 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 0 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:10:52,674 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 102 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:10:52,684 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 76 states. [2022-02-20 17:10:52,695 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 76 to 76. [2022-02-20 17:10:52,695 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:10:52,696 INFO L82 GeneralOperation]: Start isEquivalent. First operand 76 states. Second operand has 76 states, 49 states have (on average 1.163265306122449) internal successors, (57), 49 states have internal predecessors, (57), 20 states have call successors, (20), 6 states have call predecessors, (20), 6 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-02-20 17:10:52,697 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand has 76 states, 49 states have (on average 1.163265306122449) internal successors, (57), 49 states have internal predecessors, (57), 20 states have call successors, (20), 6 states have call predecessors, (20), 6 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-02-20 17:10:52,698 INFO L87 Difference]: Start difference. First operand 76 states. Second operand has 76 states, 49 states have (on average 1.163265306122449) internal successors, (57), 49 states have internal predecessors, (57), 20 states have call successors, (20), 6 states have call predecessors, (20), 6 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-02-20 17:10:52,703 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:10:52,704 INFO L93 Difference]: Finished difference Result 76 states and 97 transitions. [2022-02-20 17:10:52,704 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 97 transitions. [2022-02-20 17:10:52,705 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:10:52,705 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:10:52,706 INFO L74 IsIncluded]: Start isIncluded. First operand has 76 states, 49 states have (on average 1.163265306122449) internal successors, (57), 49 states have internal predecessors, (57), 20 states have call successors, (20), 6 states have call predecessors, (20), 6 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) Second operand 76 states. [2022-02-20 17:10:52,706 INFO L87 Difference]: Start difference. First operand has 76 states, 49 states have (on average 1.163265306122449) internal successors, (57), 49 states have internal predecessors, (57), 20 states have call successors, (20), 6 states have call predecessors, (20), 6 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) Second operand 76 states. [2022-02-20 17:10:52,711 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:10:52,711 INFO L93 Difference]: Finished difference Result 76 states and 97 transitions. [2022-02-20 17:10:52,711 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 97 transitions. [2022-02-20 17:10:52,712 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:10:52,712 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:10:52,712 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:10:52,712 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:10:52,713 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 76 states, 49 states have (on average 1.163265306122449) internal successors, (57), 49 states have internal predecessors, (57), 20 states have call successors, (20), 6 states have call predecessors, (20), 6 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-02-20 17:10:52,716 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 97 transitions. [2022-02-20 17:10:52,726 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 97 transitions. Word has length 36 [2022-02-20 17:10:52,726 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:10:52,726 INFO L470 AbstractCegarLoop]: Abstraction has 76 states and 97 transitions. [2022-02-20 17:10:52,727 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 12.5) internal successors, (25), 2 states have internal predecessors, (25), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 17:10:52,727 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 97 transitions. [2022-02-20 17:10:52,728 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-02-20 17:10:52,728 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:10:52,728 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 17:10:52,736 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (2)] Ended with exit code 0 [2022-02-20 17:10:52,934 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 17:10:52,935 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:10:52,935 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:10:52,935 INFO L85 PathProgramCache]: Analyzing trace with hash 1847691115, now seen corresponding path program 1 times [2022-02-20 17:10:52,936 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 17:10:52,936 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [244385493] [2022-02-20 17:10:52,936 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:10:52,936 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 17:10:52,936 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 17:10:52,937 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 17:10:52,939 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 17:10:52,995 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:52,998 INFO L263 TraceCheckSpWp]: Trace formula consists of 120 conjuncts, 6 conjunts are in the unsatisfiable core [2022-02-20 17:10:53,010 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:53,011 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:10:53,151 INFO L290 TraceCheckUtils]: 0: Hoare triple {636#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(26bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {636#true} is VALID [2022-02-20 17:10:53,152 INFO L290 TraceCheckUtils]: 1: Hoare triple {636#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret44#1.base, main_#t~ret44#1.offset; {636#true} is VALID [2022-02-20 17:10:53,152 INFO L272 TraceCheckUtils]: 2: Hoare triple {636#true} call main_#t~ret44#1.base, main_#t~ret44#1.offset := nondet_tree(); {636#true} is VALID [2022-02-20 17:10:53,152 INFO L290 TraceCheckUtils]: 3: Hoare triple {636#true} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {636#true} is VALID [2022-02-20 17:10:53,152 INFO L290 TraceCheckUtils]: 4: Hoare triple {636#true} assume true; {636#true} is VALID [2022-02-20 17:10:53,152 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {636#true} {636#true} #143#return; {636#true} is VALID [2022-02-20 17:10:53,152 INFO L290 TraceCheckUtils]: 6: Hoare triple {636#true} assume { :begin_inline_task } true;task_#in~t#1.base, task_#in~t#1.offset := main_#t~ret44#1.base, main_#t~ret44#1.offset;havoc task_#t~ret31#1, task_#t~ret32#1, task_#t~malloc33#1.base, task_#t~malloc33#1.offset, task_#t~ret34#1, task_#t~mem35#1, task_#t~ret36#1.base, task_#t~ret36#1.offset, task_#t~mem37#1, task_#t~ret38#1, task_#t~malloc39#1.base, task_#t~malloc39#1.offset, task_#t~ret40#1, task_#t~mem42#1, task_#t~mem43#1, task_#t~post41#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~0#1.base, task_~r~0#1.offset, task_~m~1#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; {636#true} is VALID [2022-02-20 17:10:53,153 INFO L272 TraceCheckUtils]: 7: Hoare triple {636#true} call task_#t~ret31#1 := min(task_~t#1.base, task_~t#1.offset); {636#true} is VALID [2022-02-20 17:10:53,153 INFO L290 TraceCheckUtils]: 8: Hoare triple {636#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {636#true} is VALID [2022-02-20 17:10:53,153 INFO L290 TraceCheckUtils]: 9: Hoare triple {636#true} assume ~n.base == 0bv32 && ~n.offset == 0bv32;#res := 2147483647bv32; {636#true} is VALID [2022-02-20 17:10:53,153 INFO L290 TraceCheckUtils]: 10: Hoare triple {636#true} assume true; {636#true} is VALID [2022-02-20 17:10:53,153 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {636#true} {636#true} #145#return; {636#true} is VALID [2022-02-20 17:10:53,153 INFO L290 TraceCheckUtils]: 12: Hoare triple {636#true} task_~a~1#1 := task_#t~ret31#1;havoc task_#t~ret31#1;call task_~#b~1#1.base, task_~#b~1#1.offset := #Ultimate.allocOnStack(4bv32); {636#true} is VALID [2022-02-20 17:10:53,153 INFO L272 TraceCheckUtils]: 13: Hoare triple {636#true} call task_#t~ret32#1 := size(task_~t#1.base, task_~t#1.offset); {636#true} is VALID [2022-02-20 17:10:53,154 INFO L290 TraceCheckUtils]: 14: Hoare triple {636#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {636#true} is VALID [2022-02-20 17:10:53,154 INFO L290 TraceCheckUtils]: 15: Hoare triple {636#true} assume ~t.base == 0bv32 && ~t.offset == 0bv32;#res := 0bv32; {686#(= |size_#res| (_ bv0 32))} is VALID [2022-02-20 17:10:53,154 INFO L290 TraceCheckUtils]: 16: Hoare triple {686#(= |size_#res| (_ bv0 32))} assume true; {686#(= |size_#res| (_ bv0 32))} is VALID [2022-02-20 17:10:53,166 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {686#(= |size_#res| (_ bv0 32))} {636#true} #147#return; {693#(= |ULTIMATE.start_task_#t~ret32#1| (_ bv0 32))} is VALID [2022-02-20 17:10:53,167 INFO L290 TraceCheckUtils]: 18: Hoare triple {693#(= |ULTIMATE.start_task_#t~ret32#1| (_ bv0 32))} task_~n~1#1 := task_#t~ret32#1;havoc task_#t~ret32#1;assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if 0bv32 != task_~n~1#1 then 1bv32 else 0bv32);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {697#(= |ULTIMATE.start_assume_abort_if_not_~cond#1| (_ bv0 32))} is VALID [2022-02-20 17:10:53,168 INFO L290 TraceCheckUtils]: 19: Hoare triple {697#(= |ULTIMATE.start_assume_abort_if_not_~cond#1| (_ bv0 32))} assume !(0bv32 == assume_abort_if_not_~cond#1); {637#false} is VALID [2022-02-20 17:10:53,168 INFO L290 TraceCheckUtils]: 20: Hoare triple {637#false} assume { :end_inline_assume_abort_if_not } true;call task_#t~malloc33#1.base, task_#t~malloc33#1.offset := #Ultimate.allocOnHeap(~bvmul32(4bv32, task_~n~1#1)); {637#false} is VALID [2022-02-20 17:10:53,168 INFO L272 TraceCheckUtils]: 21: Hoare triple {637#false} call #Ultimate.meminit(task_#t~malloc33#1.base, task_#t~malloc33#1.offset, task_~n~1#1, 4bv32, ~bvmul32(4bv32, task_~n~1#1)); {637#false} is VALID [2022-02-20 17:10:53,168 INFO L290 TraceCheckUtils]: 22: Hoare triple {637#false} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {637#false} is VALID [2022-02-20 17:10:53,168 INFO L290 TraceCheckUtils]: 23: Hoare triple {637#false} assume true; {637#false} is VALID [2022-02-20 17:10:53,169 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {637#false} {637#false} #149#return; {637#false} is VALID [2022-02-20 17:10:53,169 INFO L290 TraceCheckUtils]: 25: Hoare triple {637#false} task_~x~0#1.base, task_~x~0#1.offset := task_#t~malloc33#1.base, task_#t~malloc33#1.offset; {637#false} is VALID [2022-02-20 17:10:53,169 INFO L272 TraceCheckUtils]: 26: Hoare triple {637#false} call task_#t~ret34#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); {637#false} is VALID [2022-02-20 17:10:53,169 INFO L290 TraceCheckUtils]: 27: Hoare triple {637#false} ~t.base, ~t.offset := #in~t.base, #in~t.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~i := #in~i; {637#false} is VALID [2022-02-20 17:10:53,169 INFO L290 TraceCheckUtils]: 28: Hoare triple {637#false} assume ~t.base == 0bv32 && ~t.offset == 0bv32;#res := ~i; {637#false} is VALID [2022-02-20 17:10:53,170 INFO L290 TraceCheckUtils]: 29: Hoare triple {637#false} assume true; {637#false} is VALID [2022-02-20 17:10:53,170 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {637#false} {637#false} #151#return; {637#false} is VALID [2022-02-20 17:10:53,170 INFO L290 TraceCheckUtils]: 31: Hoare triple {637#false} havoc task_#t~ret34#1;call task_#t~mem35#1 := read~intINTTYPE4(task_~x~0#1.base, task_~x~0#1.offset, 4bv32); {637#false} is VALID [2022-02-20 17:10:53,170 INFO L272 TraceCheckUtils]: 32: Hoare triple {637#false} call __VERIFIER_assert((if task_~a~1#1 == task_#t~mem35#1 then 1bv32 else 0bv32)); {637#false} is VALID [2022-02-20 17:10:53,171 INFO L290 TraceCheckUtils]: 33: Hoare triple {637#false} ~cond := #in~cond; {637#false} is VALID [2022-02-20 17:10:53,171 INFO L290 TraceCheckUtils]: 34: Hoare triple {637#false} assume 0bv32 == ~cond; {637#false} is VALID [2022-02-20 17:10:53,171 INFO L290 TraceCheckUtils]: 35: Hoare triple {637#false} assume !false; {637#false} is VALID [2022-02-20 17:10:53,172 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 17:10:53,172 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 17:10:53,172 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 17:10:53,172 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [244385493] [2022-02-20 17:10:53,172 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [244385493] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:10:53,173 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:10:53,173 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 17:10:53,173 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [810895509] [2022-02-20 17:10:53,173 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:10:53,174 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 17:10:53,175 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:10:53,176 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 17:10:53,205 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 17:10:53,205 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:10:53,206 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 17:10:53,206 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:10:53,206 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:10:53,207 INFO L87 Difference]: Start difference. First operand 76 states and 97 transitions. 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 17:10:53,645 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:10:53,645 INFO L93 Difference]: Finished difference Result 131 states and 168 transitions. [2022-02-20 17:10:53,645 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:10:53,646 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 17:10:53,646 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:10:53,646 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 17:10:53,649 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 168 transitions. [2022-02-20 17:10:53,650 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 17:10:53,652 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 168 transitions. [2022-02-20 17:10:53,652 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 168 transitions. [2022-02-20 17:10:53,810 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 168 edges. 168 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:10:53,812 INFO L225 Difference]: With dead ends: 131 [2022-02-20 17:10:53,813 INFO L226 Difference]: Without dead ends: 78 [2022-02-20 17:10:53,813 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 17:10:53,814 INFO L933 BasicCegarLoop]: 96 mSDtfsCounter, 0 mSDsluCounter, 284 mSDsCounter, 0 mSdLazyCounter, 7 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 380 SdHoareTripleChecker+Invalid, 7 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 7 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:10:53,814 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 380 Invalid, 7 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 7 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:10:53,815 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 78 states. [2022-02-20 17:10:53,820 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 78 to 78. [2022-02-20 17:10:53,820 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:10:53,820 INFO L82 GeneralOperation]: Start isEquivalent. First operand 78 states. Second operand has 78 states, 50 states have (on average 1.16) internal successors, (58), 51 states have internal predecessors, (58), 20 states have call successors, (20), 6 states have call predecessors, (20), 7 states have return successors, (23), 20 states have call predecessors, (23), 20 states have call successors, (23) [2022-02-20 17:10:53,821 INFO L74 IsIncluded]: Start isIncluded. First operand 78 states. Second operand has 78 states, 50 states have (on average 1.16) internal successors, (58), 51 states have internal predecessors, (58), 20 states have call successors, (20), 6 states have call predecessors, (20), 7 states have return successors, (23), 20 states have call predecessors, (23), 20 states have call successors, (23) [2022-02-20 17:10:53,821 INFO L87 Difference]: Start difference. First operand 78 states. Second operand has 78 states, 50 states have (on average 1.16) internal successors, (58), 51 states have internal predecessors, (58), 20 states have call successors, (20), 6 states have call predecessors, (20), 7 states have return successors, (23), 20 states have call predecessors, (23), 20 states have call successors, (23) [2022-02-20 17:10:53,824 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:10:53,824 INFO L93 Difference]: Finished difference Result 78 states and 101 transitions. [2022-02-20 17:10:53,824 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 101 transitions. [2022-02-20 17:10:53,825 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:10:53,826 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:10:53,826 INFO L74 IsIncluded]: Start isIncluded. First operand has 78 states, 50 states have (on average 1.16) internal successors, (58), 51 states have internal predecessors, (58), 20 states have call successors, (20), 6 states have call predecessors, (20), 7 states have return successors, (23), 20 states have call predecessors, (23), 20 states have call successors, (23) Second operand 78 states. [2022-02-20 17:10:53,826 INFO L87 Difference]: Start difference. First operand has 78 states, 50 states have (on average 1.16) internal successors, (58), 51 states have internal predecessors, (58), 20 states have call successors, (20), 6 states have call predecessors, (20), 7 states have return successors, (23), 20 states have call predecessors, (23), 20 states have call successors, (23) Second operand 78 states. [2022-02-20 17:10:53,830 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:10:53,830 INFO L93 Difference]: Finished difference Result 78 states and 101 transitions. [2022-02-20 17:10:53,830 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 101 transitions. [2022-02-20 17:10:53,831 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:10:53,835 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:10:53,835 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:10:53,836 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:10:53,836 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 78 states, 50 states have (on average 1.16) internal successors, (58), 51 states have internal predecessors, (58), 20 states have call successors, (20), 6 states have call predecessors, (20), 7 states have return successors, (23), 20 states have call predecessors, (23), 20 states have call successors, (23) [2022-02-20 17:10:53,839 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 101 transitions. [2022-02-20 17:10:53,842 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 101 transitions. Word has length 36 [2022-02-20 17:10:53,842 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:10:53,842 INFO L470 AbstractCegarLoop]: Abstraction has 78 states and 101 transitions. [2022-02-20 17:10:53,843 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 17:10:53,843 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 101 transitions. [2022-02-20 17:10:53,844 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-02-20 17:10:53,844 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:10:53,844 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 17:10:53,866 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (3)] Forceful destruction successful, exit code 0 [2022-02-20 17:10:54,053 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 17:10:54,053 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:10:54,053 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:10:54,053 INFO L85 PathProgramCache]: Analyzing trace with hash 289307572, now seen corresponding path program 1 times [2022-02-20 17:10:54,054 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 17:10:54,054 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1080337424] [2022-02-20 17:10:54,054 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:10:54,054 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 17:10:54,054 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 17:10:54,055 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 17:10:54,057 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 17:10:54,118 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:54,121 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 13 conjunts are in the unsatisfiable core [2022-02-20 17:10:54,139 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:54,142 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:10:54,361 INFO L290 TraceCheckUtils]: 0: Hoare triple {1191#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(26bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {1191#true} is VALID [2022-02-20 17:10:54,361 INFO L290 TraceCheckUtils]: 1: Hoare triple {1191#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret44#1.base, main_#t~ret44#1.offset; {1191#true} is VALID [2022-02-20 17:10:54,361 INFO L272 TraceCheckUtils]: 2: Hoare triple {1191#true} call main_#t~ret44#1.base, main_#t~ret44#1.offset := nondet_tree(); {1191#true} is VALID [2022-02-20 17:10:54,361 INFO L290 TraceCheckUtils]: 3: Hoare triple {1191#true} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {1205#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} is VALID [2022-02-20 17:10:54,363 INFO L290 TraceCheckUtils]: 4: Hoare triple {1205#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} assume true; {1205#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} is VALID [2022-02-20 17:10:54,363 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {1205#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} {1191#true} #143#return; {1212#(and (= |ULTIMATE.start_main_#t~ret44#1.base| (_ bv0 32)) (= (_ bv0 32) |ULTIMATE.start_main_#t~ret44#1.offset|))} is VALID [2022-02-20 17:10:54,364 INFO L290 TraceCheckUtils]: 6: Hoare triple {1212#(and (= |ULTIMATE.start_main_#t~ret44#1.base| (_ bv0 32)) (= (_ bv0 32) |ULTIMATE.start_main_#t~ret44#1.offset|))} assume { :begin_inline_task } true;task_#in~t#1.base, task_#in~t#1.offset := main_#t~ret44#1.base, main_#t~ret44#1.offset;havoc task_#t~ret31#1, task_#t~ret32#1, task_#t~malloc33#1.base, task_#t~malloc33#1.offset, task_#t~ret34#1, task_#t~mem35#1, task_#t~ret36#1.base, task_#t~ret36#1.offset, task_#t~mem37#1, task_#t~ret38#1, task_#t~malloc39#1.base, task_#t~malloc39#1.offset, task_#t~ret40#1, task_#t~mem42#1, task_#t~mem43#1, task_#t~post41#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~0#1.base, task_~r~0#1.offset, task_~m~1#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; {1216#(and (= (_ bv0 32) |ULTIMATE.start_task_~t#1.offset|) (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} is VALID [2022-02-20 17:10:54,364 INFO L272 TraceCheckUtils]: 7: Hoare triple {1216#(and (= (_ bv0 32) |ULTIMATE.start_task_~t#1.offset|) (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} call task_#t~ret31#1 := min(task_~t#1.base, task_~t#1.offset); {1191#true} is VALID [2022-02-20 17:10:54,364 INFO L290 TraceCheckUtils]: 8: Hoare triple {1191#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {1191#true} is VALID [2022-02-20 17:10:54,364 INFO L290 TraceCheckUtils]: 9: Hoare triple {1191#true} assume ~n.base == 0bv32 && ~n.offset == 0bv32;#res := 2147483647bv32; {1191#true} is VALID [2022-02-20 17:10:54,364 INFO L290 TraceCheckUtils]: 10: Hoare triple {1191#true} assume true; {1191#true} is VALID [2022-02-20 17:10:54,365 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {1191#true} {1216#(and (= (_ bv0 32) |ULTIMATE.start_task_~t#1.offset|) (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} #145#return; {1216#(and (= (_ bv0 32) |ULTIMATE.start_task_~t#1.offset|) (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} is VALID [2022-02-20 17:10:54,367 INFO L290 TraceCheckUtils]: 12: Hoare triple {1216#(and (= (_ bv0 32) |ULTIMATE.start_task_~t#1.offset|) (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} task_~a~1#1 := task_#t~ret31#1;havoc task_#t~ret31#1;call task_~#b~1#1.base, task_~#b~1#1.offset := #Ultimate.allocOnStack(4bv32); {1216#(and (= (_ bv0 32) |ULTIMATE.start_task_~t#1.offset|) (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} is VALID [2022-02-20 17:10:54,367 INFO L272 TraceCheckUtils]: 13: Hoare triple {1216#(and (= (_ bv0 32) |ULTIMATE.start_task_~t#1.offset|) (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} call task_#t~ret32#1 := size(task_~t#1.base, task_~t#1.offset); {1191#true} is VALID [2022-02-20 17:10:54,368 INFO L290 TraceCheckUtils]: 14: Hoare triple {1191#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {1241#(and (= size_~t.offset |size_#in~t.offset|) (= |size_#in~t.base| size_~t.base))} is VALID [2022-02-20 17:10:54,368 INFO L290 TraceCheckUtils]: 15: Hoare triple {1241#(and (= size_~t.offset |size_#in~t.offset|) (= |size_#in~t.base| size_~t.base))} assume !(~t.base == 0bv32 && ~t.offset == 0bv32);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(~t.base, ~bvadd32(4bv32, ~t.offset), 4bv32); {1245#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} is VALID [2022-02-20 17:10:54,368 INFO L272 TraceCheckUtils]: 16: Hoare triple {1245#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} call #t~ret28 := size(#t~mem27.base, #t~mem27.offset); {1191#true} is VALID [2022-02-20 17:10:54,368 INFO L290 TraceCheckUtils]: 17: Hoare triple {1191#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {1191#true} is VALID [2022-02-20 17:10:54,368 INFO L290 TraceCheckUtils]: 18: Hoare triple {1191#true} assume ~t.base == 0bv32 && ~t.offset == 0bv32;#res := 0bv32; {1191#true} is VALID [2022-02-20 17:10:54,369 INFO L290 TraceCheckUtils]: 19: Hoare triple {1191#true} assume true; {1191#true} is VALID [2022-02-20 17:10:54,369 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {1191#true} {1245#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} #139#return; {1245#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} is VALID [2022-02-20 17:10:54,370 INFO L290 TraceCheckUtils]: 21: Hoare triple {1245#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} call #t~mem29.base, #t~mem29.offset := read~$Pointer$(~t.base, ~bvadd32(8bv32, ~t.offset), 4bv32); {1245#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} is VALID [2022-02-20 17:10:54,370 INFO L272 TraceCheckUtils]: 22: Hoare triple {1245#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} call #t~ret30 := size(#t~mem29.base, #t~mem29.offset); {1191#true} is VALID [2022-02-20 17:10:54,370 INFO L290 TraceCheckUtils]: 23: Hoare triple {1191#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {1191#true} is VALID [2022-02-20 17:10:54,370 INFO L290 TraceCheckUtils]: 24: Hoare triple {1191#true} assume ~t.base == 0bv32 && ~t.offset == 0bv32;#res := 0bv32; {1191#true} is VALID [2022-02-20 17:10:54,370 INFO L290 TraceCheckUtils]: 25: Hoare triple {1191#true} assume true; {1191#true} is VALID [2022-02-20 17:10:54,371 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1191#true} {1245#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} #141#return; {1245#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} is VALID [2022-02-20 17:10:54,371 INFO L290 TraceCheckUtils]: 27: Hoare triple {1245#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} #res := ~bvadd32(1bv32, ~bvadd32(#t~ret28, #t~ret30));havoc #t~mem27.base, #t~mem27.offset;havoc #t~ret28;havoc #t~mem29.base, #t~mem29.offset;havoc #t~ret30; {1245#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} is VALID [2022-02-20 17:10:54,372 INFO L290 TraceCheckUtils]: 28: Hoare triple {1245#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} assume true; {1245#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} is VALID [2022-02-20 17:10:54,372 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {1245#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} {1216#(and (= (_ bv0 32) |ULTIMATE.start_task_~t#1.offset|) (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} #147#return; {1192#false} is VALID [2022-02-20 17:10:54,372 INFO L290 TraceCheckUtils]: 30: Hoare triple {1192#false} task_~n~1#1 := task_#t~ret32#1;havoc task_#t~ret32#1;assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if 0bv32 != task_~n~1#1 then 1bv32 else 0bv32);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {1192#false} is VALID [2022-02-20 17:10:54,372 INFO L290 TraceCheckUtils]: 31: Hoare triple {1192#false} assume !(0bv32 == assume_abort_if_not_~cond#1); {1192#false} is VALID [2022-02-20 17:10:54,373 INFO L290 TraceCheckUtils]: 32: Hoare triple {1192#false} assume { :end_inline_assume_abort_if_not } true;call task_#t~malloc33#1.base, task_#t~malloc33#1.offset := #Ultimate.allocOnHeap(~bvmul32(4bv32, task_~n~1#1)); {1192#false} is VALID [2022-02-20 17:10:54,373 INFO L272 TraceCheckUtils]: 33: Hoare triple {1192#false} call #Ultimate.meminit(task_#t~malloc33#1.base, task_#t~malloc33#1.offset, task_~n~1#1, 4bv32, ~bvmul32(4bv32, task_~n~1#1)); {1192#false} is VALID [2022-02-20 17:10:54,373 INFO L290 TraceCheckUtils]: 34: Hoare triple {1192#false} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {1192#false} is VALID [2022-02-20 17:10:54,373 INFO L290 TraceCheckUtils]: 35: Hoare triple {1192#false} assume true; {1192#false} is VALID [2022-02-20 17:10:54,373 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {1192#false} {1192#false} #149#return; {1192#false} is VALID [2022-02-20 17:10:54,373 INFO L290 TraceCheckUtils]: 37: Hoare triple {1192#false} task_~x~0#1.base, task_~x~0#1.offset := task_#t~malloc33#1.base, task_#t~malloc33#1.offset; {1192#false} is VALID [2022-02-20 17:10:54,373 INFO L272 TraceCheckUtils]: 38: Hoare triple {1192#false} call task_#t~ret34#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); {1192#false} is VALID [2022-02-20 17:10:54,373 INFO L290 TraceCheckUtils]: 39: Hoare triple {1192#false} ~t.base, ~t.offset := #in~t.base, #in~t.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~i := #in~i; {1192#false} is VALID [2022-02-20 17:10:54,373 INFO L290 TraceCheckUtils]: 40: Hoare triple {1192#false} assume ~t.base == 0bv32 && ~t.offset == 0bv32;#res := ~i; {1192#false} is VALID [2022-02-20 17:10:54,373 INFO L290 TraceCheckUtils]: 41: Hoare triple {1192#false} assume true; {1192#false} is VALID [2022-02-20 17:10:54,374 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {1192#false} {1192#false} #151#return; {1192#false} is VALID [2022-02-20 17:10:54,374 INFO L290 TraceCheckUtils]: 43: Hoare triple {1192#false} havoc task_#t~ret34#1;call task_#t~mem35#1 := read~intINTTYPE4(task_~x~0#1.base, task_~x~0#1.offset, 4bv32); {1192#false} is VALID [2022-02-20 17:10:54,374 INFO L272 TraceCheckUtils]: 44: Hoare triple {1192#false} call __VERIFIER_assert((if task_~a~1#1 == task_#t~mem35#1 then 1bv32 else 0bv32)); {1192#false} is VALID [2022-02-20 17:10:54,374 INFO L290 TraceCheckUtils]: 45: Hoare triple {1192#false} ~cond := #in~cond; {1192#false} is VALID [2022-02-20 17:10:54,374 INFO L290 TraceCheckUtils]: 46: Hoare triple {1192#false} assume 0bv32 == ~cond; {1192#false} is VALID [2022-02-20 17:10:54,374 INFO L290 TraceCheckUtils]: 47: Hoare triple {1192#false} assume !false; {1192#false} is VALID [2022-02-20 17:10:54,374 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 17:10:54,375 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:10:54,694 INFO L290 TraceCheckUtils]: 47: Hoare triple {1192#false} assume !false; {1192#false} is VALID [2022-02-20 17:10:54,694 INFO L290 TraceCheckUtils]: 46: Hoare triple {1192#false} assume 0bv32 == ~cond; {1192#false} is VALID [2022-02-20 17:10:54,694 INFO L290 TraceCheckUtils]: 45: Hoare triple {1192#false} ~cond := #in~cond; {1192#false} is VALID [2022-02-20 17:10:54,694 INFO L272 TraceCheckUtils]: 44: Hoare triple {1192#false} call __VERIFIER_assert((if task_~a~1#1 == task_#t~mem35#1 then 1bv32 else 0bv32)); {1192#false} is VALID [2022-02-20 17:10:54,695 INFO L290 TraceCheckUtils]: 43: Hoare triple {1192#false} havoc task_#t~ret34#1;call task_#t~mem35#1 := read~intINTTYPE4(task_~x~0#1.base, task_~x~0#1.offset, 4bv32); {1192#false} is VALID [2022-02-20 17:10:54,695 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {1191#true} {1192#false} #151#return; {1192#false} is VALID [2022-02-20 17:10:54,695 INFO L290 TraceCheckUtils]: 41: Hoare triple {1191#true} assume true; {1191#true} is VALID [2022-02-20 17:10:54,695 INFO L290 TraceCheckUtils]: 40: Hoare triple {1191#true} assume ~t.base == 0bv32 && ~t.offset == 0bv32;#res := ~i; {1191#true} is VALID [2022-02-20 17:10:54,695 INFO L290 TraceCheckUtils]: 39: Hoare triple {1191#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~i := #in~i; {1191#true} is VALID [2022-02-20 17:10:54,695 INFO L272 TraceCheckUtils]: 38: Hoare triple {1192#false} call task_#t~ret34#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); {1191#true} is VALID [2022-02-20 17:10:54,695 INFO L290 TraceCheckUtils]: 37: Hoare triple {1192#false} task_~x~0#1.base, task_~x~0#1.offset := task_#t~malloc33#1.base, task_#t~malloc33#1.offset; {1192#false} is VALID [2022-02-20 17:10:54,695 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {1191#true} {1192#false} #149#return; {1192#false} is VALID [2022-02-20 17:10:54,695 INFO L290 TraceCheckUtils]: 35: Hoare triple {1191#true} assume true; {1191#true} is VALID [2022-02-20 17:10:54,696 INFO L290 TraceCheckUtils]: 34: Hoare triple {1191#true} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {1191#true} is VALID [2022-02-20 17:10:54,696 INFO L272 TraceCheckUtils]: 33: Hoare triple {1192#false} call #Ultimate.meminit(task_#t~malloc33#1.base, task_#t~malloc33#1.offset, task_~n~1#1, 4bv32, ~bvmul32(4bv32, task_~n~1#1)); {1191#true} is VALID [2022-02-20 17:10:54,696 INFO L290 TraceCheckUtils]: 32: Hoare triple {1192#false} assume { :end_inline_assume_abort_if_not } true;call task_#t~malloc33#1.base, task_#t~malloc33#1.offset := #Ultimate.allocOnHeap(~bvmul32(4bv32, task_~n~1#1)); {1192#false} is VALID [2022-02-20 17:10:54,696 INFO L290 TraceCheckUtils]: 31: Hoare triple {1192#false} assume !(0bv32 == assume_abort_if_not_~cond#1); {1192#false} is VALID [2022-02-20 17:10:54,696 INFO L290 TraceCheckUtils]: 30: Hoare triple {1192#false} task_~n~1#1 := task_#t~ret32#1;havoc task_#t~ret32#1;assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if 0bv32 != task_~n~1#1 then 1bv32 else 0bv32);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {1192#false} is VALID [2022-02-20 17:10:54,715 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {1245#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} {1216#(and (= (_ bv0 32) |ULTIMATE.start_task_~t#1.offset|) (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} #147#return; {1192#false} is VALID [2022-02-20 17:10:54,718 INFO L290 TraceCheckUtils]: 28: Hoare triple {1245#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} assume true; {1245#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} is VALID [2022-02-20 17:10:54,718 INFO L290 TraceCheckUtils]: 27: Hoare triple {1245#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} #res := ~bvadd32(1bv32, ~bvadd32(#t~ret28, #t~ret30));havoc #t~mem27.base, #t~mem27.offset;havoc #t~ret28;havoc #t~mem29.base, #t~mem29.offset;havoc #t~ret30; {1245#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} is VALID [2022-02-20 17:10:54,719 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1191#true} {1245#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} #141#return; {1245#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} is VALID [2022-02-20 17:10:54,719 INFO L290 TraceCheckUtils]: 25: Hoare triple {1191#true} assume true; {1191#true} is VALID [2022-02-20 17:10:54,719 INFO L290 TraceCheckUtils]: 24: Hoare triple {1191#true} assume ~t.base == 0bv32 && ~t.offset == 0bv32;#res := 0bv32; {1191#true} is VALID [2022-02-20 17:10:54,719 INFO L290 TraceCheckUtils]: 23: Hoare triple {1191#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {1191#true} is VALID [2022-02-20 17:10:54,720 INFO L272 TraceCheckUtils]: 22: Hoare triple {1245#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} call #t~ret30 := size(#t~mem29.base, #t~mem29.offset); {1191#true} is VALID [2022-02-20 17:10:54,720 INFO L290 TraceCheckUtils]: 21: Hoare triple {1245#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} call #t~mem29.base, #t~mem29.offset := read~$Pointer$(~t.base, ~bvadd32(8bv32, ~t.offset), 4bv32); {1245#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} is VALID [2022-02-20 17:10:54,721 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {1191#true} {1245#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} #139#return; {1245#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} is VALID [2022-02-20 17:10:54,721 INFO L290 TraceCheckUtils]: 19: Hoare triple {1191#true} assume true; {1191#true} is VALID [2022-02-20 17:10:54,721 INFO L290 TraceCheckUtils]: 18: Hoare triple {1191#true} assume ~t.base == 0bv32 && ~t.offset == 0bv32;#res := 0bv32; {1191#true} is VALID [2022-02-20 17:10:54,721 INFO L290 TraceCheckUtils]: 17: Hoare triple {1191#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {1191#true} is VALID [2022-02-20 17:10:54,721 INFO L272 TraceCheckUtils]: 16: Hoare triple {1245#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} call #t~ret28 := size(#t~mem27.base, #t~mem27.offset); {1191#true} is VALID [2022-02-20 17:10:54,726 INFO L290 TraceCheckUtils]: 15: Hoare triple {1441#(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~mem27.base, #t~mem27.offset := read~$Pointer$(~t.base, ~bvadd32(4bv32, ~t.offset), 4bv32); {1245#(or (not (= |size_#in~t.offset| (_ bv0 32))) (not (= |size_#in~t.base| (_ bv0 32))))} is VALID [2022-02-20 17:10:54,727 INFO L290 TraceCheckUtils]: 14: Hoare triple {1191#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {1441#(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 17:10:54,727 INFO L272 TraceCheckUtils]: 13: Hoare triple {1216#(and (= (_ bv0 32) |ULTIMATE.start_task_~t#1.offset|) (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} call task_#t~ret32#1 := size(task_~t#1.base, task_~t#1.offset); {1191#true} is VALID [2022-02-20 17:10:54,727 INFO L290 TraceCheckUtils]: 12: Hoare triple {1216#(and (= (_ bv0 32) |ULTIMATE.start_task_~t#1.offset|) (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} task_~a~1#1 := task_#t~ret31#1;havoc task_#t~ret31#1;call task_~#b~1#1.base, task_~#b~1#1.offset := #Ultimate.allocOnStack(4bv32); {1216#(and (= (_ bv0 32) |ULTIMATE.start_task_~t#1.offset|) (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} is VALID [2022-02-20 17:10:54,728 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {1191#true} {1216#(and (= (_ bv0 32) |ULTIMATE.start_task_~t#1.offset|) (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} #145#return; {1216#(and (= (_ bv0 32) |ULTIMATE.start_task_~t#1.offset|) (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} is VALID [2022-02-20 17:10:54,728 INFO L290 TraceCheckUtils]: 10: Hoare triple {1191#true} assume true; {1191#true} is VALID [2022-02-20 17:10:54,728 INFO L290 TraceCheckUtils]: 9: Hoare triple {1191#true} assume ~n.base == 0bv32 && ~n.offset == 0bv32;#res := 2147483647bv32; {1191#true} is VALID [2022-02-20 17:10:54,728 INFO L290 TraceCheckUtils]: 8: Hoare triple {1191#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {1191#true} is VALID [2022-02-20 17:10:54,728 INFO L272 TraceCheckUtils]: 7: Hoare triple {1216#(and (= (_ bv0 32) |ULTIMATE.start_task_~t#1.offset|) (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} call task_#t~ret31#1 := min(task_~t#1.base, task_~t#1.offset); {1191#true} is VALID [2022-02-20 17:10:54,728 INFO L290 TraceCheckUtils]: 6: Hoare triple {1212#(and (= |ULTIMATE.start_main_#t~ret44#1.base| (_ bv0 32)) (= (_ bv0 32) |ULTIMATE.start_main_#t~ret44#1.offset|))} assume { :begin_inline_task } true;task_#in~t#1.base, task_#in~t#1.offset := main_#t~ret44#1.base, main_#t~ret44#1.offset;havoc task_#t~ret31#1, task_#t~ret32#1, task_#t~malloc33#1.base, task_#t~malloc33#1.offset, task_#t~ret34#1, task_#t~mem35#1, task_#t~ret36#1.base, task_#t~ret36#1.offset, task_#t~mem37#1, task_#t~ret38#1, task_#t~malloc39#1.base, task_#t~malloc39#1.offset, task_#t~ret40#1, task_#t~mem42#1, task_#t~mem43#1, task_#t~post41#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~0#1.base, task_~r~0#1.offset, task_~m~1#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; {1216#(and (= (_ bv0 32) |ULTIMATE.start_task_~t#1.offset|) (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} is VALID [2022-02-20 17:10:54,729 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {1205#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} {1191#true} #143#return; {1212#(and (= |ULTIMATE.start_main_#t~ret44#1.base| (_ bv0 32)) (= (_ bv0 32) |ULTIMATE.start_main_#t~ret44#1.offset|))} is VALID [2022-02-20 17:10:54,729 INFO L290 TraceCheckUtils]: 4: Hoare triple {1205#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} assume true; {1205#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} is VALID [2022-02-20 17:10:54,730 INFO L290 TraceCheckUtils]: 3: Hoare triple {1191#true} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {1205#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} is VALID [2022-02-20 17:10:54,730 INFO L272 TraceCheckUtils]: 2: Hoare triple {1191#true} call main_#t~ret44#1.base, main_#t~ret44#1.offset := nondet_tree(); {1191#true} is VALID [2022-02-20 17:10:54,730 INFO L290 TraceCheckUtils]: 1: Hoare triple {1191#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret44#1.base, main_#t~ret44#1.offset; {1191#true} is VALID [2022-02-20 17:10:54,730 INFO L290 TraceCheckUtils]: 0: Hoare triple {1191#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(26bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {1191#true} is VALID [2022-02-20 17:10:54,730 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 17:10:54,730 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 17:10:54,730 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1080337424] [2022-02-20 17:10:54,730 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1080337424] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 17:10:54,730 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 17:10:54,731 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 8 [2022-02-20 17:10:54,731 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1042297659] [2022-02-20 17:10:54,731 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 17:10:54,731 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 17:10:54,732 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:10:54,732 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 17:10:54,769 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 17:10:54,769 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-02-20 17:10:54,769 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 17:10:54,770 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-02-20 17:10:54,770 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=41, Unknown=0, NotChecked=0, Total=56 [2022-02-20 17:10:54,770 INFO L87 Difference]: Start difference. First operand 78 states and 101 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 17:10:55,780 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:10:55,780 INFO L93 Difference]: Finished difference Result 139 states and 181 transitions. [2022-02-20 17:10:55,780 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 17:10:55,781 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 17:10:55,781 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:10:55,781 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 17:10:55,783 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 177 transitions. [2022-02-20 17:10:55,784 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 17:10:55,786 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 177 transitions. [2022-02-20 17:10:55,786 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 177 transitions. [2022-02-20 17:10:55,963 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 177 edges. 177 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:10:55,966 INFO L225 Difference]: With dead ends: 139 [2022-02-20 17:10:55,966 INFO L226 Difference]: Without dead ends: 80 [2022-02-20 17:10:55,967 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 17:10:55,974 INFO L933 BasicCegarLoop]: 91 mSDtfsCounter, 7 mSDsluCounter, 511 mSDsCounter, 0 mSdLazyCounter, 79 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 7 SdHoareTripleChecker+Valid, 602 SdHoareTripleChecker+Invalid, 82 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 79 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 17:10:55,975 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [7 Valid, 602 Invalid, 82 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 79 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 17:10:55,975 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 80 states. [2022-02-20 17:10:55,980 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 80 to 80. [2022-02-20 17:10:55,980 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:10:55,980 INFO L82 GeneralOperation]: Start isEquivalent. First operand 80 states. Second operand has 80 states, 51 states have (on average 1.1568627450980393) internal successors, (59), 53 states have internal predecessors, (59), 20 states have call successors, (20), 6 states have call predecessors, (20), 8 states have return successors, (25), 20 states have call predecessors, (25), 20 states have call successors, (25) [2022-02-20 17:10:55,980 INFO L74 IsIncluded]: Start isIncluded. First operand 80 states. Second operand has 80 states, 51 states have (on average 1.1568627450980393) internal successors, (59), 53 states have internal predecessors, (59), 20 states have call successors, (20), 6 states have call predecessors, (20), 8 states have return successors, (25), 20 states have call predecessors, (25), 20 states have call successors, (25) [2022-02-20 17:10:55,981 INFO L87 Difference]: Start difference. First operand 80 states. Second operand has 80 states, 51 states have (on average 1.1568627450980393) internal successors, (59), 53 states have internal predecessors, (59), 20 states have call successors, (20), 6 states have call predecessors, (20), 8 states have return successors, (25), 20 states have call predecessors, (25), 20 states have call successors, (25) [2022-02-20 17:10:55,984 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:10:55,984 INFO L93 Difference]: Finished difference Result 80 states and 104 transitions. [2022-02-20 17:10:55,984 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 104 transitions. [2022-02-20 17:10:55,984 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:10:55,984 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:10:55,985 INFO L74 IsIncluded]: Start isIncluded. First operand has 80 states, 51 states have (on average 1.1568627450980393) internal successors, (59), 53 states have internal predecessors, (59), 20 states have call successors, (20), 6 states have call predecessors, (20), 8 states have return successors, (25), 20 states have call predecessors, (25), 20 states have call successors, (25) Second operand 80 states. [2022-02-20 17:10:55,985 INFO L87 Difference]: Start difference. First operand has 80 states, 51 states have (on average 1.1568627450980393) internal successors, (59), 53 states have internal predecessors, (59), 20 states have call successors, (20), 6 states have call predecessors, (20), 8 states have return successors, (25), 20 states have call predecessors, (25), 20 states have call successors, (25) Second operand 80 states. [2022-02-20 17:10:55,988 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:10:55,988 INFO L93 Difference]: Finished difference Result 80 states and 104 transitions. [2022-02-20 17:10:55,988 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 104 transitions. [2022-02-20 17:10:55,988 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:10:55,988 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:10:55,988 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:10:55,989 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:10:55,989 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 80 states, 51 states have (on average 1.1568627450980393) internal successors, (59), 53 states have internal predecessors, (59), 20 states have call successors, (20), 6 states have call predecessors, (20), 8 states have return successors, (25), 20 states have call predecessors, (25), 20 states have call successors, (25) [2022-02-20 17:10:55,991 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 80 states to 80 states and 104 transitions. [2022-02-20 17:10:55,991 INFO L78 Accepts]: Start accepts. Automaton has 80 states and 104 transitions. Word has length 48 [2022-02-20 17:10:55,992 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:10:55,992 INFO L470 AbstractCegarLoop]: Abstraction has 80 states and 104 transitions. [2022-02-20 17:10:55,992 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 17:10:55,992 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 104 transitions. [2022-02-20 17:10:55,993 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-02-20 17:10:55,993 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:10:55,993 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 17:10:56,002 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 17:10:56,199 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 17:10:56,200 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:10:56,200 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:10:56,200 INFO L85 PathProgramCache]: Analyzing trace with hash -1954582857, now seen corresponding path program 1 times [2022-02-20 17:10:56,201 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 17:10:56,201 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [405267362] [2022-02-20 17:10:56,201 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:10:56,201 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 17:10:56,201 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 17:10:56,202 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 17:10:56,203 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 17:10:56,290 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:56,294 INFO L263 TraceCheckSpWp]: Trace formula consists of 223 conjuncts, 8 conjunts are in the unsatisfiable core [2022-02-20 17:10:56,313 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:56,314 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:10:56,468 INFO L290 TraceCheckUtils]: 0: Hoare triple {1947#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(26bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {1947#true} is VALID [2022-02-20 17:10:56,468 INFO L290 TraceCheckUtils]: 1: Hoare triple {1947#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret44#1.base, main_#t~ret44#1.offset; {1947#true} is VALID [2022-02-20 17:10:56,469 INFO L272 TraceCheckUtils]: 2: Hoare triple {1947#true} call main_#t~ret44#1.base, main_#t~ret44#1.offset := nondet_tree(); {1947#true} is VALID [2022-02-20 17:10:56,469 INFO L290 TraceCheckUtils]: 3: Hoare triple {1947#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; {1961#(not (= nondet_tree_~n~0.base (_ bv0 32)))} is VALID [2022-02-20 17:10:56,470 INFO L272 TraceCheckUtils]: 4: Hoare triple {1961#(not (= nondet_tree_~n~0.base (_ bv0 32)))} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {1947#true} is VALID [2022-02-20 17:10:56,470 INFO L290 TraceCheckUtils]: 5: Hoare triple {1947#true} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {1947#true} is VALID [2022-02-20 17:10:56,470 INFO L290 TraceCheckUtils]: 6: Hoare triple {1947#true} assume true; {1947#true} is VALID [2022-02-20 17:10:56,470 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {1947#true} {1961#(not (= nondet_tree_~n~0.base (_ bv0 32)))} #131#return; {1961#(not (= nondet_tree_~n~0.base (_ bv0 32)))} is VALID [2022-02-20 17:10:56,471 INFO L290 TraceCheckUtils]: 8: Hoare triple {1961#(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; {1961#(not (= nondet_tree_~n~0.base (_ bv0 32)))} is VALID [2022-02-20 17:10:56,471 INFO L272 TraceCheckUtils]: 9: Hoare triple {1961#(not (= nondet_tree_~n~0.base (_ bv0 32)))} call #t~ret9.base, #t~ret9.offset := nondet_tree(); {1947#true} is VALID [2022-02-20 17:10:56,471 INFO L290 TraceCheckUtils]: 10: Hoare triple {1947#true} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {1947#true} is VALID [2022-02-20 17:10:56,471 INFO L290 TraceCheckUtils]: 11: Hoare triple {1947#true} assume true; {1947#true} is VALID [2022-02-20 17:10:56,474 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1947#true} {1961#(not (= nondet_tree_~n~0.base (_ bv0 32)))} #133#return; {1961#(not (= nondet_tree_~n~0.base (_ bv0 32)))} is VALID [2022-02-20 17:10:56,474 INFO L290 TraceCheckUtils]: 13: Hoare triple {1961#(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; {1992#(not (= |nondet_tree_#res.base| (_ bv0 32)))} is VALID [2022-02-20 17:10:56,476 INFO L290 TraceCheckUtils]: 14: Hoare triple {1992#(not (= |nondet_tree_#res.base| (_ bv0 32)))} assume true; {1992#(not (= |nondet_tree_#res.base| (_ bv0 32)))} is VALID [2022-02-20 17:10:56,477 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1992#(not (= |nondet_tree_#res.base| (_ bv0 32)))} {1947#true} #143#return; {1999#(not (= |ULTIMATE.start_main_#t~ret44#1.base| (_ bv0 32)))} is VALID [2022-02-20 17:10:56,477 INFO L290 TraceCheckUtils]: 16: Hoare triple {1999#(not (= |ULTIMATE.start_main_#t~ret44#1.base| (_ bv0 32)))} assume { :begin_inline_task } true;task_#in~t#1.base, task_#in~t#1.offset := main_#t~ret44#1.base, main_#t~ret44#1.offset;havoc task_#t~ret31#1, task_#t~ret32#1, task_#t~malloc33#1.base, task_#t~malloc33#1.offset, task_#t~ret34#1, task_#t~mem35#1, task_#t~ret36#1.base, task_#t~ret36#1.offset, task_#t~mem37#1, task_#t~ret38#1, task_#t~malloc39#1.base, task_#t~malloc39#1.offset, task_#t~ret40#1, task_#t~mem42#1, task_#t~mem43#1, task_#t~post41#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~0#1.base, task_~r~0#1.offset, task_~m~1#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; {2003#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} is VALID [2022-02-20 17:10:56,477 INFO L272 TraceCheckUtils]: 17: Hoare triple {2003#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} call task_#t~ret31#1 := min(task_~t#1.base, task_~t#1.offset); {1947#true} is VALID [2022-02-20 17:10:56,478 INFO L290 TraceCheckUtils]: 18: Hoare triple {1947#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {2010#(= |min_#in~n.base| min_~n.base)} is VALID [2022-02-20 17:10:56,478 INFO L290 TraceCheckUtils]: 19: Hoare triple {2010#(= |min_#in~n.base| min_~n.base)} assume ~n.base == 0bv32 && ~n.offset == 0bv32;#res := 2147483647bv32; {2014#(= |min_#in~n.base| (_ bv0 32))} is VALID [2022-02-20 17:10:56,478 INFO L290 TraceCheckUtils]: 20: Hoare triple {2014#(= |min_#in~n.base| (_ bv0 32))} assume true; {2014#(= |min_#in~n.base| (_ bv0 32))} is VALID [2022-02-20 17:10:56,479 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2014#(= |min_#in~n.base| (_ bv0 32))} {2003#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} #145#return; {1948#false} is VALID [2022-02-20 17:10:56,479 INFO L290 TraceCheckUtils]: 22: Hoare triple {1948#false} task_~a~1#1 := task_#t~ret31#1;havoc task_#t~ret31#1;call task_~#b~1#1.base, task_~#b~1#1.offset := #Ultimate.allocOnStack(4bv32); {1948#false} is VALID [2022-02-20 17:10:56,479 INFO L272 TraceCheckUtils]: 23: Hoare triple {1948#false} call task_#t~ret32#1 := size(task_~t#1.base, task_~t#1.offset); {1948#false} is VALID [2022-02-20 17:10:56,480 INFO L290 TraceCheckUtils]: 24: Hoare triple {1948#false} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {1948#false} is VALID [2022-02-20 17:10:56,480 INFO L290 TraceCheckUtils]: 25: Hoare triple {1948#false} assume !(~t.base == 0bv32 && ~t.offset == 0bv32);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(~t.base, ~bvadd32(4bv32, ~t.offset), 4bv32); {1948#false} is VALID [2022-02-20 17:10:56,480 INFO L272 TraceCheckUtils]: 26: Hoare triple {1948#false} call #t~ret28 := size(#t~mem27.base, #t~mem27.offset); {1948#false} is VALID [2022-02-20 17:10:56,480 INFO L290 TraceCheckUtils]: 27: Hoare triple {1948#false} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {1948#false} is VALID [2022-02-20 17:10:56,480 INFO L290 TraceCheckUtils]: 28: Hoare triple {1948#false} assume ~t.base == 0bv32 && ~t.offset == 0bv32;#res := 0bv32; {1948#false} is VALID [2022-02-20 17:10:56,480 INFO L290 TraceCheckUtils]: 29: Hoare triple {1948#false} assume true; {1948#false} is VALID [2022-02-20 17:10:56,480 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {1948#false} {1948#false} #139#return; {1948#false} is VALID [2022-02-20 17:10:56,481 INFO L290 TraceCheckUtils]: 31: Hoare triple {1948#false} call #t~mem29.base, #t~mem29.offset := read~$Pointer$(~t.base, ~bvadd32(8bv32, ~t.offset), 4bv32); {1948#false} is VALID [2022-02-20 17:10:56,481 INFO L272 TraceCheckUtils]: 32: Hoare triple {1948#false} call #t~ret30 := size(#t~mem29.base, #t~mem29.offset); {1948#false} is VALID [2022-02-20 17:10:56,481 INFO L290 TraceCheckUtils]: 33: Hoare triple {1948#false} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {1948#false} is VALID [2022-02-20 17:10:56,481 INFO L290 TraceCheckUtils]: 34: Hoare triple {1948#false} assume ~t.base == 0bv32 && ~t.offset == 0bv32;#res := 0bv32; {1948#false} is VALID [2022-02-20 17:10:56,481 INFO L290 TraceCheckUtils]: 35: Hoare triple {1948#false} assume true; {1948#false} is VALID [2022-02-20 17:10:56,481 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {1948#false} {1948#false} #141#return; {1948#false} is VALID [2022-02-20 17:10:56,481 INFO L290 TraceCheckUtils]: 37: Hoare triple {1948#false} #res := ~bvadd32(1bv32, ~bvadd32(#t~ret28, #t~ret30));havoc #t~mem27.base, #t~mem27.offset;havoc #t~ret28;havoc #t~mem29.base, #t~mem29.offset;havoc #t~ret30; {1948#false} is VALID [2022-02-20 17:10:56,482 INFO L290 TraceCheckUtils]: 38: Hoare triple {1948#false} assume true; {1948#false} is VALID [2022-02-20 17:10:56,482 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {1948#false} {1948#false} #147#return; {1948#false} is VALID [2022-02-20 17:10:56,482 INFO L290 TraceCheckUtils]: 40: Hoare triple {1948#false} task_~n~1#1 := task_#t~ret32#1;havoc task_#t~ret32#1;assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if 0bv32 != task_~n~1#1 then 1bv32 else 0bv32);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {1948#false} is VALID [2022-02-20 17:10:56,482 INFO L290 TraceCheckUtils]: 41: Hoare triple {1948#false} assume !(0bv32 == assume_abort_if_not_~cond#1); {1948#false} is VALID [2022-02-20 17:10:56,482 INFO L290 TraceCheckUtils]: 42: Hoare triple {1948#false} assume { :end_inline_assume_abort_if_not } true;call task_#t~malloc33#1.base, task_#t~malloc33#1.offset := #Ultimate.allocOnHeap(~bvmul32(4bv32, task_~n~1#1)); {1948#false} is VALID [2022-02-20 17:10:56,482 INFO L272 TraceCheckUtils]: 43: Hoare triple {1948#false} call #Ultimate.meminit(task_#t~malloc33#1.base, task_#t~malloc33#1.offset, task_~n~1#1, 4bv32, ~bvmul32(4bv32, task_~n~1#1)); {1948#false} is VALID [2022-02-20 17:10:56,482 INFO L290 TraceCheckUtils]: 44: Hoare triple {1948#false} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {1948#false} is VALID [2022-02-20 17:10:56,482 INFO L290 TraceCheckUtils]: 45: Hoare triple {1948#false} assume true; {1948#false} is VALID [2022-02-20 17:10:56,482 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {1948#false} {1948#false} #149#return; {1948#false} is VALID [2022-02-20 17:10:56,483 INFO L290 TraceCheckUtils]: 47: Hoare triple {1948#false} task_~x~0#1.base, task_~x~0#1.offset := task_#t~malloc33#1.base, task_#t~malloc33#1.offset; {1948#false} is VALID [2022-02-20 17:10:56,483 INFO L272 TraceCheckUtils]: 48: Hoare triple {1948#false} call task_#t~ret34#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); {1948#false} is VALID [2022-02-20 17:10:56,483 INFO L290 TraceCheckUtils]: 49: Hoare triple {1948#false} ~t.base, ~t.offset := #in~t.base, #in~t.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~i := #in~i; {1948#false} is VALID [2022-02-20 17:10:56,483 INFO L290 TraceCheckUtils]: 50: Hoare triple {1948#false} assume ~t.base == 0bv32 && ~t.offset == 0bv32;#res := ~i; {1948#false} is VALID [2022-02-20 17:10:56,483 INFO L290 TraceCheckUtils]: 51: Hoare triple {1948#false} assume true; {1948#false} is VALID [2022-02-20 17:10:56,483 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {1948#false} {1948#false} #151#return; {1948#false} is VALID [2022-02-20 17:10:56,483 INFO L290 TraceCheckUtils]: 53: Hoare triple {1948#false} havoc task_#t~ret34#1;call task_#t~mem35#1 := read~intINTTYPE4(task_~x~0#1.base, task_~x~0#1.offset, 4bv32); {1948#false} is VALID [2022-02-20 17:10:56,483 INFO L272 TraceCheckUtils]: 54: Hoare triple {1948#false} call __VERIFIER_assert((if task_~a~1#1 == task_#t~mem35#1 then 1bv32 else 0bv32)); {1948#false} is VALID [2022-02-20 17:10:56,483 INFO L290 TraceCheckUtils]: 55: Hoare triple {1948#false} ~cond := #in~cond; {1948#false} is VALID [2022-02-20 17:10:56,483 INFO L290 TraceCheckUtils]: 56: Hoare triple {1948#false} assume 0bv32 == ~cond; {1948#false} is VALID [2022-02-20 17:10:56,483 INFO L290 TraceCheckUtils]: 57: Hoare triple {1948#false} assume !false; {1948#false} is VALID [2022-02-20 17:10:56,484 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 17:10:56,484 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 17:10:56,484 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 17:10:56,484 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [405267362] [2022-02-20 17:10:56,484 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [405267362] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:10:56,484 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:10:56,484 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-02-20 17:10:56,484 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1374094109] [2022-02-20 17:10:56,484 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:10:56,485 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 17:10:56,485 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:10:56,485 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 17:10:56,522 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 17:10:56,522 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-02-20 17:10:56,522 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 17:10:56,523 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-02-20 17:10:56,523 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=43, Unknown=0, NotChecked=0, Total=56 [2022-02-20 17:10:56,523 INFO L87 Difference]: Start difference. First operand 80 states and 104 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 17:10:57,389 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:10:57,389 INFO L93 Difference]: Finished difference Result 139 states and 181 transitions. [2022-02-20 17:10:57,389 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 17:10:57,389 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 17:10:57,389 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:10:57,389 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 17:10:57,392 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 173 transitions. [2022-02-20 17:10:57,392 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 17:10:57,394 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 173 transitions. [2022-02-20 17:10:57,394 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 173 transitions. [2022-02-20 17:10:57,553 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 173 edges. 173 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:10:57,554 INFO L225 Difference]: With dead ends: 139 [2022-02-20 17:10:57,554 INFO L226 Difference]: Without dead ends: 82 [2022-02-20 17:10:57,555 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 17:10:57,555 INFO L933 BasicCegarLoop]: 90 mSDtfsCounter, 55 mSDsluCounter, 448 mSDsCounter, 0 mSdLazyCounter, 72 mSolverCounterSat, 22 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 59 SdHoareTripleChecker+Valid, 538 SdHoareTripleChecker+Invalid, 94 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 22 IncrementalHoareTripleChecker+Valid, 72 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 17:10:57,556 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [59 Valid, 538 Invalid, 94 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [22 Valid, 72 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 17:10:57,556 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 82 states. [2022-02-20 17:10:57,560 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 82 to 82. [2022-02-20 17:10:57,560 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:10:57,560 INFO L82 GeneralOperation]: Start isEquivalent. First operand 82 states. Second operand has 82 states, 52 states have (on average 1.1538461538461537) internal successors, (60), 55 states have internal predecessors, (60), 20 states have call successors, (20), 6 states have call predecessors, (20), 9 states have return successors, (27), 20 states have call predecessors, (27), 20 states have call successors, (27) [2022-02-20 17:10:57,561 INFO L74 IsIncluded]: Start isIncluded. First operand 82 states. Second operand has 82 states, 52 states have (on average 1.1538461538461537) internal successors, (60), 55 states have internal predecessors, (60), 20 states have call successors, (20), 6 states have call predecessors, (20), 9 states have return successors, (27), 20 states have call predecessors, (27), 20 states have call successors, (27) [2022-02-20 17:10:57,561 INFO L87 Difference]: Start difference. First operand 82 states. Second operand has 82 states, 52 states have (on average 1.1538461538461537) internal successors, (60), 55 states have internal predecessors, (60), 20 states have call successors, (20), 6 states have call predecessors, (20), 9 states have return successors, (27), 20 states have call predecessors, (27), 20 states have call successors, (27) [2022-02-20 17:10:57,563 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:10:57,563 INFO L93 Difference]: Finished difference Result 82 states and 107 transitions. [2022-02-20 17:10:57,563 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 107 transitions. [2022-02-20 17:10:57,564 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:10:57,564 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:10:57,564 INFO L74 IsIncluded]: Start isIncluded. First operand has 82 states, 52 states have (on average 1.1538461538461537) internal successors, (60), 55 states have internal predecessors, (60), 20 states have call successors, (20), 6 states have call predecessors, (20), 9 states have return successors, (27), 20 states have call predecessors, (27), 20 states have call successors, (27) Second operand 82 states. [2022-02-20 17:10:57,564 INFO L87 Difference]: Start difference. First operand has 82 states, 52 states have (on average 1.1538461538461537) internal successors, (60), 55 states have internal predecessors, (60), 20 states have call successors, (20), 6 states have call predecessors, (20), 9 states have return successors, (27), 20 states have call predecessors, (27), 20 states have call successors, (27) Second operand 82 states. [2022-02-20 17:10:57,566 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:10:57,566 INFO L93 Difference]: Finished difference Result 82 states and 107 transitions. [2022-02-20 17:10:57,566 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 107 transitions. [2022-02-20 17:10:57,567 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:10:57,567 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:10:57,576 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:10:57,576 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:10:57,576 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 82 states, 52 states have (on average 1.1538461538461537) internal successors, (60), 55 states have internal predecessors, (60), 20 states have call successors, (20), 6 states have call predecessors, (20), 9 states have return successors, (27), 20 states have call predecessors, (27), 20 states have call successors, (27) [2022-02-20 17:10:57,579 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 82 states to 82 states and 107 transitions. [2022-02-20 17:10:57,579 INFO L78 Accepts]: Start accepts. Automaton has 82 states and 107 transitions. Word has length 58 [2022-02-20 17:10:57,579 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:10:57,579 INFO L470 AbstractCegarLoop]: Abstraction has 82 states and 107 transitions. [2022-02-20 17:10:57,579 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 17:10:57,579 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 107 transitions. [2022-02-20 17:10:57,580 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 72 [2022-02-20 17:10:57,580 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:10:57,580 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 17:10:57,592 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (5)] Forceful destruction successful, exit code 0 [2022-02-20 17:10:57,787 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 17:10:57,787 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:10:57,787 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:10:57,787 INFO L85 PathProgramCache]: Analyzing trace with hash 1575743044, now seen corresponding path program 1 times [2022-02-20 17:10:57,788 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 17:10:57,788 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [597264586] [2022-02-20 17:10:57,788 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:10:57,788 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 17:10:57,788 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 17:10:57,789 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 17:10:57,789 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 17:10:57,885 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:57,890 INFO L263 TraceCheckSpWp]: Trace formula consists of 251 conjuncts, 8 conjunts are in the unsatisfiable core [2022-02-20 17:10:57,907 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:10:57,908 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:10:58,091 INFO L290 TraceCheckUtils]: 0: Hoare triple {2599#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(26bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {2599#true} is VALID [2022-02-20 17:10:58,091 INFO L290 TraceCheckUtils]: 1: Hoare triple {2599#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret44#1.base, main_#t~ret44#1.offset; {2599#true} is VALID [2022-02-20 17:10:58,091 INFO L272 TraceCheckUtils]: 2: Hoare triple {2599#true} call main_#t~ret44#1.base, main_#t~ret44#1.offset := nondet_tree(); {2599#true} is VALID [2022-02-20 17:10:58,092 INFO L290 TraceCheckUtils]: 3: Hoare triple {2599#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; {2613#(not (= nondet_tree_~n~0.base (_ bv0 32)))} is VALID [2022-02-20 17:10:58,092 INFO L272 TraceCheckUtils]: 4: Hoare triple {2613#(not (= nondet_tree_~n~0.base (_ bv0 32)))} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {2599#true} is VALID [2022-02-20 17:10:58,092 INFO L290 TraceCheckUtils]: 5: Hoare triple {2599#true} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {2599#true} is VALID [2022-02-20 17:10:58,092 INFO L290 TraceCheckUtils]: 6: Hoare triple {2599#true} assume true; {2599#true} is VALID [2022-02-20 17:10:58,093 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {2599#true} {2613#(not (= nondet_tree_~n~0.base (_ bv0 32)))} #131#return; {2613#(not (= nondet_tree_~n~0.base (_ bv0 32)))} is VALID [2022-02-20 17:10:58,093 INFO L290 TraceCheckUtils]: 8: Hoare triple {2613#(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; {2613#(not (= nondet_tree_~n~0.base (_ bv0 32)))} is VALID [2022-02-20 17:10:58,093 INFO L272 TraceCheckUtils]: 9: Hoare triple {2613#(not (= nondet_tree_~n~0.base (_ bv0 32)))} call #t~ret9.base, #t~ret9.offset := nondet_tree(); {2599#true} is VALID [2022-02-20 17:10:58,093 INFO L290 TraceCheckUtils]: 10: Hoare triple {2599#true} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {2599#true} is VALID [2022-02-20 17:10:58,093 INFO L290 TraceCheckUtils]: 11: Hoare triple {2599#true} assume true; {2599#true} is VALID [2022-02-20 17:10:58,094 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2599#true} {2613#(not (= nondet_tree_~n~0.base (_ bv0 32)))} #133#return; {2613#(not (= nondet_tree_~n~0.base (_ bv0 32)))} is VALID [2022-02-20 17:10:58,094 INFO L290 TraceCheckUtils]: 13: Hoare triple {2613#(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; {2644#(not (= |nondet_tree_#res.base| (_ bv0 32)))} is VALID [2022-02-20 17:10:58,099 INFO L290 TraceCheckUtils]: 14: Hoare triple {2644#(not (= |nondet_tree_#res.base| (_ bv0 32)))} assume true; {2644#(not (= |nondet_tree_#res.base| (_ bv0 32)))} is VALID [2022-02-20 17:10:58,100 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2644#(not (= |nondet_tree_#res.base| (_ bv0 32)))} {2599#true} #143#return; {2651#(not (= |ULTIMATE.start_main_#t~ret44#1.base| (_ bv0 32)))} is VALID [2022-02-20 17:10:58,100 INFO L290 TraceCheckUtils]: 16: Hoare triple {2651#(not (= |ULTIMATE.start_main_#t~ret44#1.base| (_ bv0 32)))} assume { :begin_inline_task } true;task_#in~t#1.base, task_#in~t#1.offset := main_#t~ret44#1.base, main_#t~ret44#1.offset;havoc task_#t~ret31#1, task_#t~ret32#1, task_#t~malloc33#1.base, task_#t~malloc33#1.offset, task_#t~ret34#1, task_#t~mem35#1, task_#t~ret36#1.base, task_#t~ret36#1.offset, task_#t~mem37#1, task_#t~ret38#1, task_#t~malloc39#1.base, task_#t~malloc39#1.offset, task_#t~ret40#1, task_#t~mem42#1, task_#t~mem43#1, task_#t~post41#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~0#1.base, task_~r~0#1.offset, task_~m~1#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; {2655#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} is VALID [2022-02-20 17:10:58,100 INFO L272 TraceCheckUtils]: 17: Hoare triple {2655#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} call task_#t~ret31#1 := min(task_~t#1.base, task_~t#1.offset); {2599#true} is VALID [2022-02-20 17:10:58,101 INFO L290 TraceCheckUtils]: 18: Hoare triple {2599#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {2599#true} is VALID [2022-02-20 17:10:58,101 INFO L290 TraceCheckUtils]: 19: Hoare triple {2599#true} assume !(~n.base == 0bv32 && ~n.offset == 0bv32);call #t~mem10.base, #t~mem10.offset := read~$Pointer$(~n.base, ~bvadd32(4bv32, ~n.offset), 4bv32); {2599#true} is VALID [2022-02-20 17:10:58,101 INFO L272 TraceCheckUtils]: 20: Hoare triple {2599#true} call #t~ret11 := min(#t~mem10.base, #t~mem10.offset); {2599#true} is VALID [2022-02-20 17:10:58,101 INFO L290 TraceCheckUtils]: 21: Hoare triple {2599#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {2599#true} is VALID [2022-02-20 17:10:58,101 INFO L290 TraceCheckUtils]: 22: Hoare triple {2599#true} assume ~n.base == 0bv32 && ~n.offset == 0bv32;#res := 2147483647bv32; {2599#true} is VALID [2022-02-20 17:10:58,101 INFO L290 TraceCheckUtils]: 23: Hoare triple {2599#true} assume true; {2599#true} is VALID [2022-02-20 17:10:58,101 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {2599#true} {2599#true} #135#return; {2599#true} is VALID [2022-02-20 17:10:58,102 INFO L290 TraceCheckUtils]: 25: Hoare triple {2599#true} ~a~0 := #t~ret11;havoc #t~mem10.base, #t~mem10.offset;havoc #t~ret11;call #t~mem12.base, #t~mem12.offset := read~$Pointer$(~n.base, ~bvadd32(8bv32, ~n.offset), 4bv32); {2599#true} is VALID [2022-02-20 17:10:58,102 INFO L272 TraceCheckUtils]: 26: Hoare triple {2599#true} call #t~ret13 := min(#t~mem12.base, #t~mem12.offset); {2599#true} is VALID [2022-02-20 17:10:58,102 INFO L290 TraceCheckUtils]: 27: Hoare triple {2599#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {2599#true} is VALID [2022-02-20 17:10:58,102 INFO L290 TraceCheckUtils]: 28: Hoare triple {2599#true} assume ~n.base == 0bv32 && ~n.offset == 0bv32;#res := 2147483647bv32; {2599#true} is VALID [2022-02-20 17:10:58,102 INFO L290 TraceCheckUtils]: 29: Hoare triple {2599#true} assume true; {2599#true} is VALID [2022-02-20 17:10:58,102 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {2599#true} {2599#true} #137#return; {2599#true} is VALID [2022-02-20 17:10:58,103 INFO L290 TraceCheckUtils]: 31: Hoare triple {2599#true} ~b~0 := #t~ret13;havoc #t~mem12.base, #t~mem12.offset;havoc #t~ret13; {2599#true} is VALID [2022-02-20 17:10:58,103 INFO L290 TraceCheckUtils]: 32: Hoare triple {2599#true} assume ~bvsle32(~a~0, ~b~0);#res := ~a~0; {2599#true} is VALID [2022-02-20 17:10:58,103 INFO L290 TraceCheckUtils]: 33: Hoare triple {2599#true} assume true; {2599#true} is VALID [2022-02-20 17:10:58,103 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2599#true} {2655#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} #145#return; {2655#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} is VALID [2022-02-20 17:10:58,104 INFO L290 TraceCheckUtils]: 35: Hoare triple {2655#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} task_~a~1#1 := task_#t~ret31#1;havoc task_#t~ret31#1;call task_~#b~1#1.base, task_~#b~1#1.offset := #Ultimate.allocOnStack(4bv32); {2655#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} is VALID [2022-02-20 17:10:58,104 INFO L272 TraceCheckUtils]: 36: Hoare triple {2655#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} call task_#t~ret32#1 := size(task_~t#1.base, task_~t#1.offset); {2599#true} is VALID [2022-02-20 17:10:58,104 INFO L290 TraceCheckUtils]: 37: Hoare triple {2599#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {2599#true} is VALID [2022-02-20 17:10:58,104 INFO L290 TraceCheckUtils]: 38: Hoare triple {2599#true} assume !(~t.base == 0bv32 && ~t.offset == 0bv32);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(~t.base, ~bvadd32(4bv32, ~t.offset), 4bv32); {2599#true} is VALID [2022-02-20 17:10:58,104 INFO L272 TraceCheckUtils]: 39: Hoare triple {2599#true} call #t~ret28 := size(#t~mem27.base, #t~mem27.offset); {2599#true} is VALID [2022-02-20 17:10:58,104 INFO L290 TraceCheckUtils]: 40: Hoare triple {2599#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {2599#true} is VALID [2022-02-20 17:10:58,105 INFO L290 TraceCheckUtils]: 41: Hoare triple {2599#true} assume ~t.base == 0bv32 && ~t.offset == 0bv32;#res := 0bv32; {2599#true} is VALID [2022-02-20 17:10:58,105 INFO L290 TraceCheckUtils]: 42: Hoare triple {2599#true} assume true; {2599#true} is VALID [2022-02-20 17:10:58,105 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {2599#true} {2599#true} #139#return; {2599#true} is VALID [2022-02-20 17:10:58,105 INFO L290 TraceCheckUtils]: 44: Hoare triple {2599#true} call #t~mem29.base, #t~mem29.offset := read~$Pointer$(~t.base, ~bvadd32(8bv32, ~t.offset), 4bv32); {2599#true} is VALID [2022-02-20 17:10:58,105 INFO L272 TraceCheckUtils]: 45: Hoare triple {2599#true} call #t~ret30 := size(#t~mem29.base, #t~mem29.offset); {2599#true} is VALID [2022-02-20 17:10:58,105 INFO L290 TraceCheckUtils]: 46: Hoare triple {2599#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {2599#true} is VALID [2022-02-20 17:10:58,105 INFO L290 TraceCheckUtils]: 47: Hoare triple {2599#true} assume ~t.base == 0bv32 && ~t.offset == 0bv32;#res := 0bv32; {2599#true} is VALID [2022-02-20 17:10:58,106 INFO L290 TraceCheckUtils]: 48: Hoare triple {2599#true} assume true; {2599#true} is VALID [2022-02-20 17:10:58,106 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {2599#true} {2599#true} #141#return; {2599#true} is VALID [2022-02-20 17:10:58,106 INFO L290 TraceCheckUtils]: 50: Hoare triple {2599#true} #res := ~bvadd32(1bv32, ~bvadd32(#t~ret28, #t~ret30));havoc #t~mem27.base, #t~mem27.offset;havoc #t~ret28;havoc #t~mem29.base, #t~mem29.offset;havoc #t~ret30; {2599#true} is VALID [2022-02-20 17:10:58,106 INFO L290 TraceCheckUtils]: 51: Hoare triple {2599#true} assume true; {2599#true} is VALID [2022-02-20 17:10:58,106 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {2599#true} {2655#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} #147#return; {2655#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} is VALID [2022-02-20 17:10:58,107 INFO L290 TraceCheckUtils]: 53: Hoare triple {2655#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} task_~n~1#1 := task_#t~ret32#1;havoc task_#t~ret32#1;assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if 0bv32 != task_~n~1#1 then 1bv32 else 0bv32);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {2655#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} is VALID [2022-02-20 17:10:58,107 INFO L290 TraceCheckUtils]: 54: Hoare triple {2655#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} assume !(0bv32 == assume_abort_if_not_~cond#1); {2655#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} is VALID [2022-02-20 17:10:58,107 INFO L290 TraceCheckUtils]: 55: Hoare triple {2655#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} assume { :end_inline_assume_abort_if_not } true;call task_#t~malloc33#1.base, task_#t~malloc33#1.offset := #Ultimate.allocOnHeap(~bvmul32(4bv32, task_~n~1#1)); {2655#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} is VALID [2022-02-20 17:10:58,107 INFO L272 TraceCheckUtils]: 56: Hoare triple {2655#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} call #Ultimate.meminit(task_#t~malloc33#1.base, task_#t~malloc33#1.offset, task_~n~1#1, 4bv32, ~bvmul32(4bv32, task_~n~1#1)); {2599#true} is VALID [2022-02-20 17:10:58,108 INFO L290 TraceCheckUtils]: 57: Hoare triple {2599#true} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {2599#true} is VALID [2022-02-20 17:10:58,108 INFO L290 TraceCheckUtils]: 58: Hoare triple {2599#true} assume true; {2599#true} is VALID [2022-02-20 17:10:58,108 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {2599#true} {2655#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} #149#return; {2655#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} is VALID [2022-02-20 17:10:58,109 INFO L290 TraceCheckUtils]: 60: Hoare triple {2655#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} task_~x~0#1.base, task_~x~0#1.offset := task_#t~malloc33#1.base, task_#t~malloc33#1.offset; {2655#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} is VALID [2022-02-20 17:10:58,109 INFO L272 TraceCheckUtils]: 61: Hoare triple {2655#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} call task_#t~ret34#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); {2599#true} is VALID [2022-02-20 17:10:58,109 INFO L290 TraceCheckUtils]: 62: Hoare triple {2599#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~i := #in~i; {2794#(= tree_inorder_~t.base |tree_inorder_#in~t.base|)} is VALID [2022-02-20 17:10:58,110 INFO L290 TraceCheckUtils]: 63: Hoare triple {2794#(= tree_inorder_~t.base |tree_inorder_#in~t.base|)} assume ~t.base == 0bv32 && ~t.offset == 0bv32;#res := ~i; {2798#(= |tree_inorder_#in~t.base| (_ bv0 32))} is VALID [2022-02-20 17:10:58,110 INFO L290 TraceCheckUtils]: 64: Hoare triple {2798#(= |tree_inorder_#in~t.base| (_ bv0 32))} assume true; {2798#(= |tree_inorder_#in~t.base| (_ bv0 32))} is VALID [2022-02-20 17:10:58,111 INFO L284 TraceCheckUtils]: 65: Hoare quadruple {2798#(= |tree_inorder_#in~t.base| (_ bv0 32))} {2655#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} #151#return; {2600#false} is VALID [2022-02-20 17:10:58,111 INFO L290 TraceCheckUtils]: 66: Hoare triple {2600#false} havoc task_#t~ret34#1;call task_#t~mem35#1 := read~intINTTYPE4(task_~x~0#1.base, task_~x~0#1.offset, 4bv32); {2600#false} is VALID [2022-02-20 17:10:58,111 INFO L272 TraceCheckUtils]: 67: Hoare triple {2600#false} call __VERIFIER_assert((if task_~a~1#1 == task_#t~mem35#1 then 1bv32 else 0bv32)); {2600#false} is VALID [2022-02-20 17:10:58,111 INFO L290 TraceCheckUtils]: 68: Hoare triple {2600#false} ~cond := #in~cond; {2600#false} is VALID [2022-02-20 17:10:58,111 INFO L290 TraceCheckUtils]: 69: Hoare triple {2600#false} assume 0bv32 == ~cond; {2600#false} is VALID [2022-02-20 17:10:58,111 INFO L290 TraceCheckUtils]: 70: Hoare triple {2600#false} assume !false; {2600#false} is VALID [2022-02-20 17:10:58,112 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 17:10:58,112 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 17:10:58,112 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 17:10:58,112 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [597264586] [2022-02-20 17:10:58,112 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [597264586] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:10:58,112 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:10:58,112 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-02-20 17:10:58,113 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [700563964] [2022-02-20 17:10:58,113 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:10:58,113 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 17:10:58,113 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:10:58,114 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 17:10:58,158 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 17:10:58,159 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-02-20 17:10:58,159 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 17:10:58,159 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-02-20 17:10:58,159 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=43, Unknown=0, NotChecked=0, Total=56 [2022-02-20 17:10:58,159 INFO L87 Difference]: Start difference. First operand 82 states and 107 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 17:10:59,108 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:10:59,108 INFO L93 Difference]: Finished difference Result 133 states and 174 transitions. [2022-02-20 17:10:59,108 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 17:10:59,109 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 17:10:59,109 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:10:59,109 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 17:10:59,111 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 163 transitions. [2022-02-20 17:10:59,111 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 17:10:59,113 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 163 transitions. [2022-02-20 17:10:59,113 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 163 transitions. [2022-02-20 17:10:59,257 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 163 edges. 163 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:10:59,259 INFO L225 Difference]: With dead ends: 133 [2022-02-20 17:10:59,259 INFO L226 Difference]: Without dead ends: 84 [2022-02-20 17:10:59,260 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 74 GetRequests, 65 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 17:10:59,260 INFO L933 BasicCegarLoop]: 89 mSDtfsCounter, 48 mSDsluCounter, 444 mSDsCounter, 0 mSdLazyCounter, 79 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 52 SdHoareTripleChecker+Valid, 533 SdHoareTripleChecker+Invalid, 100 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 79 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 17:10:59,260 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [52 Valid, 533 Invalid, 100 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 79 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 17:10:59,261 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2022-02-20 17:10:59,265 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 84. [2022-02-20 17:10:59,265 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:10:59,265 INFO L82 GeneralOperation]: Start isEquivalent. First operand 84 states. Second operand has 84 states, 53 states have (on average 1.150943396226415) internal successors, (61), 57 states have internal predecessors, (61), 20 states have call successors, (20), 6 states have call predecessors, (20), 10 states have return successors, (30), 20 states have call predecessors, (30), 20 states have call successors, (30) [2022-02-20 17:10:59,265 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand has 84 states, 53 states have (on average 1.150943396226415) internal successors, (61), 57 states have internal predecessors, (61), 20 states have call successors, (20), 6 states have call predecessors, (20), 10 states have return successors, (30), 20 states have call predecessors, (30), 20 states have call successors, (30) [2022-02-20 17:10:59,265 INFO L87 Difference]: Start difference. First operand 84 states. Second operand has 84 states, 53 states have (on average 1.150943396226415) internal successors, (61), 57 states have internal predecessors, (61), 20 states have call successors, (20), 6 states have call predecessors, (20), 10 states have return successors, (30), 20 states have call predecessors, (30), 20 states have call successors, (30) [2022-02-20 17:10:59,268 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:10:59,268 INFO L93 Difference]: Finished difference Result 84 states and 111 transitions. [2022-02-20 17:10:59,268 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 111 transitions. [2022-02-20 17:10:59,268 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:10:59,268 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:10:59,268 INFO L74 IsIncluded]: Start isIncluded. First operand has 84 states, 53 states have (on average 1.150943396226415) internal successors, (61), 57 states have internal predecessors, (61), 20 states have call successors, (20), 6 states have call predecessors, (20), 10 states have return successors, (30), 20 states have call predecessors, (30), 20 states have call successors, (30) Second operand 84 states. [2022-02-20 17:10:59,268 INFO L87 Difference]: Start difference. First operand has 84 states, 53 states have (on average 1.150943396226415) internal successors, (61), 57 states have internal predecessors, (61), 20 states have call successors, (20), 6 states have call predecessors, (20), 10 states have return successors, (30), 20 states have call predecessors, (30), 20 states have call successors, (30) Second operand 84 states. [2022-02-20 17:10:59,271 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:10:59,271 INFO L93 Difference]: Finished difference Result 84 states and 111 transitions. [2022-02-20 17:10:59,271 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 111 transitions. [2022-02-20 17:10:59,271 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:10:59,272 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:10:59,272 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:10:59,272 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:10:59,272 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 84 states, 53 states have (on average 1.150943396226415) internal successors, (61), 57 states have internal predecessors, (61), 20 states have call successors, (20), 6 states have call predecessors, (20), 10 states have return successors, (30), 20 states have call predecessors, (30), 20 states have call successors, (30) [2022-02-20 17:10:59,274 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 84 states to 84 states and 111 transitions. [2022-02-20 17:10:59,274 INFO L78 Accepts]: Start accepts. Automaton has 84 states and 111 transitions. Word has length 71 [2022-02-20 17:10:59,274 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:10:59,274 INFO L470 AbstractCegarLoop]: Abstraction has 84 states and 111 transitions. [2022-02-20 17:10:59,274 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 17:10:59,274 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 111 transitions. [2022-02-20 17:10:59,275 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 84 [2022-02-20 17:10:59,275 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:10:59,275 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 17:10:59,289 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 17:10:59,481 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 17:10:59,482 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:10:59,482 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:10:59,482 INFO L85 PathProgramCache]: Analyzing trace with hash 1969188871, now seen corresponding path program 1 times [2022-02-20 17:10:59,482 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 17:10:59,482 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1389412035] [2022-02-20 17:10:59,482 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:10:59,483 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 17:10:59,483 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 17:10:59,483 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 17:10:59,484 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (7)] Waiting until timeout for monitored process [2022-02-20 17:10:59,726 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 17:10:59,726 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-02-20 17:10:59,889 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 17:10:59,956 INFO L138 FreeRefinementEngine]: Strategy WOLF found a feasible trace [2022-02-20 17:10:59,956 INFO L628 BasicCegarLoop]: Counterexample is feasible [2022-02-20 17:10:59,957 INFO L764 garLoopResultBuilder]: Registering result UNSAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-02-20 17:10:59,985 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (7)] Forceful destruction successful, exit code 0 [2022-02-20 17:11:00,158 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 17:11:00,161 INFO L732 BasicCegarLoop]: Path program histogram: [1, 1, 1, 1, 1, 1] [2022-02-20 17:11:00,163 INFO L180 ceAbstractionStarter]: Computing trace abstraction results [2022-02-20 17:11:00,193 FATAL L489 DefaultTranslator]: Callstack has procedure call flag but succeeding procedure is empty at [CALL] call #t~ret44 := nondet_tree(); [2022-02-20 17:11:00,195 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 17:11:00,199 INFO L158 Benchmark]: Toolchain (without parser) took 9418.15ms. Allocated memory was 56.6MB in the beginning and 104.9MB in the end (delta: 48.2MB). Free memory was 35.1MB in the beginning and 66.5MB in the end (delta: -31.4MB). Peak memory consumption was 16.8MB. Max. memory is 16.1GB. [2022-02-20 17:11:00,199 INFO L158 Benchmark]: CDTParser took 0.16ms. Allocated memory is still 56.6MB. Free memory was 38.9MB in the beginning and 38.9MB in the end (delta: 44.5kB). There was no memory consumed. Max. memory is 16.1GB. [2022-02-20 17:11:00,200 INFO L158 Benchmark]: CACSL2BoogieTranslator took 301.85ms. Allocated memory was 56.6MB in the beginning and 71.3MB in the end (delta: 14.7MB). Free memory was 34.9MB in the beginning and 49.5MB in the end (delta: -14.7MB). Peak memory consumption was 12.6MB. Max. memory is 16.1GB. [2022-02-20 17:11:00,200 INFO L158 Benchmark]: Boogie Procedure Inliner took 53.75ms. Allocated memory is still 71.3MB. Free memory was 49.5MB in the beginning and 47.3MB in the end (delta: 2.2MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2022-02-20 17:11:00,200 INFO L158 Benchmark]: Boogie Preprocessor took 59.57ms. Allocated memory is still 71.3MB. Free memory was 47.3MB in the beginning and 44.5MB in the end (delta: 2.8MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. [2022-02-20 17:11:00,201 INFO L158 Benchmark]: RCFGBuilder took 620.24ms. Allocated memory is still 71.3MB. Free memory was 44.5MB in the beginning and 37.2MB in the end (delta: 7.3MB). Peak memory consumption was 12.1MB. Max. memory is 16.1GB. [2022-02-20 17:11:00,202 INFO L158 Benchmark]: TraceAbstraction took 8376.15ms. Allocated memory was 71.3MB in the beginning and 104.9MB in the end (delta: 33.6MB). Free memory was 36.7MB in the beginning and 66.5MB in the end (delta: -29.8MB). Peak memory consumption was 3.2MB. Max. memory is 16.1GB. [2022-02-20 17:11:00,203 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.16ms. Allocated memory is still 56.6MB. Free memory was 38.9MB in the beginning and 38.9MB in the end (delta: 44.5kB). There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 301.85ms. Allocated memory was 56.6MB in the beginning and 71.3MB in the end (delta: 14.7MB). Free memory was 34.9MB in the beginning and 49.5MB in the end (delta: -14.7MB). Peak memory consumption was 12.6MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 53.75ms. Allocated memory is still 71.3MB. Free memory was 49.5MB in the beginning and 47.3MB in the end (delta: 2.2MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * Boogie Preprocessor took 59.57ms. Allocated memory is still 71.3MB. Free memory was 47.3MB in the beginning and 44.5MB in the end (delta: 2.8MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. * RCFGBuilder took 620.24ms. Allocated memory is still 71.3MB. Free memory was 44.5MB in the beginning and 37.2MB in the end (delta: 7.3MB). Peak memory consumption was 12.1MB. Max. memory is 16.1GB. * TraceAbstraction took 8376.15ms. Allocated memory was 71.3MB in the beginning and 104.9MB in the end (delta: 33.6MB). Free memory was 36.7MB in the beginning and 66.5MB in the end (delta: -29.8MB). Peak memory consumption was 3.2MB. 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 17:11:00,228 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