/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/verifythis/tree_del_iter.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-27 11:45:27,783 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-27 11:45:27,806 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-27 11:45:27,837 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-27 11:45:27,837 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-27 11:45:27,838 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-27 11:45:27,840 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-27 11:45:27,844 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-27 11:45:27,845 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-27 11:45:27,848 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-27 11:45:27,849 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-27 11:45:27,849 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-27 11:45:27,850 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-27 11:45:27,851 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-27 11:45:27,852 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-27 11:45:27,854 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-27 11:45:27,855 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-27 11:45:27,855 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-27 11:45:27,857 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-27 11:45:27,862 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-27 11:45:27,863 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-27 11:45:27,864 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-27 11:45:27,864 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-27 11:45:27,865 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-27 11:45:27,866 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-27 11:45:27,869 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-27 11:45:27,869 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-27 11:45:27,869 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-27 11:45:27,870 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-27 11:45:27,870 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-27 11:45:27,870 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-27 11:45:27,871 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-27 11:45:27,871 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-27 11:45:27,872 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-27 11:45:27,872 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-27 11:45:27,873 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-27 11:45:27,873 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-27 11:45:27,873 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-27 11:45:27,873 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-27 11:45:27,873 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-27 11:45:27,874 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-27 11:45:27,875 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-27 11:45:27,876 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2022-04-27 11:45:27,903 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-27 11:45:27,904 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-27 11:45:27,904 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-27 11:45:27,904 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-27 11:45:27,904 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-27 11:45:27,904 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-27 11:45:27,905 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-27 11:45:27,905 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-27 11:45:27,905 INFO L138 SettingsManager]: * Use SBE=true [2022-04-27 11:45:27,905 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-27 11:45:27,906 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-27 11:45:27,906 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-27 11:45:27,906 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-27 11:45:27,906 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-27 11:45:27,906 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-27 11:45:27,906 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-27 11:45:27,906 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-27 11:45:27,906 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-27 11:45:27,906 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-27 11:45:27,906 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-27 11:45:27,906 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-27 11:45:27,906 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-27 11:45:27,907 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-27 11:45:27,907 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-27 11:45:27,907 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 11:45:27,907 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-27 11:45:27,907 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-27 11:45:27,907 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-27 11:45:27,907 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-27 11:45:27,907 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-27 11:45:27,907 INFO L138 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2022-04-27 11:45:27,907 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-27 11:45:27,908 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-27 11:45:27,908 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.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-27 11:45:28,093 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-27 11:45:28,112 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-27 11:45:28,114 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-27 11:45:28,114 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-27 11:45:28,115 INFO L275 PluginConnector]: CDTParser initialized [2022-04-27 11:45:28,116 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/verifythis/tree_del_iter.c [2022-04-27 11:45:28,170 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/4b25da454/d1df97490a4045449d2a5a2f0b016646/FLAG0eabf6190 [2022-04-27 11:45:28,557 INFO L306 CDTParser]: Found 1 translation units. [2022-04-27 11:45:28,558 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/verifythis/tree_del_iter.c [2022-04-27 11:45:28,563 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/4b25da454/d1df97490a4045449d2a5a2f0b016646/FLAG0eabf6190 [2022-04-27 11:45:28,573 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/4b25da454/d1df97490a4045449d2a5a2f0b016646 [2022-04-27 11:45:28,575 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-27 11:45:28,576 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-27 11:45:28,578 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-27 11:45:28,578 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-27 11:45:28,580 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-27 11:45:28,583 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 11:45:28" (1/1) ... [2022-04-27 11:45:28,584 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@38450ca4 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:45:28, skipping insertion in model container [2022-04-27 11:45:28,584 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 11:45:28" (1/1) ... [2022-04-27 11:45:28,588 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-27 11:45:28,604 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-27 11:45:28,763 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/verifythis/tree_del_iter.c[586,599] [2022-04-27 11:45:28,789 WARN L1550 CHandler]: Possible shadowing of function min [2022-04-27 11:45:28,806 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 11:45:28,816 INFO L203 MainTranslator]: Completed pre-run [2022-04-27 11:45:28,826 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/verifythis/tree_del_iter.c[586,599] [2022-04-27 11:45:28,848 WARN L1550 CHandler]: Possible shadowing of function min [2022-04-27 11:45:28,854 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 11:45:28,868 INFO L208 MainTranslator]: Completed translation [2022-04-27 11:45:28,868 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:45:28 WrapperNode [2022-04-27 11:45:28,868 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-27 11:45:28,869 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-27 11:45:28,869 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-27 11:45:28,869 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-27 11:45:28,876 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:45:28" (1/1) ... [2022-04-27 11:45:28,876 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:45:28" (1/1) ... [2022-04-27 11:45:28,894 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:45:28" (1/1) ... [2022-04-27 11:45:28,894 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:45:28" (1/1) ... [2022-04-27 11:45:28,914 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:45:28" (1/1) ... [2022-04-27 11:45:28,917 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:45:28" (1/1) ... [2022-04-27 11:45:28,918 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:45:28" (1/1) ... [2022-04-27 11:45:28,930 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-27 11:45:28,932 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-27 11:45:28,932 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-27 11:45:28,932 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-27 11:45:28,933 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:45:28" (1/1) ... [2022-04-27 11:45:28,943 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 11:45:28,951 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:45:28,959 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-04-27 11:45:28,978 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-04-27 11:45:28,993 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-27 11:45:28,994 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-27 11:45:28,995 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_cycle_if_not [2022-04-27 11:45:28,995 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-27 11:45:28,995 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-27 11:45:28,995 INFO L138 BoogieDeclarations]: Found implementation of procedure nondet_tree [2022-04-27 11:45:28,995 INFO L138 BoogieDeclarations]: Found implementation of procedure min [2022-04-27 11:45:28,996 INFO L138 BoogieDeclarations]: Found implementation of procedure tree_del [2022-04-27 11:45:28,996 INFO L138 BoogieDeclarations]: Found implementation of procedure tree_inorder [2022-04-27 11:45:28,996 INFO L138 BoogieDeclarations]: Found implementation of procedure size [2022-04-27 11:45:28,996 INFO L138 BoogieDeclarations]: Found implementation of procedure task [2022-04-27 11:45:28,996 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-27 11:45:28,996 INFO L138 BoogieDeclarations]: Found implementation of procedure #Ultimate.meminit [2022-04-27 11:45:28,996 INFO L130 BoogieDeclarations]: Found specification of procedure calloc [2022-04-27 11:45:28,996 INFO L130 BoogieDeclarations]: Found specification of procedure malloc [2022-04-27 11:45:28,996 INFO L130 BoogieDeclarations]: Found specification of procedure free [2022-04-27 11:45:28,996 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-27 11:45:28,996 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_bool [2022-04-27 11:45:28,997 INFO L130 BoogieDeclarations]: Found specification of procedure assume_cycle_if_not [2022-04-27 11:45:28,997 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-27 11:45:28,997 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-27 11:45:28,997 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-27 11:45:28,997 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-27 11:45:28,997 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-27 11:45:28,997 INFO L130 BoogieDeclarations]: Found specification of procedure nondet_tree [2022-04-27 11:45:28,997 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2022-04-27 11:45:28,997 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-27 11:45:28,997 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2022-04-27 11:45:28,997 INFO L130 BoogieDeclarations]: Found specification of procedure min [2022-04-27 11:45:28,997 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-27 11:45:28,997 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2022-04-27 11:45:28,997 INFO L130 BoogieDeclarations]: Found specification of procedure tree_del [2022-04-27 11:45:28,998 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-27 11:45:28,998 INFO L130 BoogieDeclarations]: Found specification of procedure tree_inorder [2022-04-27 11:45:28,998 INFO L130 BoogieDeclarations]: Found specification of procedure size [2022-04-27 11:45:28,998 INFO L130 BoogieDeclarations]: Found specification of procedure task [2022-04-27 11:45:28,998 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-04-27 11:45:28,998 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.meminit [2022-04-27 11:45:28,998 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-27 11:45:28,998 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-27 11:45:28,998 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-27 11:45:28,998 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-27 11:45:29,095 INFO L234 CfgBuilder]: Building ICFG [2022-04-27 11:45:29,096 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-27 11:45:29,393 INFO L275 CfgBuilder]: Performing block encoding [2022-04-27 11:45:29,398 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-27 11:45:29,398 INFO L299 CfgBuilder]: Removed 3 assume(true) statements. [2022-04-27 11:45:29,400 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 11:45:29 BoogieIcfgContainer [2022-04-27 11:45:29,400 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-27 11:45:29,401 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-27 11:45:29,401 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-27 11:45:29,403 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-27 11:45:29,403 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 27.04 11:45:28" (1/3) ... [2022-04-27 11:45:29,404 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@773340c6 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 11:45:29, skipping insertion in model container [2022-04-27 11:45:29,404 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:45:28" (2/3) ... [2022-04-27 11:45:29,404 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@773340c6 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 11:45:29, skipping insertion in model container [2022-04-27 11:45:29,404 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 11:45:29" (3/3) ... [2022-04-27 11:45:29,405 INFO L111 eAbstractionObserver]: Analyzing ICFG tree_del_iter.c [2022-04-27 11:45:29,414 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-27 11:45:29,415 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-27 11:45:29,450 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-27 11:45:29,454 INFO L357 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, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@3caa8122, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@167b6a96 [2022-04-27 11:45:29,455 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-27 11:45:29,460 INFO L276 IsEmpty]: Start isEmpty. Operand has 98 states, 60 states have (on average 1.2666666666666666) internal successors, (76), 61 states have internal predecessors, (76), 25 states have call successors, (25), 11 states have call predecessors, (25), 11 states have return successors, (25), 25 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-27 11:45:29,467 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-27 11:45:29,467 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:45:29,467 INFO L195 NwaCegarLoop]: 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, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:45:29,468 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:45:29,471 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:45:29,471 INFO L85 PathProgramCache]: Analyzing trace with hash -738616471, now seen corresponding path program 1 times [2022-04-27 11:45:29,477 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:45:29,477 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1146397853] [2022-04-27 11:45:29,477 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:45:29,477 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:45:29,620 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:29,734 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:45:29,737 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:29,746 INFO L290 TraceCheckUtils]: 0: Hoare triple {130#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #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(16, 2);call #Ultimate.allocInit(12, 3); {101#true} is VALID [2022-04-27 11:45:29,746 INFO L290 TraceCheckUtils]: 1: Hoare triple {101#true} assume true; {101#true} is VALID [2022-04-27 11:45:29,747 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {101#true} {101#true} #197#return; {101#true} is VALID [2022-04-27 11:45:29,757 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-04-27 11:45:29,759 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:29,768 INFO L290 TraceCheckUtils]: 0: Hoare triple {131#(and (= |old(#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; {101#true} is VALID [2022-04-27 11:45:29,769 INFO L290 TraceCheckUtils]: 1: Hoare triple {101#true} assume true; {101#true} is VALID [2022-04-27 11:45:29,769 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {101#true} {101#true} #155#return; {101#true} is VALID [2022-04-27 11:45:29,769 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-27 11:45:29,770 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:29,775 INFO L290 TraceCheckUtils]: 0: Hoare triple {101#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {101#true} is VALID [2022-04-27 11:45:29,775 INFO L290 TraceCheckUtils]: 1: Hoare triple {101#true} assume ~n.base == 0 && ~n.offset == 0;#res := 2147483647; {101#true} is VALID [2022-04-27 11:45:29,776 INFO L290 TraceCheckUtils]: 2: Hoare triple {101#true} assume true; {101#true} is VALID [2022-04-27 11:45:29,776 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {101#true} {101#true} #167#return; {101#true} is VALID [2022-04-27 11:45:29,776 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-27 11:45:29,778 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:29,792 INFO L290 TraceCheckUtils]: 0: Hoare triple {101#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {101#true} is VALID [2022-04-27 11:45:29,793 INFO L290 TraceCheckUtils]: 1: Hoare triple {101#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {132#(= |size_#res| 0)} is VALID [2022-04-27 11:45:29,794 INFO L290 TraceCheckUtils]: 2: Hoare triple {132#(= |size_#res| 0)} assume true; {132#(= |size_#res| 0)} is VALID [2022-04-27 11:45:29,795 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {132#(= |size_#res| 0)} {101#true} #169#return; {117#(= |task_#t~ret33| 0)} is VALID [2022-04-27 11:45:29,796 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-27 11:45:29,805 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:29,838 INFO L290 TraceCheckUtils]: 0: Hoare triple {101#true} ~cond := #in~cond; {133#(= assume_cycle_if_not_~cond |assume_cycle_if_not_#in~cond|)} is VALID [2022-04-27 11:45:29,839 INFO L290 TraceCheckUtils]: 1: Hoare triple {133#(= assume_cycle_if_not_~cond |assume_cycle_if_not_#in~cond|)} assume !(0 == ~cond); {134#(not (= |assume_cycle_if_not_#in~cond| 0))} is VALID [2022-04-27 11:45:29,839 INFO L290 TraceCheckUtils]: 2: Hoare triple {134#(not (= |assume_cycle_if_not_#in~cond| 0))} assume true; {134#(not (= |assume_cycle_if_not_#in~cond| 0))} is VALID [2022-04-27 11:45:29,840 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {134#(not (= |assume_cycle_if_not_#in~cond| 0))} {118#(= task_~n~1 0)} #171#return; {102#false} is VALID [2022-04-27 11:45:29,849 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 29 [2022-04-27 11:45:29,851 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:29,856 INFO L290 TraceCheckUtils]: 0: Hoare triple {135#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {101#true} is VALID [2022-04-27 11:45:29,856 INFO L290 TraceCheckUtils]: 1: Hoare triple {101#true} assume true; {101#true} is VALID [2022-04-27 11:45:29,856 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {101#true} {102#false} #173#return; {102#false} is VALID [2022-04-27 11:45:29,869 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 34 [2022-04-27 11:45:29,877 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:29,887 INFO L290 TraceCheckUtils]: 0: Hoare triple {136#(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; {101#true} is VALID [2022-04-27 11:45:29,887 INFO L290 TraceCheckUtils]: 1: Hoare triple {101#true} assume ~t.base == 0 && ~t.offset == 0;#res := ~i; {101#true} is VALID [2022-04-27 11:45:29,887 INFO L290 TraceCheckUtils]: 2: Hoare triple {101#true} assume true; {101#true} is VALID [2022-04-27 11:45:29,887 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {101#true} {102#false} #175#return; {102#false} is VALID [2022-04-27 11:45:29,888 INFO L272 TraceCheckUtils]: 0: Hoare triple {101#true} call ULTIMATE.init(); {130#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:45:29,889 INFO L290 TraceCheckUtils]: 1: Hoare triple {130#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #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(16, 2);call #Ultimate.allocInit(12, 3); {101#true} is VALID [2022-04-27 11:45:29,889 INFO L290 TraceCheckUtils]: 2: Hoare triple {101#true} assume true; {101#true} is VALID [2022-04-27 11:45:29,889 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {101#true} {101#true} #197#return; {101#true} is VALID [2022-04-27 11:45:29,889 INFO L272 TraceCheckUtils]: 4: Hoare triple {101#true} call #t~ret46 := main(); {101#true} is VALID [2022-04-27 11:45:29,891 INFO L272 TraceCheckUtils]: 5: Hoare triple {101#true} call #t~ret45.base, #t~ret45.offset := nondet_tree(); {131#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-27 11:45:29,891 INFO L290 TraceCheckUtils]: 6: Hoare triple {131#(and (= |old(#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; {101#true} is VALID [2022-04-27 11:45:29,891 INFO L290 TraceCheckUtils]: 7: Hoare triple {101#true} assume true; {101#true} is VALID [2022-04-27 11:45:29,891 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {101#true} {101#true} #155#return; {101#true} is VALID [2022-04-27 11:45:29,891 INFO L272 TraceCheckUtils]: 9: Hoare triple {101#true} call task(#t~ret45.base, #t~ret45.offset); {101#true} is VALID [2022-04-27 11:45:29,891 INFO L290 TraceCheckUtils]: 10: Hoare triple {101#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {101#true} is VALID [2022-04-27 11:45:29,892 INFO L272 TraceCheckUtils]: 11: Hoare triple {101#true} call #t~ret32 := min(~t.base, ~t.offset); {101#true} is VALID [2022-04-27 11:45:29,892 INFO L290 TraceCheckUtils]: 12: Hoare triple {101#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {101#true} is VALID [2022-04-27 11:45:29,892 INFO L290 TraceCheckUtils]: 13: Hoare triple {101#true} assume ~n.base == 0 && ~n.offset == 0;#res := 2147483647; {101#true} is VALID [2022-04-27 11:45:29,892 INFO L290 TraceCheckUtils]: 14: Hoare triple {101#true} assume true; {101#true} is VALID [2022-04-27 11:45:29,892 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {101#true} {101#true} #167#return; {101#true} is VALID [2022-04-27 11:45:29,892 INFO L290 TraceCheckUtils]: 16: Hoare triple {101#true} assume -2147483648 <= #t~ret32 && #t~ret32 <= 2147483647;~a~1 := #t~ret32;havoc #t~ret32;call ~#b~1.base, ~#b~1.offset := #Ultimate.allocOnStack(4); {101#true} is VALID [2022-04-27 11:45:29,892 INFO L272 TraceCheckUtils]: 17: Hoare triple {101#true} call #t~ret33 := size(~t.base, ~t.offset); {101#true} is VALID [2022-04-27 11:45:29,893 INFO L290 TraceCheckUtils]: 18: Hoare triple {101#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {101#true} is VALID [2022-04-27 11:45:29,893 INFO L290 TraceCheckUtils]: 19: Hoare triple {101#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {132#(= |size_#res| 0)} is VALID [2022-04-27 11:45:29,894 INFO L290 TraceCheckUtils]: 20: Hoare triple {132#(= |size_#res| 0)} assume true; {132#(= |size_#res| 0)} is VALID [2022-04-27 11:45:29,894 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {132#(= |size_#res| 0)} {101#true} #169#return; {117#(= |task_#t~ret33| 0)} is VALID [2022-04-27 11:45:29,895 INFO L290 TraceCheckUtils]: 22: Hoare triple {117#(= |task_#t~ret33| 0)} assume -2147483648 <= #t~ret33 && #t~ret33 <= 2147483647;~n~1 := #t~ret33;havoc #t~ret33; {118#(= task_~n~1 0)} is VALID [2022-04-27 11:45:29,897 INFO L272 TraceCheckUtils]: 23: Hoare triple {118#(= task_~n~1 0)} call assume_cycle_if_not((if 0 != ~n~1 then 1 else 0)); {101#true} is VALID [2022-04-27 11:45:29,898 INFO L290 TraceCheckUtils]: 24: Hoare triple {101#true} ~cond := #in~cond; {133#(= assume_cycle_if_not_~cond |assume_cycle_if_not_#in~cond|)} is VALID [2022-04-27 11:45:29,898 INFO L290 TraceCheckUtils]: 25: Hoare triple {133#(= assume_cycle_if_not_~cond |assume_cycle_if_not_#in~cond|)} assume !(0 == ~cond); {134#(not (= |assume_cycle_if_not_#in~cond| 0))} is VALID [2022-04-27 11:45:29,898 INFO L290 TraceCheckUtils]: 26: Hoare triple {134#(not (= |assume_cycle_if_not_#in~cond| 0))} assume true; {134#(not (= |assume_cycle_if_not_#in~cond| 0))} is VALID [2022-04-27 11:45:29,899 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {134#(not (= |assume_cycle_if_not_#in~cond| 0))} {118#(= task_~n~1 0)} #171#return; {102#false} is VALID [2022-04-27 11:45:29,900 INFO L290 TraceCheckUtils]: 28: Hoare triple {102#false} call #t~malloc34.base, #t~malloc34.offset := #Ultimate.allocOnHeap(4 * ~n~1); {102#false} is VALID [2022-04-27 11:45:29,900 INFO L272 TraceCheckUtils]: 29: Hoare triple {102#false} call #Ultimate.meminit(#t~malloc34.base, #t~malloc34.offset, ~n~1, 4, 4 * ~n~1); {135#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-27 11:45:29,901 INFO L290 TraceCheckUtils]: 30: Hoare triple {135#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {101#true} is VALID [2022-04-27 11:45:29,901 INFO L290 TraceCheckUtils]: 31: Hoare triple {101#true} assume true; {101#true} is VALID [2022-04-27 11:45:29,901 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {101#true} {102#false} #173#return; {102#false} is VALID [2022-04-27 11:45:29,901 INFO L290 TraceCheckUtils]: 33: Hoare triple {102#false} ~x~0.base, ~x~0.offset := #t~malloc34.base, #t~malloc34.offset; {102#false} is VALID [2022-04-27 11:45:29,902 INFO L272 TraceCheckUtils]: 34: Hoare triple {102#false} call #t~ret35 := tree_inorder(~t.base, ~t.offset, ~x~0.base, ~x~0.offset, ~n~1); {136#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-27 11:45:29,902 INFO L290 TraceCheckUtils]: 35: Hoare triple {136#(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; {101#true} is VALID [2022-04-27 11:45:29,902 INFO L290 TraceCheckUtils]: 36: Hoare triple {101#true} assume ~t.base == 0 && ~t.offset == 0;#res := ~i; {101#true} is VALID [2022-04-27 11:45:29,902 INFO L290 TraceCheckUtils]: 37: Hoare triple {101#true} assume true; {101#true} is VALID [2022-04-27 11:45:29,902 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {101#true} {102#false} #175#return; {102#false} is VALID [2022-04-27 11:45:29,902 INFO L290 TraceCheckUtils]: 39: Hoare triple {102#false} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;call #t~mem36 := read~int(~x~0.base, ~x~0.offset, 4); {102#false} is VALID [2022-04-27 11:45:29,903 INFO L272 TraceCheckUtils]: 40: Hoare triple {102#false} call __VERIFIER_assert((if ~a~1 == #t~mem36 then 1 else 0)); {102#false} is VALID [2022-04-27 11:45:29,903 INFO L290 TraceCheckUtils]: 41: Hoare triple {102#false} ~cond := #in~cond; {102#false} is VALID [2022-04-27 11:45:29,903 INFO L290 TraceCheckUtils]: 42: Hoare triple {102#false} assume 0 == ~cond; {102#false} is VALID [2022-04-27 11:45:29,903 INFO L290 TraceCheckUtils]: 43: Hoare triple {102#false} assume !false; {102#false} is VALID [2022-04-27 11:45:29,905 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 11:45:29,905 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:45:29,905 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1146397853] [2022-04-27 11:45:29,906 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1146397853] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 11:45:29,906 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 11:45:29,906 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-27 11:45:29,908 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1566573497] [2022-04-27 11:45:29,909 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 11:45:29,913 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.7) internal successors, (27), 6 states have internal predecessors, (27), 3 states have call successors, (10), 6 states have call predecessors, (10), 3 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) Word has length 44 [2022-04-27 11:45:29,915 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:45:29,917 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 2.7) internal successors, (27), 6 states have internal predecessors, (27), 3 states have call successors, (10), 6 states have call predecessors, (10), 3 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-27 11:45:29,961 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:45:29,961 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-27 11:45:29,961 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:45:29,984 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-27 11:45:29,985 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=88, Unknown=0, NotChecked=0, Total=110 [2022-04-27 11:45:29,987 INFO L87 Difference]: Start difference. First operand has 98 states, 60 states have (on average 1.2666666666666666) internal successors, (76), 61 states have internal predecessors, (76), 25 states have call successors, (25), 11 states have call predecessors, (25), 11 states have return successors, (25), 25 states have call predecessors, (25), 25 states have call successors, (25) Second operand has 11 states, 10 states have (on average 2.7) internal successors, (27), 6 states have internal predecessors, (27), 3 states have call successors, (10), 6 states have call predecessors, (10), 3 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-27 11:45:31,865 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:45:31,866 INFO L93 Difference]: Finished difference Result 174 states and 235 transitions. [2022-04-27 11:45:31,866 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-27 11:45:31,866 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.7) internal successors, (27), 6 states have internal predecessors, (27), 3 states have call successors, (10), 6 states have call predecessors, (10), 3 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) Word has length 44 [2022-04-27 11:45:31,867 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:45:31,868 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.7) internal successors, (27), 6 states have internal predecessors, (27), 3 states have call successors, (10), 6 states have call predecessors, (10), 3 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-27 11:45:31,881 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 235 transitions. [2022-04-27 11:45:31,885 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.7) internal successors, (27), 6 states have internal predecessors, (27), 3 states have call successors, (10), 6 states have call predecessors, (10), 3 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-27 11:45:31,893 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 235 transitions. [2022-04-27 11:45:31,894 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 235 transitions. [2022-04-27 11:45:32,132 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 235 edges. 235 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:45:32,141 INFO L225 Difference]: With dead ends: 174 [2022-04-27 11:45:32,141 INFO L226 Difference]: Without dead ends: 98 [2022-04-27 11:45:32,143 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 29 GetRequests, 13 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 15 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=77, Invalid=229, Unknown=0, NotChecked=0, Total=306 [2022-04-27 11:45:32,145 INFO L413 NwaCegarLoop]: 79 mSDtfsCounter, 150 mSDsluCounter, 18 mSDsCounter, 0 mSdLazyCounter, 736 mSolverCounterSat, 129 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 169 SdHoareTripleChecker+Valid, 97 SdHoareTripleChecker+Invalid, 865 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 129 IncrementalHoareTripleChecker+Valid, 736 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-27 11:45:32,145 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [169 Valid, 97 Invalid, 865 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [129 Valid, 736 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-27 11:45:32,157 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2022-04-27 11:45:32,175 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 91. [2022-04-27 11:45:32,175 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:45:32,176 INFO L82 GeneralOperation]: Start isEquivalent. First operand 98 states. Second operand has 91 states, 55 states have (on average 1.1636363636363636) internal successors, (64), 56 states have internal predecessors, (64), 25 states have call successors, (25), 11 states have call predecessors, (25), 10 states have return successors, (26), 23 states have call predecessors, (26), 23 states have call successors, (26) [2022-04-27 11:45:32,177 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand has 91 states, 55 states have (on average 1.1636363636363636) internal successors, (64), 56 states have internal predecessors, (64), 25 states have call successors, (25), 11 states have call predecessors, (25), 10 states have return successors, (26), 23 states have call predecessors, (26), 23 states have call successors, (26) [2022-04-27 11:45:32,177 INFO L87 Difference]: Start difference. First operand 98 states. Second operand has 91 states, 55 states have (on average 1.1636363636363636) internal successors, (64), 56 states have internal predecessors, (64), 25 states have call successors, (25), 11 states have call predecessors, (25), 10 states have return successors, (26), 23 states have call predecessors, (26), 23 states have call successors, (26) [2022-04-27 11:45:32,183 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:45:32,183 INFO L93 Difference]: Finished difference Result 98 states and 127 transitions. [2022-04-27 11:45:32,183 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 127 transitions. [2022-04-27 11:45:32,185 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:45:32,185 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:45:32,186 INFO L74 IsIncluded]: Start isIncluded. First operand has 91 states, 55 states have (on average 1.1636363636363636) internal successors, (64), 56 states have internal predecessors, (64), 25 states have call successors, (25), 11 states have call predecessors, (25), 10 states have return successors, (26), 23 states have call predecessors, (26), 23 states have call successors, (26) Second operand 98 states. [2022-04-27 11:45:32,186 INFO L87 Difference]: Start difference. First operand has 91 states, 55 states have (on average 1.1636363636363636) internal successors, (64), 56 states have internal predecessors, (64), 25 states have call successors, (25), 11 states have call predecessors, (25), 10 states have return successors, (26), 23 states have call predecessors, (26), 23 states have call successors, (26) Second operand 98 states. [2022-04-27 11:45:32,191 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:45:32,191 INFO L93 Difference]: Finished difference Result 98 states and 127 transitions. [2022-04-27 11:45:32,191 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 127 transitions. [2022-04-27 11:45:32,193 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:45:32,193 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:45:32,193 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:45:32,193 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:45:32,194 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 91 states, 55 states have (on average 1.1636363636363636) internal successors, (64), 56 states have internal predecessors, (64), 25 states have call successors, (25), 11 states have call predecessors, (25), 10 states have return successors, (26), 23 states have call predecessors, (26), 23 states have call successors, (26) [2022-04-27 11:45:32,197 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 91 states to 91 states and 115 transitions. [2022-04-27 11:45:32,198 INFO L78 Accepts]: Start accepts. Automaton has 91 states and 115 transitions. Word has length 44 [2022-04-27 11:45:32,198 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:45:32,198 INFO L495 AbstractCegarLoop]: Abstraction has 91 states and 115 transitions. [2022-04-27 11:45:32,198 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.7) internal successors, (27), 6 states have internal predecessors, (27), 3 states have call successors, (10), 6 states have call predecessors, (10), 3 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-27 11:45:32,199 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 115 transitions. [2022-04-27 11:45:32,200 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2022-04-27 11:45:32,200 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:45:32,201 INFO L195 NwaCegarLoop]: 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, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:45:32,201 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-27 11:45:32,201 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:45:32,201 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:45:32,201 INFO L85 PathProgramCache]: Analyzing trace with hash -1232690542, now seen corresponding path program 1 times [2022-04-27 11:45:32,201 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:45:32,202 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1732613893] [2022-04-27 11:45:32,202 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:45:32,202 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:45:32,229 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:32,286 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:45:32,288 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:32,296 INFO L290 TraceCheckUtils]: 0: Hoare triple {756#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #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(16, 2);call #Ultimate.allocInit(12, 3); {714#true} is VALID [2022-04-27 11:45:32,296 INFO L290 TraceCheckUtils]: 1: Hoare triple {714#true} assume true; {714#true} is VALID [2022-04-27 11:45:32,296 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {714#true} {714#true} #197#return; {714#true} is VALID [2022-04-27 11:45:32,304 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-04-27 11:45:32,311 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:32,342 INFO L290 TraceCheckUtils]: 0: Hoare triple {757#(and (= |old(#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; {758#(and (<= |nondet_tree_#res.offset| 0) (<= 0 |nondet_tree_#res.offset|) (<= |nondet_tree_#res.base| 0) (<= 0 |nondet_tree_#res.base|))} is VALID [2022-04-27 11:45:32,342 INFO L290 TraceCheckUtils]: 1: Hoare triple {758#(and (<= |nondet_tree_#res.offset| 0) (<= 0 |nondet_tree_#res.offset|) (<= |nondet_tree_#res.base| 0) (<= 0 |nondet_tree_#res.base|))} assume true; {758#(and (<= |nondet_tree_#res.offset| 0) (<= 0 |nondet_tree_#res.offset|) (<= |nondet_tree_#res.base| 0) (<= 0 |nondet_tree_#res.base|))} is VALID [2022-04-27 11:45:32,343 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {758#(and (<= |nondet_tree_#res.offset| 0) (<= 0 |nondet_tree_#res.offset|) (<= |nondet_tree_#res.base| 0) (<= 0 |nondet_tree_#res.base|))} {714#true} #155#return; {722#(and (= |main_#t~ret45.offset| 0) (= |main_#t~ret45.base| 0))} is VALID [2022-04-27 11:45:32,343 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-27 11:45:32,345 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:32,347 INFO L290 TraceCheckUtils]: 0: Hoare triple {714#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {714#true} is VALID [2022-04-27 11:45:32,347 INFO L290 TraceCheckUtils]: 1: Hoare triple {714#true} assume ~n.base == 0 && ~n.offset == 0;#res := 2147483647; {714#true} is VALID [2022-04-27 11:45:32,348 INFO L290 TraceCheckUtils]: 2: Hoare triple {714#true} assume true; {714#true} is VALID [2022-04-27 11:45:32,348 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {714#true} {724#(and (= task_~t.offset 0) (= task_~t.base 0))} #167#return; {724#(and (= task_~t.offset 0) (= task_~t.base 0))} is VALID [2022-04-27 11:45:32,348 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-27 11:45:32,353 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:32,409 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-27 11:45:32,411 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:32,414 INFO L290 TraceCheckUtils]: 0: Hoare triple {714#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {714#true} is VALID [2022-04-27 11:45:32,414 INFO L290 TraceCheckUtils]: 1: Hoare triple {714#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {714#true} is VALID [2022-04-27 11:45:32,414 INFO L290 TraceCheckUtils]: 2: Hoare triple {714#true} assume true; {714#true} is VALID [2022-04-27 11:45:32,414 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {714#true} {760#(or (not (= |size_#in~t.base| 0)) (and (not (= size_~t.offset 0)) (= |size_#in~t.offset| size_~t.offset)))} #193#return; {760#(or (not (= |size_#in~t.base| 0)) (and (not (= size_~t.offset 0)) (= |size_#in~t.offset| size_~t.offset)))} is VALID [2022-04-27 11:45:32,415 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2022-04-27 11:45:32,416 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:32,424 INFO L290 TraceCheckUtils]: 0: Hoare triple {714#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {714#true} is VALID [2022-04-27 11:45:32,424 INFO L290 TraceCheckUtils]: 1: Hoare triple {714#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {714#true} is VALID [2022-04-27 11:45:32,424 INFO L290 TraceCheckUtils]: 2: Hoare triple {714#true} assume true; {714#true} is VALID [2022-04-27 11:45:32,425 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {714#true} {765#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} #195#return; {765#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-04-27 11:45:32,425 INFO L290 TraceCheckUtils]: 0: Hoare triple {714#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {759#(and (or (= size_~t.offset 0) (= |size_#in~t.offset| size_~t.offset)) (= |size_#in~t.base| size_~t.base))} is VALID [2022-04-27 11:45:32,426 INFO L290 TraceCheckUtils]: 1: Hoare triple {759#(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~mem28.base, #t~mem28.offset := read~$Pointer$(~t.base, 4 + ~t.offset, 4); {760#(or (not (= |size_#in~t.base| 0)) (and (not (= size_~t.offset 0)) (= |size_#in~t.offset| size_~t.offset)))} is VALID [2022-04-27 11:45:32,426 INFO L272 TraceCheckUtils]: 2: Hoare triple {760#(or (not (= |size_#in~t.base| 0)) (and (not (= size_~t.offset 0)) (= |size_#in~t.offset| size_~t.offset)))} call #t~ret29 := size(#t~mem28.base, #t~mem28.offset); {714#true} is VALID [2022-04-27 11:45:32,426 INFO L290 TraceCheckUtils]: 3: Hoare triple {714#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {714#true} is VALID [2022-04-27 11:45:32,426 INFO L290 TraceCheckUtils]: 4: Hoare triple {714#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {714#true} is VALID [2022-04-27 11:45:32,426 INFO L290 TraceCheckUtils]: 5: Hoare triple {714#true} assume true; {714#true} is VALID [2022-04-27 11:45:32,427 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {714#true} {760#(or (not (= |size_#in~t.base| 0)) (and (not (= size_~t.offset 0)) (= |size_#in~t.offset| size_~t.offset)))} #193#return; {760#(or (not (= |size_#in~t.base| 0)) (and (not (= size_~t.offset 0)) (= |size_#in~t.offset| size_~t.offset)))} is VALID [2022-04-27 11:45:32,427 INFO L290 TraceCheckUtils]: 7: Hoare triple {760#(or (not (= |size_#in~t.base| 0)) (and (not (= size_~t.offset 0)) (= |size_#in~t.offset| size_~t.offset)))} assume -2147483648 <= #t~ret29 && #t~ret29 <= 2147483647;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~t.base, 8 + ~t.offset, 4); {765#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-04-27 11:45:32,428 INFO L272 TraceCheckUtils]: 8: Hoare triple {765#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} call #t~ret31 := size(#t~mem30.base, #t~mem30.offset); {714#true} is VALID [2022-04-27 11:45:32,428 INFO L290 TraceCheckUtils]: 9: Hoare triple {714#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {714#true} is VALID [2022-04-27 11:45:32,428 INFO L290 TraceCheckUtils]: 10: Hoare triple {714#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {714#true} is VALID [2022-04-27 11:45:32,428 INFO L290 TraceCheckUtils]: 11: Hoare triple {714#true} assume true; {714#true} is VALID [2022-04-27 11:45:32,429 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {714#true} {765#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} #195#return; {765#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-04-27 11:45:32,429 INFO L290 TraceCheckUtils]: 13: Hoare triple {765#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} assume -2147483648 <= #t~ret31 && #t~ret31 <= 2147483647;#res := 1 + (#t~ret29 + #t~ret31);havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29;havoc #t~mem30.base, #t~mem30.offset;havoc #t~ret31; {765#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-04-27 11:45:32,429 INFO L290 TraceCheckUtils]: 14: Hoare triple {765#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} assume true; {765#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-04-27 11:45:32,430 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {765#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} {724#(and (= task_~t.offset 0) (= task_~t.base 0))} #169#return; {715#false} is VALID [2022-04-27 11:45:32,430 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 35 [2022-04-27 11:45:32,431 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:32,433 INFO L290 TraceCheckUtils]: 0: Hoare triple {714#true} ~cond := #in~cond; {714#true} is VALID [2022-04-27 11:45:32,433 INFO L290 TraceCheckUtils]: 1: Hoare triple {714#true} assume !(0 == ~cond); {714#true} is VALID [2022-04-27 11:45:32,433 INFO L290 TraceCheckUtils]: 2: Hoare triple {714#true} assume true; {714#true} is VALID [2022-04-27 11:45:32,434 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {714#true} {715#false} #171#return; {715#false} is VALID [2022-04-27 11:45:32,445 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 41 [2022-04-27 11:45:32,446 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:32,449 INFO L290 TraceCheckUtils]: 0: Hoare triple {770#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {714#true} is VALID [2022-04-27 11:45:32,449 INFO L290 TraceCheckUtils]: 1: Hoare triple {714#true} assume true; {714#true} is VALID [2022-04-27 11:45:32,449 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {714#true} {715#false} #173#return; {715#false} is VALID [2022-04-27 11:45:32,458 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 46 [2022-04-27 11:45:32,459 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:32,461 INFO L290 TraceCheckUtils]: 0: Hoare triple {771#(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; {714#true} is VALID [2022-04-27 11:45:32,461 INFO L290 TraceCheckUtils]: 1: Hoare triple {714#true} assume ~t.base == 0 && ~t.offset == 0;#res := ~i; {714#true} is VALID [2022-04-27 11:45:32,461 INFO L290 TraceCheckUtils]: 2: Hoare triple {714#true} assume true; {714#true} is VALID [2022-04-27 11:45:32,462 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {714#true} {715#false} #175#return; {715#false} is VALID [2022-04-27 11:45:32,462 INFO L272 TraceCheckUtils]: 0: Hoare triple {714#true} call ULTIMATE.init(); {756#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:45:32,462 INFO L290 TraceCheckUtils]: 1: Hoare triple {756#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #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(16, 2);call #Ultimate.allocInit(12, 3); {714#true} is VALID [2022-04-27 11:45:32,462 INFO L290 TraceCheckUtils]: 2: Hoare triple {714#true} assume true; {714#true} is VALID [2022-04-27 11:45:32,463 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {714#true} {714#true} #197#return; {714#true} is VALID [2022-04-27 11:45:32,463 INFO L272 TraceCheckUtils]: 4: Hoare triple {714#true} call #t~ret46 := main(); {714#true} is VALID [2022-04-27 11:45:32,463 INFO L272 TraceCheckUtils]: 5: Hoare triple {714#true} call #t~ret45.base, #t~ret45.offset := nondet_tree(); {757#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-27 11:45:32,464 INFO L290 TraceCheckUtils]: 6: Hoare triple {757#(and (= |old(#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; {758#(and (<= |nondet_tree_#res.offset| 0) (<= 0 |nondet_tree_#res.offset|) (<= |nondet_tree_#res.base| 0) (<= 0 |nondet_tree_#res.base|))} is VALID [2022-04-27 11:45:32,464 INFO L290 TraceCheckUtils]: 7: Hoare triple {758#(and (<= |nondet_tree_#res.offset| 0) (<= 0 |nondet_tree_#res.offset|) (<= |nondet_tree_#res.base| 0) (<= 0 |nondet_tree_#res.base|))} assume true; {758#(and (<= |nondet_tree_#res.offset| 0) (<= 0 |nondet_tree_#res.offset|) (<= |nondet_tree_#res.base| 0) (<= 0 |nondet_tree_#res.base|))} is VALID [2022-04-27 11:45:32,465 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {758#(and (<= |nondet_tree_#res.offset| 0) (<= 0 |nondet_tree_#res.offset|) (<= |nondet_tree_#res.base| 0) (<= 0 |nondet_tree_#res.base|))} {714#true} #155#return; {722#(and (= |main_#t~ret45.offset| 0) (= |main_#t~ret45.base| 0))} is VALID [2022-04-27 11:45:32,465 INFO L272 TraceCheckUtils]: 9: Hoare triple {722#(and (= |main_#t~ret45.offset| 0) (= |main_#t~ret45.base| 0))} call task(#t~ret45.base, #t~ret45.offset); {723#(and (= |task_#in~t.base| 0) (= |task_#in~t.offset| 0))} is VALID [2022-04-27 11:45:32,466 INFO L290 TraceCheckUtils]: 10: Hoare triple {723#(and (= |task_#in~t.base| 0) (= |task_#in~t.offset| 0))} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {724#(and (= task_~t.offset 0) (= task_~t.base 0))} is VALID [2022-04-27 11:45:32,466 INFO L272 TraceCheckUtils]: 11: Hoare triple {724#(and (= task_~t.offset 0) (= task_~t.base 0))} call #t~ret32 := min(~t.base, ~t.offset); {714#true} is VALID [2022-04-27 11:45:32,466 INFO L290 TraceCheckUtils]: 12: Hoare triple {714#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {714#true} is VALID [2022-04-27 11:45:32,466 INFO L290 TraceCheckUtils]: 13: Hoare triple {714#true} assume ~n.base == 0 && ~n.offset == 0;#res := 2147483647; {714#true} is VALID [2022-04-27 11:45:32,466 INFO L290 TraceCheckUtils]: 14: Hoare triple {714#true} assume true; {714#true} is VALID [2022-04-27 11:45:32,467 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {714#true} {724#(and (= task_~t.offset 0) (= task_~t.base 0))} #167#return; {724#(and (= task_~t.offset 0) (= task_~t.base 0))} is VALID [2022-04-27 11:45:32,467 INFO L290 TraceCheckUtils]: 16: Hoare triple {724#(and (= task_~t.offset 0) (= task_~t.base 0))} assume -2147483648 <= #t~ret32 && #t~ret32 <= 2147483647;~a~1 := #t~ret32;havoc #t~ret32;call ~#b~1.base, ~#b~1.offset := #Ultimate.allocOnStack(4); {724#(and (= task_~t.offset 0) (= task_~t.base 0))} is VALID [2022-04-27 11:45:32,467 INFO L272 TraceCheckUtils]: 17: Hoare triple {724#(and (= task_~t.offset 0) (= task_~t.base 0))} call #t~ret33 := size(~t.base, ~t.offset); {714#true} is VALID [2022-04-27 11:45:32,468 INFO L290 TraceCheckUtils]: 18: Hoare triple {714#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {759#(and (or (= size_~t.offset 0) (= |size_#in~t.offset| size_~t.offset)) (= |size_#in~t.base| size_~t.base))} is VALID [2022-04-27 11:45:32,468 INFO L290 TraceCheckUtils]: 19: Hoare triple {759#(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~mem28.base, #t~mem28.offset := read~$Pointer$(~t.base, 4 + ~t.offset, 4); {760#(or (not (= |size_#in~t.base| 0)) (and (not (= size_~t.offset 0)) (= |size_#in~t.offset| size_~t.offset)))} is VALID [2022-04-27 11:45:32,468 INFO L272 TraceCheckUtils]: 20: Hoare triple {760#(or (not (= |size_#in~t.base| 0)) (and (not (= size_~t.offset 0)) (= |size_#in~t.offset| size_~t.offset)))} call #t~ret29 := size(#t~mem28.base, #t~mem28.offset); {714#true} is VALID [2022-04-27 11:45:32,468 INFO L290 TraceCheckUtils]: 21: Hoare triple {714#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {714#true} is VALID [2022-04-27 11:45:32,469 INFO L290 TraceCheckUtils]: 22: Hoare triple {714#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {714#true} is VALID [2022-04-27 11:45:32,469 INFO L290 TraceCheckUtils]: 23: Hoare triple {714#true} assume true; {714#true} is VALID [2022-04-27 11:45:32,469 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {714#true} {760#(or (not (= |size_#in~t.base| 0)) (and (not (= size_~t.offset 0)) (= |size_#in~t.offset| size_~t.offset)))} #193#return; {760#(or (not (= |size_#in~t.base| 0)) (and (not (= size_~t.offset 0)) (= |size_#in~t.offset| size_~t.offset)))} is VALID [2022-04-27 11:45:32,470 INFO L290 TraceCheckUtils]: 25: Hoare triple {760#(or (not (= |size_#in~t.base| 0)) (and (not (= size_~t.offset 0)) (= |size_#in~t.offset| size_~t.offset)))} assume -2147483648 <= #t~ret29 && #t~ret29 <= 2147483647;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~t.base, 8 + ~t.offset, 4); {765#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-04-27 11:45:32,470 INFO L272 TraceCheckUtils]: 26: Hoare triple {765#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} call #t~ret31 := size(#t~mem30.base, #t~mem30.offset); {714#true} is VALID [2022-04-27 11:45:32,470 INFO L290 TraceCheckUtils]: 27: Hoare triple {714#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {714#true} is VALID [2022-04-27 11:45:32,470 INFO L290 TraceCheckUtils]: 28: Hoare triple {714#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {714#true} is VALID [2022-04-27 11:45:32,470 INFO L290 TraceCheckUtils]: 29: Hoare triple {714#true} assume true; {714#true} is VALID [2022-04-27 11:45:32,471 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {714#true} {765#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} #195#return; {765#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-04-27 11:45:32,471 INFO L290 TraceCheckUtils]: 31: Hoare triple {765#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} assume -2147483648 <= #t~ret31 && #t~ret31 <= 2147483647;#res := 1 + (#t~ret29 + #t~ret31);havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29;havoc #t~mem30.base, #t~mem30.offset;havoc #t~ret31; {765#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-04-27 11:45:32,471 INFO L290 TraceCheckUtils]: 32: Hoare triple {765#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} assume true; {765#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-04-27 11:45:32,472 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {765#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} {724#(and (= task_~t.offset 0) (= task_~t.base 0))} #169#return; {715#false} is VALID [2022-04-27 11:45:32,472 INFO L290 TraceCheckUtils]: 34: Hoare triple {715#false} assume -2147483648 <= #t~ret33 && #t~ret33 <= 2147483647;~n~1 := #t~ret33;havoc #t~ret33; {715#false} is VALID [2022-04-27 11:45:32,472 INFO L272 TraceCheckUtils]: 35: Hoare triple {715#false} call assume_cycle_if_not((if 0 != ~n~1 then 1 else 0)); {714#true} is VALID [2022-04-27 11:45:32,472 INFO L290 TraceCheckUtils]: 36: Hoare triple {714#true} ~cond := #in~cond; {714#true} is VALID [2022-04-27 11:45:32,472 INFO L290 TraceCheckUtils]: 37: Hoare triple {714#true} assume !(0 == ~cond); {714#true} is VALID [2022-04-27 11:45:32,473 INFO L290 TraceCheckUtils]: 38: Hoare triple {714#true} assume true; {714#true} is VALID [2022-04-27 11:45:32,473 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {714#true} {715#false} #171#return; {715#false} is VALID [2022-04-27 11:45:32,473 INFO L290 TraceCheckUtils]: 40: Hoare triple {715#false} call #t~malloc34.base, #t~malloc34.offset := #Ultimate.allocOnHeap(4 * ~n~1); {715#false} is VALID [2022-04-27 11:45:32,473 INFO L272 TraceCheckUtils]: 41: Hoare triple {715#false} call #Ultimate.meminit(#t~malloc34.base, #t~malloc34.offset, ~n~1, 4, 4 * ~n~1); {770#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-27 11:45:32,473 INFO L290 TraceCheckUtils]: 42: Hoare triple {770#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {714#true} is VALID [2022-04-27 11:45:32,473 INFO L290 TraceCheckUtils]: 43: Hoare triple {714#true} assume true; {714#true} is VALID [2022-04-27 11:45:32,473 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {714#true} {715#false} #173#return; {715#false} is VALID [2022-04-27 11:45:32,473 INFO L290 TraceCheckUtils]: 45: Hoare triple {715#false} ~x~0.base, ~x~0.offset := #t~malloc34.base, #t~malloc34.offset; {715#false} is VALID [2022-04-27 11:45:32,474 INFO L272 TraceCheckUtils]: 46: Hoare triple {715#false} call #t~ret35 := tree_inorder(~t.base, ~t.offset, ~x~0.base, ~x~0.offset, ~n~1); {771#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-27 11:45:32,474 INFO L290 TraceCheckUtils]: 47: Hoare triple {771#(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; {714#true} is VALID [2022-04-27 11:45:32,474 INFO L290 TraceCheckUtils]: 48: Hoare triple {714#true} assume ~t.base == 0 && ~t.offset == 0;#res := ~i; {714#true} is VALID [2022-04-27 11:45:32,474 INFO L290 TraceCheckUtils]: 49: Hoare triple {714#true} assume true; {714#true} is VALID [2022-04-27 11:45:32,474 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {714#true} {715#false} #175#return; {715#false} is VALID [2022-04-27 11:45:32,474 INFO L290 TraceCheckUtils]: 51: Hoare triple {715#false} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;call #t~mem36 := read~int(~x~0.base, ~x~0.offset, 4); {715#false} is VALID [2022-04-27 11:45:32,474 INFO L272 TraceCheckUtils]: 52: Hoare triple {715#false} call __VERIFIER_assert((if ~a~1 == #t~mem36 then 1 else 0)); {715#false} is VALID [2022-04-27 11:45:32,474 INFO L290 TraceCheckUtils]: 53: Hoare triple {715#false} ~cond := #in~cond; {715#false} is VALID [2022-04-27 11:45:32,474 INFO L290 TraceCheckUtils]: 54: Hoare triple {715#false} assume 0 == ~cond; {715#false} is VALID [2022-04-27 11:45:32,475 INFO L290 TraceCheckUtils]: 55: Hoare triple {715#false} assume !false; {715#false} is VALID [2022-04-27 11:45:32,475 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 4 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-27 11:45:32,475 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:45:32,475 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1732613893] [2022-04-27 11:45:32,475 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1732613893] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:45:32,475 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [459864836] [2022-04-27 11:45:32,476 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:45:32,476 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:45:32,476 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:45:32,477 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-04-27 11:45:32,497 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-04-27 11:45:32,565 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:32,567 INFO L263 TraceCheckSpWp]: Trace formula consists of 280 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-27 11:45:32,624 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:32,628 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:45:32,920 INFO L272 TraceCheckUtils]: 0: Hoare triple {714#true} call ULTIMATE.init(); {714#true} is VALID [2022-04-27 11:45:32,920 INFO L290 TraceCheckUtils]: 1: Hoare triple {714#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(16, 2);call #Ultimate.allocInit(12, 3); {714#true} is VALID [2022-04-27 11:45:32,920 INFO L290 TraceCheckUtils]: 2: Hoare triple {714#true} assume true; {714#true} is VALID [2022-04-27 11:45:32,920 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {714#true} {714#true} #197#return; {714#true} is VALID [2022-04-27 11:45:32,921 INFO L272 TraceCheckUtils]: 4: Hoare triple {714#true} call #t~ret46 := main(); {714#true} is VALID [2022-04-27 11:45:32,921 INFO L272 TraceCheckUtils]: 5: Hoare triple {714#true} call #t~ret45.base, #t~ret45.offset := nondet_tree(); {714#true} is VALID [2022-04-27 11:45:32,922 INFO L290 TraceCheckUtils]: 6: Hoare triple {714#true} assume 0 != #t~nondet5 % 256;havoc #t~nondet5;#res.base, #res.offset := 0, 0; {758#(and (<= |nondet_tree_#res.offset| 0) (<= 0 |nondet_tree_#res.offset|) (<= |nondet_tree_#res.base| 0) (<= 0 |nondet_tree_#res.base|))} is VALID [2022-04-27 11:45:32,922 INFO L290 TraceCheckUtils]: 7: Hoare triple {758#(and (<= |nondet_tree_#res.offset| 0) (<= 0 |nondet_tree_#res.offset|) (<= |nondet_tree_#res.base| 0) (<= 0 |nondet_tree_#res.base|))} assume true; {758#(and (<= |nondet_tree_#res.offset| 0) (<= 0 |nondet_tree_#res.offset|) (<= |nondet_tree_#res.base| 0) (<= 0 |nondet_tree_#res.base|))} is VALID [2022-04-27 11:45:32,924 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {758#(and (<= |nondet_tree_#res.offset| 0) (<= 0 |nondet_tree_#res.offset|) (<= |nondet_tree_#res.base| 0) (<= 0 |nondet_tree_#res.base|))} {714#true} #155#return; {722#(and (= |main_#t~ret45.offset| 0) (= |main_#t~ret45.base| 0))} is VALID [2022-04-27 11:45:32,925 INFO L272 TraceCheckUtils]: 9: Hoare triple {722#(and (= |main_#t~ret45.offset| 0) (= |main_#t~ret45.base| 0))} call task(#t~ret45.base, #t~ret45.offset); {723#(and (= |task_#in~t.base| 0) (= |task_#in~t.offset| 0))} is VALID [2022-04-27 11:45:32,925 INFO L290 TraceCheckUtils]: 10: Hoare triple {723#(and (= |task_#in~t.base| 0) (= |task_#in~t.offset| 0))} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {724#(and (= task_~t.offset 0) (= task_~t.base 0))} is VALID [2022-04-27 11:45:32,926 INFO L272 TraceCheckUtils]: 11: Hoare triple {724#(and (= task_~t.offset 0) (= task_~t.base 0))} call #t~ret32 := min(~t.base, ~t.offset); {714#true} is VALID [2022-04-27 11:45:32,926 INFO L290 TraceCheckUtils]: 12: Hoare triple {714#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {714#true} is VALID [2022-04-27 11:45:32,926 INFO L290 TraceCheckUtils]: 13: Hoare triple {714#true} assume ~n.base == 0 && ~n.offset == 0;#res := 2147483647; {714#true} is VALID [2022-04-27 11:45:32,928 INFO L290 TraceCheckUtils]: 14: Hoare triple {714#true} assume true; {714#true} is VALID [2022-04-27 11:45:32,928 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {714#true} {724#(and (= task_~t.offset 0) (= task_~t.base 0))} #167#return; {724#(and (= task_~t.offset 0) (= task_~t.base 0))} is VALID [2022-04-27 11:45:32,929 INFO L290 TraceCheckUtils]: 16: Hoare triple {724#(and (= task_~t.offset 0) (= task_~t.base 0))} assume -2147483648 <= #t~ret32 && #t~ret32 <= 2147483647;~a~1 := #t~ret32;havoc #t~ret32;call ~#b~1.base, ~#b~1.offset := #Ultimate.allocOnStack(4); {724#(and (= task_~t.offset 0) (= task_~t.base 0))} is VALID [2022-04-27 11:45:32,929 INFO L272 TraceCheckUtils]: 17: Hoare triple {724#(and (= task_~t.offset 0) (= task_~t.base 0))} call #t~ret33 := size(~t.base, ~t.offset); {714#true} is VALID [2022-04-27 11:45:32,930 INFO L290 TraceCheckUtils]: 18: Hoare triple {714#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {829#(and (= |size_#in~t.offset| size_~t.offset) (= |size_#in~t.base| size_~t.base))} is VALID [2022-04-27 11:45:32,931 INFO L290 TraceCheckUtils]: 19: Hoare triple {829#(and (= |size_#in~t.offset| size_~t.offset) (= |size_#in~t.base| size_~t.base))} assume !(~t.base == 0 && ~t.offset == 0);call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~t.base, 4 + ~t.offset, 4); {765#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-04-27 11:45:32,931 INFO L272 TraceCheckUtils]: 20: Hoare triple {765#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} call #t~ret29 := size(#t~mem28.base, #t~mem28.offset); {714#true} is VALID [2022-04-27 11:45:32,932 INFO L290 TraceCheckUtils]: 21: Hoare triple {714#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {714#true} is VALID [2022-04-27 11:45:32,932 INFO L290 TraceCheckUtils]: 22: Hoare triple {714#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {714#true} is VALID [2022-04-27 11:45:32,932 INFO L290 TraceCheckUtils]: 23: Hoare triple {714#true} assume true; {714#true} is VALID [2022-04-27 11:45:32,936 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {714#true} {765#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} #193#return; {765#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-04-27 11:45:32,936 INFO L290 TraceCheckUtils]: 25: Hoare triple {765#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} assume -2147483648 <= #t~ret29 && #t~ret29 <= 2147483647;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~t.base, 8 + ~t.offset, 4); {765#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-04-27 11:45:32,937 INFO L272 TraceCheckUtils]: 26: Hoare triple {765#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} call #t~ret31 := size(#t~mem30.base, #t~mem30.offset); {714#true} is VALID [2022-04-27 11:45:32,937 INFO L290 TraceCheckUtils]: 27: Hoare triple {714#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {714#true} is VALID [2022-04-27 11:45:32,937 INFO L290 TraceCheckUtils]: 28: Hoare triple {714#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {714#true} is VALID [2022-04-27 11:45:32,937 INFO L290 TraceCheckUtils]: 29: Hoare triple {714#true} assume true; {714#true} is VALID [2022-04-27 11:45:32,938 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {714#true} {765#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} #195#return; {765#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-04-27 11:45:32,938 INFO L290 TraceCheckUtils]: 31: Hoare triple {765#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} assume -2147483648 <= #t~ret31 && #t~ret31 <= 2147483647;#res := 1 + (#t~ret29 + #t~ret31);havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29;havoc #t~mem30.base, #t~mem30.offset;havoc #t~ret31; {765#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-04-27 11:45:32,938 INFO L290 TraceCheckUtils]: 32: Hoare triple {765#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} assume true; {765#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-04-27 11:45:32,939 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {765#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} {724#(and (= task_~t.offset 0) (= task_~t.base 0))} #169#return; {715#false} is VALID [2022-04-27 11:45:32,939 INFO L290 TraceCheckUtils]: 34: Hoare triple {715#false} assume -2147483648 <= #t~ret33 && #t~ret33 <= 2147483647;~n~1 := #t~ret33;havoc #t~ret33; {715#false} is VALID [2022-04-27 11:45:32,939 INFO L272 TraceCheckUtils]: 35: Hoare triple {715#false} call assume_cycle_if_not((if 0 != ~n~1 then 1 else 0)); {715#false} is VALID [2022-04-27 11:45:32,939 INFO L290 TraceCheckUtils]: 36: Hoare triple {715#false} ~cond := #in~cond; {715#false} is VALID [2022-04-27 11:45:32,939 INFO L290 TraceCheckUtils]: 37: Hoare triple {715#false} assume !(0 == ~cond); {715#false} is VALID [2022-04-27 11:45:32,939 INFO L290 TraceCheckUtils]: 38: Hoare triple {715#false} assume true; {715#false} is VALID [2022-04-27 11:45:32,940 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {715#false} {715#false} #171#return; {715#false} is VALID [2022-04-27 11:45:32,940 INFO L290 TraceCheckUtils]: 40: Hoare triple {715#false} call #t~malloc34.base, #t~malloc34.offset := #Ultimate.allocOnHeap(4 * ~n~1); {715#false} is VALID [2022-04-27 11:45:32,940 INFO L272 TraceCheckUtils]: 41: Hoare triple {715#false} call #Ultimate.meminit(#t~malloc34.base, #t~malloc34.offset, ~n~1, 4, 4 * ~n~1); {715#false} is VALID [2022-04-27 11:45:32,940 INFO L290 TraceCheckUtils]: 42: Hoare triple {715#false} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {715#false} is VALID [2022-04-27 11:45:32,940 INFO L290 TraceCheckUtils]: 43: Hoare triple {715#false} assume true; {715#false} is VALID [2022-04-27 11:45:32,940 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {715#false} {715#false} #173#return; {715#false} is VALID [2022-04-27 11:45:32,940 INFO L290 TraceCheckUtils]: 45: Hoare triple {715#false} ~x~0.base, ~x~0.offset := #t~malloc34.base, #t~malloc34.offset; {715#false} is VALID [2022-04-27 11:45:32,940 INFO L272 TraceCheckUtils]: 46: Hoare triple {715#false} call #t~ret35 := tree_inorder(~t.base, ~t.offset, ~x~0.base, ~x~0.offset, ~n~1); {715#false} is VALID [2022-04-27 11:45:32,951 INFO L290 TraceCheckUtils]: 47: Hoare triple {715#false} ~t.base, ~t.offset := #in~t.base, #in~t.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~i := #in~i; {715#false} is VALID [2022-04-27 11:45:32,951 INFO L290 TraceCheckUtils]: 48: Hoare triple {715#false} assume ~t.base == 0 && ~t.offset == 0;#res := ~i; {715#false} is VALID [2022-04-27 11:45:32,951 INFO L290 TraceCheckUtils]: 49: Hoare triple {715#false} assume true; {715#false} is VALID [2022-04-27 11:45:32,952 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {715#false} {715#false} #175#return; {715#false} is VALID [2022-04-27 11:45:32,952 INFO L290 TraceCheckUtils]: 51: Hoare triple {715#false} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;call #t~mem36 := read~int(~x~0.base, ~x~0.offset, 4); {715#false} is VALID [2022-04-27 11:45:32,952 INFO L272 TraceCheckUtils]: 52: Hoare triple {715#false} call __VERIFIER_assert((if ~a~1 == #t~mem36 then 1 else 0)); {715#false} is VALID [2022-04-27 11:45:32,952 INFO L290 TraceCheckUtils]: 53: Hoare triple {715#false} ~cond := #in~cond; {715#false} is VALID [2022-04-27 11:45:32,952 INFO L290 TraceCheckUtils]: 54: Hoare triple {715#false} assume 0 == ~cond; {715#false} is VALID [2022-04-27 11:45:32,952 INFO L290 TraceCheckUtils]: 55: Hoare triple {715#false} assume !false; {715#false} is VALID [2022-04-27 11:45:32,953 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 4 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-27 11:45:32,953 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:45:33,254 INFO L290 TraceCheckUtils]: 55: Hoare triple {715#false} assume !false; {715#false} is VALID [2022-04-27 11:45:33,254 INFO L290 TraceCheckUtils]: 54: Hoare triple {715#false} assume 0 == ~cond; {715#false} is VALID [2022-04-27 11:45:33,254 INFO L290 TraceCheckUtils]: 53: Hoare triple {715#false} ~cond := #in~cond; {715#false} is VALID [2022-04-27 11:45:33,254 INFO L272 TraceCheckUtils]: 52: Hoare triple {715#false} call __VERIFIER_assert((if ~a~1 == #t~mem36 then 1 else 0)); {715#false} is VALID [2022-04-27 11:45:33,255 INFO L290 TraceCheckUtils]: 51: Hoare triple {715#false} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;call #t~mem36 := read~int(~x~0.base, ~x~0.offset, 4); {715#false} is VALID [2022-04-27 11:45:33,255 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {714#true} {715#false} #175#return; {715#false} is VALID [2022-04-27 11:45:33,255 INFO L290 TraceCheckUtils]: 49: Hoare triple {714#true} assume true; {714#true} is VALID [2022-04-27 11:45:33,255 INFO L290 TraceCheckUtils]: 48: Hoare triple {714#true} assume ~t.base == 0 && ~t.offset == 0;#res := ~i; {714#true} is VALID [2022-04-27 11:45:33,255 INFO L290 TraceCheckUtils]: 47: Hoare triple {714#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~i := #in~i; {714#true} is VALID [2022-04-27 11:45:33,255 INFO L272 TraceCheckUtils]: 46: Hoare triple {715#false} call #t~ret35 := tree_inorder(~t.base, ~t.offset, ~x~0.base, ~x~0.offset, ~n~1); {714#true} is VALID [2022-04-27 11:45:33,255 INFO L290 TraceCheckUtils]: 45: Hoare triple {715#false} ~x~0.base, ~x~0.offset := #t~malloc34.base, #t~malloc34.offset; {715#false} is VALID [2022-04-27 11:45:33,256 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {714#true} {715#false} #173#return; {715#false} is VALID [2022-04-27 11:45:33,256 INFO L290 TraceCheckUtils]: 43: Hoare triple {714#true} assume true; {714#true} is VALID [2022-04-27 11:45:33,256 INFO L290 TraceCheckUtils]: 42: Hoare triple {714#true} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {714#true} is VALID [2022-04-27 11:45:33,256 INFO L272 TraceCheckUtils]: 41: Hoare triple {715#false} call #Ultimate.meminit(#t~malloc34.base, #t~malloc34.offset, ~n~1, 4, 4 * ~n~1); {714#true} is VALID [2022-04-27 11:45:33,256 INFO L290 TraceCheckUtils]: 40: Hoare triple {715#false} call #t~malloc34.base, #t~malloc34.offset := #Ultimate.allocOnHeap(4 * ~n~1); {715#false} is VALID [2022-04-27 11:45:33,267 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {714#true} {715#false} #171#return; {715#false} is VALID [2022-04-27 11:45:33,267 INFO L290 TraceCheckUtils]: 38: Hoare triple {714#true} assume true; {714#true} is VALID [2022-04-27 11:45:33,268 INFO L290 TraceCheckUtils]: 37: Hoare triple {714#true} assume !(0 == ~cond); {714#true} is VALID [2022-04-27 11:45:33,268 INFO L290 TraceCheckUtils]: 36: Hoare triple {714#true} ~cond := #in~cond; {714#true} is VALID [2022-04-27 11:45:33,270 INFO L272 TraceCheckUtils]: 35: Hoare triple {715#false} call assume_cycle_if_not((if 0 != ~n~1 then 1 else 0)); {714#true} is VALID [2022-04-27 11:45:33,271 INFO L290 TraceCheckUtils]: 34: Hoare triple {715#false} assume -2147483648 <= #t~ret33 && #t~ret33 <= 2147483647;~n~1 := #t~ret33;havoc #t~ret33; {715#false} is VALID [2022-04-27 11:45:33,272 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {765#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} {724#(and (= task_~t.offset 0) (= task_~t.base 0))} #169#return; {715#false} is VALID [2022-04-27 11:45:33,272 INFO L290 TraceCheckUtils]: 32: Hoare triple {765#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} assume true; {765#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-04-27 11:45:33,273 INFO L290 TraceCheckUtils]: 31: Hoare triple {765#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} assume -2147483648 <= #t~ret31 && #t~ret31 <= 2147483647;#res := 1 + (#t~ret29 + #t~ret31);havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29;havoc #t~mem30.base, #t~mem30.offset;havoc #t~ret31; {765#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-04-27 11:45:33,273 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {714#true} {765#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} #195#return; {765#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-04-27 11:45:33,274 INFO L290 TraceCheckUtils]: 29: Hoare triple {714#true} assume true; {714#true} is VALID [2022-04-27 11:45:33,274 INFO L290 TraceCheckUtils]: 28: Hoare triple {714#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {714#true} is VALID [2022-04-27 11:45:33,277 INFO L290 TraceCheckUtils]: 27: Hoare triple {714#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {714#true} is VALID [2022-04-27 11:45:33,278 INFO L272 TraceCheckUtils]: 26: Hoare triple {765#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} call #t~ret31 := size(#t~mem30.base, #t~mem30.offset); {714#true} is VALID [2022-04-27 11:45:33,279 INFO L290 TraceCheckUtils]: 25: Hoare triple {765#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} assume -2147483648 <= #t~ret29 && #t~ret29 <= 2147483647;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~t.base, 8 + ~t.offset, 4); {765#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-04-27 11:45:33,280 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {714#true} {765#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} #193#return; {765#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-04-27 11:45:33,280 INFO L290 TraceCheckUtils]: 23: Hoare triple {714#true} assume true; {714#true} is VALID [2022-04-27 11:45:33,280 INFO L290 TraceCheckUtils]: 22: Hoare triple {714#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {714#true} is VALID [2022-04-27 11:45:33,280 INFO L290 TraceCheckUtils]: 21: Hoare triple {714#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {714#true} is VALID [2022-04-27 11:45:33,280 INFO L272 TraceCheckUtils]: 20: Hoare triple {765#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} call #t~ret29 := size(#t~mem28.base, #t~mem28.offset); {714#true} is VALID [2022-04-27 11:45:33,281 INFO L290 TraceCheckUtils]: 19: Hoare triple {1052#(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~mem28.base, #t~mem28.offset := read~$Pointer$(~t.base, 4 + ~t.offset, 4); {765#(or (not (= |size_#in~t.offset| 0)) (not (= |size_#in~t.base| 0)))} is VALID [2022-04-27 11:45:33,281 INFO L290 TraceCheckUtils]: 18: Hoare triple {714#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {1052#(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-04-27 11:45:33,281 INFO L272 TraceCheckUtils]: 17: Hoare triple {724#(and (= task_~t.offset 0) (= task_~t.base 0))} call #t~ret33 := size(~t.base, ~t.offset); {714#true} is VALID [2022-04-27 11:45:33,282 INFO L290 TraceCheckUtils]: 16: Hoare triple {724#(and (= task_~t.offset 0) (= task_~t.base 0))} assume -2147483648 <= #t~ret32 && #t~ret32 <= 2147483647;~a~1 := #t~ret32;havoc #t~ret32;call ~#b~1.base, ~#b~1.offset := #Ultimate.allocOnStack(4); {724#(and (= task_~t.offset 0) (= task_~t.base 0))} is VALID [2022-04-27 11:45:33,282 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {714#true} {724#(and (= task_~t.offset 0) (= task_~t.base 0))} #167#return; {724#(and (= task_~t.offset 0) (= task_~t.base 0))} is VALID [2022-04-27 11:45:33,282 INFO L290 TraceCheckUtils]: 14: Hoare triple {714#true} assume true; {714#true} is VALID [2022-04-27 11:45:33,282 INFO L290 TraceCheckUtils]: 13: Hoare triple {714#true} assume ~n.base == 0 && ~n.offset == 0;#res := 2147483647; {714#true} is VALID [2022-04-27 11:45:33,283 INFO L290 TraceCheckUtils]: 12: Hoare triple {714#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {714#true} is VALID [2022-04-27 11:45:33,283 INFO L272 TraceCheckUtils]: 11: Hoare triple {724#(and (= task_~t.offset 0) (= task_~t.base 0))} call #t~ret32 := min(~t.base, ~t.offset); {714#true} is VALID [2022-04-27 11:45:33,283 INFO L290 TraceCheckUtils]: 10: Hoare triple {723#(and (= |task_#in~t.base| 0) (= |task_#in~t.offset| 0))} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {724#(and (= task_~t.offset 0) (= task_~t.base 0))} is VALID [2022-04-27 11:45:33,283 INFO L272 TraceCheckUtils]: 9: Hoare triple {722#(and (= |main_#t~ret45.offset| 0) (= |main_#t~ret45.base| 0))} call task(#t~ret45.base, #t~ret45.offset); {723#(and (= |task_#in~t.base| 0) (= |task_#in~t.offset| 0))} is VALID [2022-04-27 11:45:33,284 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {758#(and (<= |nondet_tree_#res.offset| 0) (<= 0 |nondet_tree_#res.offset|) (<= |nondet_tree_#res.base| 0) (<= 0 |nondet_tree_#res.base|))} {714#true} #155#return; {722#(and (= |main_#t~ret45.offset| 0) (= |main_#t~ret45.base| 0))} is VALID [2022-04-27 11:45:33,284 INFO L290 TraceCheckUtils]: 7: Hoare triple {758#(and (<= |nondet_tree_#res.offset| 0) (<= 0 |nondet_tree_#res.offset|) (<= |nondet_tree_#res.base| 0) (<= 0 |nondet_tree_#res.base|))} assume true; {758#(and (<= |nondet_tree_#res.offset| 0) (<= 0 |nondet_tree_#res.offset|) (<= |nondet_tree_#res.base| 0) (<= 0 |nondet_tree_#res.base|))} is VALID [2022-04-27 11:45:33,285 INFO L290 TraceCheckUtils]: 6: Hoare triple {714#true} assume 0 != #t~nondet5 % 256;havoc #t~nondet5;#res.base, #res.offset := 0, 0; {758#(and (<= |nondet_tree_#res.offset| 0) (<= 0 |nondet_tree_#res.offset|) (<= |nondet_tree_#res.base| 0) (<= 0 |nondet_tree_#res.base|))} is VALID [2022-04-27 11:45:33,285 INFO L272 TraceCheckUtils]: 5: Hoare triple {714#true} call #t~ret45.base, #t~ret45.offset := nondet_tree(); {714#true} is VALID [2022-04-27 11:45:33,285 INFO L272 TraceCheckUtils]: 4: Hoare triple {714#true} call #t~ret46 := main(); {714#true} is VALID [2022-04-27 11:45:33,285 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {714#true} {714#true} #197#return; {714#true} is VALID [2022-04-27 11:45:33,285 INFO L290 TraceCheckUtils]: 2: Hoare triple {714#true} assume true; {714#true} is VALID [2022-04-27 11:45:33,285 INFO L290 TraceCheckUtils]: 1: Hoare triple {714#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(16, 2);call #Ultimate.allocInit(12, 3); {714#true} is VALID [2022-04-27 11:45:33,285 INFO L272 TraceCheckUtils]: 0: Hoare triple {714#true} call ULTIMATE.init(); {714#true} is VALID [2022-04-27 11:45:33,287 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 4 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-27 11:45:33,288 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [459864836] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:45:33,288 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:45:33,288 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 8, 8] total 15 [2022-04-27 11:45:33,289 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [548469614] [2022-04-27 11:45:33,289 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:45:33,291 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 3.5) internal successors, (49), 9 states have internal predecessors, (49), 6 states have call successors, (20), 7 states have call predecessors, (20), 4 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) Word has length 56 [2022-04-27 11:45:33,299 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:45:33,300 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 14 states have (on average 3.5) internal successors, (49), 9 states have internal predecessors, (49), 6 states have call successors, (20), 7 states have call predecessors, (20), 4 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-27 11:45:33,351 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:45:33,351 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-27 11:45:33,352 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:45:33,352 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-27 11:45:33,353 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=174, Unknown=0, NotChecked=0, Total=210 [2022-04-27 11:45:33,354 INFO L87 Difference]: Start difference. First operand 91 states and 115 transitions. Second operand has 15 states, 14 states have (on average 3.5) internal successors, (49), 9 states have internal predecessors, (49), 6 states have call successors, (20), 7 states have call predecessors, (20), 4 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-27 11:45:35,837 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:45:35,837 INFO L93 Difference]: Finished difference Result 165 states and 211 transitions. [2022-04-27 11:45:35,837 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-27 11:45:35,838 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 3.5) internal successors, (49), 9 states have internal predecessors, (49), 6 states have call successors, (20), 7 states have call predecessors, (20), 4 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) Word has length 56 [2022-04-27 11:45:35,838 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:45:35,838 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 3.5) internal successors, (49), 9 states have internal predecessors, (49), 6 states have call successors, (20), 7 states have call predecessors, (20), 4 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-27 11:45:35,842 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 207 transitions. [2022-04-27 11:45:35,842 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 3.5) internal successors, (49), 9 states have internal predecessors, (49), 6 states have call successors, (20), 7 states have call predecessors, (20), 4 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-27 11:45:35,845 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 207 transitions. [2022-04-27 11:45:35,845 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 207 transitions. [2022-04-27 11:45:36,022 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 207 edges. 207 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:45:36,025 INFO L225 Difference]: With dead ends: 165 [2022-04-27 11:45:36,025 INFO L226 Difference]: Without dead ends: 97 [2022-04-27 11:45:36,026 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 147 GetRequests, 122 SyntacticMatches, 3 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 56 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=120, Invalid=432, Unknown=0, NotChecked=0, Total=552 [2022-04-27 11:45:36,027 INFO L413 NwaCegarLoop]: 72 mSDtfsCounter, 109 mSDsluCounter, 16 mSDsCounter, 0 mSdLazyCounter, 1003 mSolverCounterSat, 101 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 126 SdHoareTripleChecker+Valid, 88 SdHoareTripleChecker+Invalid, 1104 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 101 IncrementalHoareTripleChecker+Valid, 1003 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.2s IncrementalHoareTripleChecker+Time [2022-04-27 11:45:36,027 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [126 Valid, 88 Invalid, 1104 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [101 Valid, 1003 Invalid, 0 Unknown, 0 Unchecked, 1.2s Time] [2022-04-27 11:45:36,027 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 97 states. [2022-04-27 11:45:36,033 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 97 to 93. [2022-04-27 11:45:36,033 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:45:36,034 INFO L82 GeneralOperation]: Start isEquivalent. First operand 97 states. Second operand has 93 states, 56 states have (on average 1.1607142857142858) internal successors, (65), 58 states have internal predecessors, (65), 25 states have call successors, (25), 11 states have call predecessors, (25), 11 states have return successors, (28), 23 states have call predecessors, (28), 23 states have call successors, (28) [2022-04-27 11:45:36,034 INFO L74 IsIncluded]: Start isIncluded. First operand 97 states. Second operand has 93 states, 56 states have (on average 1.1607142857142858) internal successors, (65), 58 states have internal predecessors, (65), 25 states have call successors, (25), 11 states have call predecessors, (25), 11 states have return successors, (28), 23 states have call predecessors, (28), 23 states have call successors, (28) [2022-04-27 11:45:36,034 INFO L87 Difference]: Start difference. First operand 97 states. Second operand has 93 states, 56 states have (on average 1.1607142857142858) internal successors, (65), 58 states have internal predecessors, (65), 25 states have call successors, (25), 11 states have call predecessors, (25), 11 states have return successors, (28), 23 states have call predecessors, (28), 23 states have call successors, (28) [2022-04-27 11:45:36,038 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:45:36,038 INFO L93 Difference]: Finished difference Result 97 states and 125 transitions. [2022-04-27 11:45:36,038 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 125 transitions. [2022-04-27 11:45:36,039 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:45:36,039 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:45:36,039 INFO L74 IsIncluded]: Start isIncluded. First operand has 93 states, 56 states have (on average 1.1607142857142858) internal successors, (65), 58 states have internal predecessors, (65), 25 states have call successors, (25), 11 states have call predecessors, (25), 11 states have return successors, (28), 23 states have call predecessors, (28), 23 states have call successors, (28) Second operand 97 states. [2022-04-27 11:45:36,040 INFO L87 Difference]: Start difference. First operand has 93 states, 56 states have (on average 1.1607142857142858) internal successors, (65), 58 states have internal predecessors, (65), 25 states have call successors, (25), 11 states have call predecessors, (25), 11 states have return successors, (28), 23 states have call predecessors, (28), 23 states have call successors, (28) Second operand 97 states. [2022-04-27 11:45:36,043 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:45:36,043 INFO L93 Difference]: Finished difference Result 97 states and 125 transitions. [2022-04-27 11:45:36,043 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 125 transitions. [2022-04-27 11:45:36,044 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:45:36,044 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:45:36,044 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:45:36,044 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:45:36,045 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 93 states, 56 states have (on average 1.1607142857142858) internal successors, (65), 58 states have internal predecessors, (65), 25 states have call successors, (25), 11 states have call predecessors, (25), 11 states have return successors, (28), 23 states have call predecessors, (28), 23 states have call successors, (28) [2022-04-27 11:45:36,048 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 93 states to 93 states and 118 transitions. [2022-04-27 11:45:36,048 INFO L78 Accepts]: Start accepts. Automaton has 93 states and 118 transitions. Word has length 56 [2022-04-27 11:45:36,048 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:45:36,048 INFO L495 AbstractCegarLoop]: Abstraction has 93 states and 118 transitions. [2022-04-27 11:45:36,048 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 14 states have (on average 3.5) internal successors, (49), 9 states have internal predecessors, (49), 6 states have call successors, (20), 7 states have call predecessors, (20), 4 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-27 11:45:36,048 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 118 transitions. [2022-04-27 11:45:36,049 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 67 [2022-04-27 11:45:36,050 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:45:36,050 INFO L195 NwaCegarLoop]: 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, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:45:36,081 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-04-27 11:45:36,265 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:45:36,266 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:45:36,266 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:45:36,266 INFO L85 PathProgramCache]: Analyzing trace with hash -1976466705, now seen corresponding path program 1 times [2022-04-27 11:45:36,266 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:45:36,266 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [137022441] [2022-04-27 11:45:36,267 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:45:36,267 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:45:36,302 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:36,344 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:45:36,346 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:36,349 INFO L290 TraceCheckUtils]: 0: Hoare triple {1734#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #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(16, 2);call #Ultimate.allocInit(12, 3); {1682#true} is VALID [2022-04-27 11:45:36,349 INFO L290 TraceCheckUtils]: 1: Hoare triple {1682#true} assume true; {1682#true} is VALID [2022-04-27 11:45:36,349 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1682#true} {1682#true} #197#return; {1682#true} is VALID [2022-04-27 11:45:36,357 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-04-27 11:45:36,376 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:36,405 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-27 11:45:36,407 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:36,410 INFO L290 TraceCheckUtils]: 0: Hoare triple {1735#(and (= |old(#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; {1682#true} is VALID [2022-04-27 11:45:36,410 INFO L290 TraceCheckUtils]: 1: Hoare triple {1682#true} assume true; {1682#true} is VALID [2022-04-27 11:45:36,410 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1682#true} {1736#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} #163#return; {1736#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} is VALID [2022-04-27 11:45:36,410 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 11:45:36,412 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:36,416 INFO L290 TraceCheckUtils]: 0: Hoare triple {1735#(and (= |old(#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; {1682#true} is VALID [2022-04-27 11:45:36,416 INFO L290 TraceCheckUtils]: 1: Hoare triple {1682#true} assume true; {1682#true} is VALID [2022-04-27 11:45:36,416 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1682#true} {1736#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} #165#return; {1736#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} is VALID [2022-04-27 11:45:36,417 INFO L290 TraceCheckUtils]: 0: Hoare triple {1735#(and (= |old(#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; {1736#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} is VALID [2022-04-27 11:45:36,418 INFO L272 TraceCheckUtils]: 1: Hoare triple {1736#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {1735#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-27 11:45:36,418 INFO L290 TraceCheckUtils]: 2: Hoare triple {1735#(and (= |old(#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; {1682#true} is VALID [2022-04-27 11:45:36,418 INFO L290 TraceCheckUtils]: 3: Hoare triple {1682#true} assume true; {1682#true} is VALID [2022-04-27 11:45:36,418 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {1682#true} {1736#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} #163#return; {1736#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} is VALID [2022-04-27 11:45:36,419 INFO L290 TraceCheckUtils]: 5: Hoare triple {1736#(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; {1736#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} is VALID [2022-04-27 11:45:36,419 INFO L272 TraceCheckUtils]: 6: Hoare triple {1736#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} call #t~ret9.base, #t~ret9.offset := nondet_tree(); {1735#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-27 11:45:36,419 INFO L290 TraceCheckUtils]: 7: Hoare triple {1735#(and (= |old(#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; {1682#true} is VALID [2022-04-27 11:45:36,419 INFO L290 TraceCheckUtils]: 8: Hoare triple {1682#true} assume true; {1682#true} is VALID [2022-04-27 11:45:36,421 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {1682#true} {1736#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} #165#return; {1736#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} is VALID [2022-04-27 11:45:36,422 INFO L290 TraceCheckUtils]: 10: Hoare triple {1736#(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; {1743#(or (<= 1 |nondet_tree_#res.base|) (<= (+ |nondet_tree_#res.base| 1) 0))} is VALID [2022-04-27 11:45:36,422 INFO L290 TraceCheckUtils]: 11: Hoare triple {1743#(or (<= 1 |nondet_tree_#res.base|) (<= (+ |nondet_tree_#res.base| 1) 0))} assume true; {1743#(or (<= 1 |nondet_tree_#res.base|) (<= (+ |nondet_tree_#res.base| 1) 0))} is VALID [2022-04-27 11:45:36,422 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1743#(or (<= 1 |nondet_tree_#res.base|) (<= (+ |nondet_tree_#res.base| 1) 0))} {1682#true} #155#return; {1700#(not (= |main_#t~ret45.base| 0))} is VALID [2022-04-27 11:45:36,423 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 21 [2022-04-27 11:45:36,425 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:36,442 INFO L290 TraceCheckUtils]: 0: Hoare triple {1682#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {1744#(= min_~n.base |min_#in~n.base|)} is VALID [2022-04-27 11:45:36,443 INFO L290 TraceCheckUtils]: 1: Hoare triple {1744#(= min_~n.base |min_#in~n.base|)} assume ~n.base == 0 && ~n.offset == 0;#res := 2147483647; {1745#(= |min_#in~n.base| 0)} is VALID [2022-04-27 11:45:36,443 INFO L290 TraceCheckUtils]: 2: Hoare triple {1745#(= |min_#in~n.base| 0)} assume true; {1745#(= |min_#in~n.base| 0)} is VALID [2022-04-27 11:45:36,444 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1745#(= |min_#in~n.base| 0)} {1702#(not (= task_~t.base 0))} #167#return; {1683#false} is VALID [2022-04-27 11:45:36,444 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 27 [2022-04-27 11:45:36,449 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:36,455 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-27 11:45:36,456 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:36,459 INFO L290 TraceCheckUtils]: 0: Hoare triple {1682#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {1682#true} is VALID [2022-04-27 11:45:36,459 INFO L290 TraceCheckUtils]: 1: Hoare triple {1682#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {1682#true} is VALID [2022-04-27 11:45:36,459 INFO L290 TraceCheckUtils]: 2: Hoare triple {1682#true} assume true; {1682#true} is VALID [2022-04-27 11:45:36,459 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1682#true} {1682#true} #193#return; {1682#true} is VALID [2022-04-27 11:45:36,459 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2022-04-27 11:45:36,460 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:36,461 INFO L290 TraceCheckUtils]: 0: Hoare triple {1682#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {1682#true} is VALID [2022-04-27 11:45:36,461 INFO L290 TraceCheckUtils]: 1: Hoare triple {1682#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {1682#true} is VALID [2022-04-27 11:45:36,461 INFO L290 TraceCheckUtils]: 2: Hoare triple {1682#true} assume true; {1682#true} is VALID [2022-04-27 11:45:36,461 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1682#true} {1682#true} #195#return; {1682#true} is VALID [2022-04-27 11:45:36,462 INFO L290 TraceCheckUtils]: 0: Hoare triple {1682#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {1682#true} is VALID [2022-04-27 11:45:36,462 INFO L290 TraceCheckUtils]: 1: Hoare triple {1682#true} assume !(~t.base == 0 && ~t.offset == 0);call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~t.base, 4 + ~t.offset, 4); {1682#true} is VALID [2022-04-27 11:45:36,462 INFO L272 TraceCheckUtils]: 2: Hoare triple {1682#true} call #t~ret29 := size(#t~mem28.base, #t~mem28.offset); {1682#true} is VALID [2022-04-27 11:45:36,462 INFO L290 TraceCheckUtils]: 3: Hoare triple {1682#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {1682#true} is VALID [2022-04-27 11:45:36,462 INFO L290 TraceCheckUtils]: 4: Hoare triple {1682#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {1682#true} is VALID [2022-04-27 11:45:36,462 INFO L290 TraceCheckUtils]: 5: Hoare triple {1682#true} assume true; {1682#true} is VALID [2022-04-27 11:45:36,462 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1682#true} {1682#true} #193#return; {1682#true} is VALID [2022-04-27 11:45:36,462 INFO L290 TraceCheckUtils]: 7: Hoare triple {1682#true} assume -2147483648 <= #t~ret29 && #t~ret29 <= 2147483647;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~t.base, 8 + ~t.offset, 4); {1682#true} is VALID [2022-04-27 11:45:36,462 INFO L272 TraceCheckUtils]: 8: Hoare triple {1682#true} call #t~ret31 := size(#t~mem30.base, #t~mem30.offset); {1682#true} is VALID [2022-04-27 11:45:36,462 INFO L290 TraceCheckUtils]: 9: Hoare triple {1682#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {1682#true} is VALID [2022-04-27 11:45:36,462 INFO L290 TraceCheckUtils]: 10: Hoare triple {1682#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {1682#true} is VALID [2022-04-27 11:45:36,462 INFO L290 TraceCheckUtils]: 11: Hoare triple {1682#true} assume true; {1682#true} is VALID [2022-04-27 11:45:36,463 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1682#true} {1682#true} #195#return; {1682#true} is VALID [2022-04-27 11:45:36,463 INFO L290 TraceCheckUtils]: 13: Hoare triple {1682#true} assume -2147483648 <= #t~ret31 && #t~ret31 <= 2147483647;#res := 1 + (#t~ret29 + #t~ret31);havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29;havoc #t~mem30.base, #t~mem30.offset;havoc #t~ret31; {1682#true} is VALID [2022-04-27 11:45:36,463 INFO L290 TraceCheckUtils]: 14: Hoare triple {1682#true} assume true; {1682#true} is VALID [2022-04-27 11:45:36,463 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1682#true} {1683#false} #169#return; {1683#false} is VALID [2022-04-27 11:45:36,463 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 45 [2022-04-27 11:45:36,463 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:36,465 INFO L290 TraceCheckUtils]: 0: Hoare triple {1682#true} ~cond := #in~cond; {1682#true} is VALID [2022-04-27 11:45:36,466 INFO L290 TraceCheckUtils]: 1: Hoare triple {1682#true} assume !(0 == ~cond); {1682#true} is VALID [2022-04-27 11:45:36,466 INFO L290 TraceCheckUtils]: 2: Hoare triple {1682#true} assume true; {1682#true} is VALID [2022-04-27 11:45:36,466 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1682#true} {1683#false} #171#return; {1683#false} is VALID [2022-04-27 11:45:36,472 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 51 [2022-04-27 11:45:36,472 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:36,476 INFO L290 TraceCheckUtils]: 0: Hoare triple {1754#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {1682#true} is VALID [2022-04-27 11:45:36,476 INFO L290 TraceCheckUtils]: 1: Hoare triple {1682#true} assume true; {1682#true} is VALID [2022-04-27 11:45:36,476 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1682#true} {1683#false} #173#return; {1683#false} is VALID [2022-04-27 11:45:36,485 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 56 [2022-04-27 11:45:36,487 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:36,489 INFO L290 TraceCheckUtils]: 0: Hoare triple {1755#(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; {1682#true} is VALID [2022-04-27 11:45:36,489 INFO L290 TraceCheckUtils]: 1: Hoare triple {1682#true} assume ~t.base == 0 && ~t.offset == 0;#res := ~i; {1682#true} is VALID [2022-04-27 11:45:36,489 INFO L290 TraceCheckUtils]: 2: Hoare triple {1682#true} assume true; {1682#true} is VALID [2022-04-27 11:45:36,490 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1682#true} {1683#false} #175#return; {1683#false} is VALID [2022-04-27 11:45:36,490 INFO L272 TraceCheckUtils]: 0: Hoare triple {1682#true} call ULTIMATE.init(); {1734#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:45:36,490 INFO L290 TraceCheckUtils]: 1: Hoare triple {1734#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #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(16, 2);call #Ultimate.allocInit(12, 3); {1682#true} is VALID [2022-04-27 11:45:36,490 INFO L290 TraceCheckUtils]: 2: Hoare triple {1682#true} assume true; {1682#true} is VALID [2022-04-27 11:45:36,490 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1682#true} {1682#true} #197#return; {1682#true} is VALID [2022-04-27 11:45:36,490 INFO L272 TraceCheckUtils]: 4: Hoare triple {1682#true} call #t~ret46 := main(); {1682#true} is VALID [2022-04-27 11:45:36,491 INFO L272 TraceCheckUtils]: 5: Hoare triple {1682#true} call #t~ret45.base, #t~ret45.offset := nondet_tree(); {1735#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-27 11:45:36,492 INFO L290 TraceCheckUtils]: 6: Hoare triple {1735#(and (= |old(#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; {1736#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} is VALID [2022-04-27 11:45:36,492 INFO L272 TraceCheckUtils]: 7: Hoare triple {1736#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {1735#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-27 11:45:36,492 INFO L290 TraceCheckUtils]: 8: Hoare triple {1735#(and (= |old(#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; {1682#true} is VALID [2022-04-27 11:45:36,492 INFO L290 TraceCheckUtils]: 9: Hoare triple {1682#true} assume true; {1682#true} is VALID [2022-04-27 11:45:36,493 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1682#true} {1736#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} #163#return; {1736#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} is VALID [2022-04-27 11:45:36,496 INFO L290 TraceCheckUtils]: 11: Hoare triple {1736#(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; {1736#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} is VALID [2022-04-27 11:45:36,496 INFO L272 TraceCheckUtils]: 12: Hoare triple {1736#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} call #t~ret9.base, #t~ret9.offset := nondet_tree(); {1735#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-27 11:45:36,497 INFO L290 TraceCheckUtils]: 13: Hoare triple {1735#(and (= |old(#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; {1682#true} is VALID [2022-04-27 11:45:36,497 INFO L290 TraceCheckUtils]: 14: Hoare triple {1682#true} assume true; {1682#true} is VALID [2022-04-27 11:45:36,497 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1682#true} {1736#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} #165#return; {1736#(or (not (<= nondet_tree_~n~0.base 0)) (<= (+ nondet_tree_~n~0.base 1) 0))} is VALID [2022-04-27 11:45:36,498 INFO L290 TraceCheckUtils]: 16: Hoare triple {1736#(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; {1743#(or (<= 1 |nondet_tree_#res.base|) (<= (+ |nondet_tree_#res.base| 1) 0))} is VALID [2022-04-27 11:45:36,498 INFO L290 TraceCheckUtils]: 17: Hoare triple {1743#(or (<= 1 |nondet_tree_#res.base|) (<= (+ |nondet_tree_#res.base| 1) 0))} assume true; {1743#(or (<= 1 |nondet_tree_#res.base|) (<= (+ |nondet_tree_#res.base| 1) 0))} is VALID [2022-04-27 11:45:36,498 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1743#(or (<= 1 |nondet_tree_#res.base|) (<= (+ |nondet_tree_#res.base| 1) 0))} {1682#true} #155#return; {1700#(not (= |main_#t~ret45.base| 0))} is VALID [2022-04-27 11:45:36,499 INFO L272 TraceCheckUtils]: 19: Hoare triple {1700#(not (= |main_#t~ret45.base| 0))} call task(#t~ret45.base, #t~ret45.offset); {1701#(not (= |task_#in~t.base| 0))} is VALID [2022-04-27 11:45:36,499 INFO L290 TraceCheckUtils]: 20: Hoare triple {1701#(not (= |task_#in~t.base| 0))} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {1702#(not (= task_~t.base 0))} is VALID [2022-04-27 11:45:36,499 INFO L272 TraceCheckUtils]: 21: Hoare triple {1702#(not (= task_~t.base 0))} call #t~ret32 := min(~t.base, ~t.offset); {1682#true} is VALID [2022-04-27 11:45:36,500 INFO L290 TraceCheckUtils]: 22: Hoare triple {1682#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {1744#(= min_~n.base |min_#in~n.base|)} is VALID [2022-04-27 11:45:36,500 INFO L290 TraceCheckUtils]: 23: Hoare triple {1744#(= min_~n.base |min_#in~n.base|)} assume ~n.base == 0 && ~n.offset == 0;#res := 2147483647; {1745#(= |min_#in~n.base| 0)} is VALID [2022-04-27 11:45:36,500 INFO L290 TraceCheckUtils]: 24: Hoare triple {1745#(= |min_#in~n.base| 0)} assume true; {1745#(= |min_#in~n.base| 0)} is VALID [2022-04-27 11:45:36,501 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {1745#(= |min_#in~n.base| 0)} {1702#(not (= task_~t.base 0))} #167#return; {1683#false} is VALID [2022-04-27 11:45:36,501 INFO L290 TraceCheckUtils]: 26: Hoare triple {1683#false} assume -2147483648 <= #t~ret32 && #t~ret32 <= 2147483647;~a~1 := #t~ret32;havoc #t~ret32;call ~#b~1.base, ~#b~1.offset := #Ultimate.allocOnStack(4); {1683#false} is VALID [2022-04-27 11:45:36,501 INFO L272 TraceCheckUtils]: 27: Hoare triple {1683#false} call #t~ret33 := size(~t.base, ~t.offset); {1682#true} is VALID [2022-04-27 11:45:36,501 INFO L290 TraceCheckUtils]: 28: Hoare triple {1682#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {1682#true} is VALID [2022-04-27 11:45:36,501 INFO L290 TraceCheckUtils]: 29: Hoare triple {1682#true} assume !(~t.base == 0 && ~t.offset == 0);call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~t.base, 4 + ~t.offset, 4); {1682#true} is VALID [2022-04-27 11:45:36,501 INFO L272 TraceCheckUtils]: 30: Hoare triple {1682#true} call #t~ret29 := size(#t~mem28.base, #t~mem28.offset); {1682#true} is VALID [2022-04-27 11:45:36,501 INFO L290 TraceCheckUtils]: 31: Hoare triple {1682#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {1682#true} is VALID [2022-04-27 11:45:36,501 INFO L290 TraceCheckUtils]: 32: Hoare triple {1682#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {1682#true} is VALID [2022-04-27 11:45:36,501 INFO L290 TraceCheckUtils]: 33: Hoare triple {1682#true} assume true; {1682#true} is VALID [2022-04-27 11:45:36,501 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1682#true} {1682#true} #193#return; {1682#true} is VALID [2022-04-27 11:45:36,501 INFO L290 TraceCheckUtils]: 35: Hoare triple {1682#true} assume -2147483648 <= #t~ret29 && #t~ret29 <= 2147483647;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~t.base, 8 + ~t.offset, 4); {1682#true} is VALID [2022-04-27 11:45:36,501 INFO L272 TraceCheckUtils]: 36: Hoare triple {1682#true} call #t~ret31 := size(#t~mem30.base, #t~mem30.offset); {1682#true} is VALID [2022-04-27 11:45:36,502 INFO L290 TraceCheckUtils]: 37: Hoare triple {1682#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {1682#true} is VALID [2022-04-27 11:45:36,502 INFO L290 TraceCheckUtils]: 38: Hoare triple {1682#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {1682#true} is VALID [2022-04-27 11:45:36,502 INFO L290 TraceCheckUtils]: 39: Hoare triple {1682#true} assume true; {1682#true} is VALID [2022-04-27 11:45:36,502 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {1682#true} {1682#true} #195#return; {1682#true} is VALID [2022-04-27 11:45:36,502 INFO L290 TraceCheckUtils]: 41: Hoare triple {1682#true} assume -2147483648 <= #t~ret31 && #t~ret31 <= 2147483647;#res := 1 + (#t~ret29 + #t~ret31);havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29;havoc #t~mem30.base, #t~mem30.offset;havoc #t~ret31; {1682#true} is VALID [2022-04-27 11:45:36,502 INFO L290 TraceCheckUtils]: 42: Hoare triple {1682#true} assume true; {1682#true} is VALID [2022-04-27 11:45:36,502 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {1682#true} {1683#false} #169#return; {1683#false} is VALID [2022-04-27 11:45:36,502 INFO L290 TraceCheckUtils]: 44: Hoare triple {1683#false} assume -2147483648 <= #t~ret33 && #t~ret33 <= 2147483647;~n~1 := #t~ret33;havoc #t~ret33; {1683#false} is VALID [2022-04-27 11:45:36,502 INFO L272 TraceCheckUtils]: 45: Hoare triple {1683#false} call assume_cycle_if_not((if 0 != ~n~1 then 1 else 0)); {1682#true} is VALID [2022-04-27 11:45:36,502 INFO L290 TraceCheckUtils]: 46: Hoare triple {1682#true} ~cond := #in~cond; {1682#true} is VALID [2022-04-27 11:45:36,503 INFO L290 TraceCheckUtils]: 47: Hoare triple {1682#true} assume !(0 == ~cond); {1682#true} is VALID [2022-04-27 11:45:36,503 INFO L290 TraceCheckUtils]: 48: Hoare triple {1682#true} assume true; {1682#true} is VALID [2022-04-27 11:45:36,503 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {1682#true} {1683#false} #171#return; {1683#false} is VALID [2022-04-27 11:45:36,503 INFO L290 TraceCheckUtils]: 50: Hoare triple {1683#false} call #t~malloc34.base, #t~malloc34.offset := #Ultimate.allocOnHeap(4 * ~n~1); {1683#false} is VALID [2022-04-27 11:45:36,503 INFO L272 TraceCheckUtils]: 51: Hoare triple {1683#false} call #Ultimate.meminit(#t~malloc34.base, #t~malloc34.offset, ~n~1, 4, 4 * ~n~1); {1754#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-27 11:45:36,503 INFO L290 TraceCheckUtils]: 52: Hoare triple {1754#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {1682#true} is VALID [2022-04-27 11:45:36,503 INFO L290 TraceCheckUtils]: 53: Hoare triple {1682#true} assume true; {1682#true} is VALID [2022-04-27 11:45:36,503 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {1682#true} {1683#false} #173#return; {1683#false} is VALID [2022-04-27 11:45:36,503 INFO L290 TraceCheckUtils]: 55: Hoare triple {1683#false} ~x~0.base, ~x~0.offset := #t~malloc34.base, #t~malloc34.offset; {1683#false} is VALID [2022-04-27 11:45:36,504 INFO L272 TraceCheckUtils]: 56: Hoare triple {1683#false} call #t~ret35 := tree_inorder(~t.base, ~t.offset, ~x~0.base, ~x~0.offset, ~n~1); {1755#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-27 11:45:36,504 INFO L290 TraceCheckUtils]: 57: Hoare triple {1755#(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; {1682#true} is VALID [2022-04-27 11:45:36,504 INFO L290 TraceCheckUtils]: 58: Hoare triple {1682#true} assume ~t.base == 0 && ~t.offset == 0;#res := ~i; {1682#true} is VALID [2022-04-27 11:45:36,504 INFO L290 TraceCheckUtils]: 59: Hoare triple {1682#true} assume true; {1682#true} is VALID [2022-04-27 11:45:36,504 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {1682#true} {1683#false} #175#return; {1683#false} is VALID [2022-04-27 11:45:36,504 INFO L290 TraceCheckUtils]: 61: Hoare triple {1683#false} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;call #t~mem36 := read~int(~x~0.base, ~x~0.offset, 4); {1683#false} is VALID [2022-04-27 11:45:36,504 INFO L272 TraceCheckUtils]: 62: Hoare triple {1683#false} call __VERIFIER_assert((if ~a~1 == #t~mem36 then 1 else 0)); {1683#false} is VALID [2022-04-27 11:45:36,504 INFO L290 TraceCheckUtils]: 63: Hoare triple {1683#false} ~cond := #in~cond; {1683#false} is VALID [2022-04-27 11:45:36,504 INFO L290 TraceCheckUtils]: 64: Hoare triple {1683#false} assume 0 == ~cond; {1683#false} is VALID [2022-04-27 11:45:36,504 INFO L290 TraceCheckUtils]: 65: Hoare triple {1683#false} assume !false; {1683#false} is VALID [2022-04-27 11:45:36,505 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2022-04-27 11:45:36,505 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:45:36,505 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [137022441] [2022-04-27 11:45:36,505 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [137022441] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 11:45:36,505 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 11:45:36,505 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-27 11:45:36,505 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [423560147] [2022-04-27 11:45:36,505 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 11:45:36,506 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 3.090909090909091) internal successors, (34), 7 states have internal predecessors, (34), 5 states have call successors, (14), 7 states have call predecessors, (14), 3 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) Word has length 66 [2022-04-27 11:45:36,506 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:45:36,506 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 11 states have (on average 3.090909090909091) internal successors, (34), 7 states have internal predecessors, (34), 5 states have call successors, (14), 7 states have call predecessors, (14), 3 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-27 11:45:36,542 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:45:36,543 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-27 11:45:36,543 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:45:36,543 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-27 11:45:36,543 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=130, Unknown=0, NotChecked=0, Total=156 [2022-04-27 11:45:36,543 INFO L87 Difference]: Start difference. First operand 93 states and 118 transitions. Second operand has 13 states, 11 states have (on average 3.090909090909091) internal successors, (34), 7 states have internal predecessors, (34), 5 states have call successors, (14), 7 states have call predecessors, (14), 3 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-27 11:45:38,648 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:45:38,648 INFO L93 Difference]: Finished difference Result 164 states and 210 transitions. [2022-04-27 11:45:38,649 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-27 11:45:38,649 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 3.090909090909091) internal successors, (34), 7 states have internal predecessors, (34), 5 states have call successors, (14), 7 states have call predecessors, (14), 3 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) Word has length 66 [2022-04-27 11:45:38,649 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:45:38,649 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 3.090909090909091) internal successors, (34), 7 states have internal predecessors, (34), 5 states have call successors, (14), 7 states have call predecessors, (14), 3 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-27 11:45:38,652 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 202 transitions. [2022-04-27 11:45:38,652 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 3.090909090909091) internal successors, (34), 7 states have internal predecessors, (34), 5 states have call successors, (14), 7 states have call predecessors, (14), 3 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-27 11:45:38,655 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 202 transitions. [2022-04-27 11:45:38,655 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 202 transitions. [2022-04-27 11:45:38,861 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 202 edges. 202 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:45:38,863 INFO L225 Difference]: With dead ends: 164 [2022-04-27 11:45:38,863 INFO L226 Difference]: Without dead ends: 99 [2022-04-27 11:45:38,864 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 42 GetRequests, 20 SyntacticMatches, 0 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 56 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=108, Invalid=444, Unknown=0, NotChecked=0, Total=552 [2022-04-27 11:45:38,865 INFO L413 NwaCegarLoop]: 70 mSDtfsCounter, 215 mSDsluCounter, 14 mSDsCounter, 0 mSdLazyCounter, 796 mSolverCounterSat, 202 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 217 SdHoareTripleChecker+Valid, 84 SdHoareTripleChecker+Invalid, 998 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 202 IncrementalHoareTripleChecker+Valid, 796 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-27 11:45:38,865 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [217 Valid, 84 Invalid, 998 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [202 Valid, 796 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-27 11:45:38,865 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 99 states. [2022-04-27 11:45:38,873 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 99 to 95. [2022-04-27 11:45:38,873 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:45:38,873 INFO L82 GeneralOperation]: Start isEquivalent. First operand 99 states. Second operand has 95 states, 57 states have (on average 1.1578947368421053) internal successors, (66), 60 states have internal predecessors, (66), 25 states have call successors, (25), 11 states have call predecessors, (25), 12 states have return successors, (30), 23 states have call predecessors, (30), 23 states have call successors, (30) [2022-04-27 11:45:38,874 INFO L74 IsIncluded]: Start isIncluded. First operand 99 states. Second operand has 95 states, 57 states have (on average 1.1578947368421053) internal successors, (66), 60 states have internal predecessors, (66), 25 states have call successors, (25), 11 states have call predecessors, (25), 12 states have return successors, (30), 23 states have call predecessors, (30), 23 states have call successors, (30) [2022-04-27 11:45:38,874 INFO L87 Difference]: Start difference. First operand 99 states. Second operand has 95 states, 57 states have (on average 1.1578947368421053) internal successors, (66), 60 states have internal predecessors, (66), 25 states have call successors, (25), 11 states have call predecessors, (25), 12 states have return successors, (30), 23 states have call predecessors, (30), 23 states have call successors, (30) [2022-04-27 11:45:38,877 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:45:38,877 INFO L93 Difference]: Finished difference Result 99 states and 128 transitions. [2022-04-27 11:45:38,877 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 128 transitions. [2022-04-27 11:45:38,878 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:45:38,878 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:45:38,878 INFO L74 IsIncluded]: Start isIncluded. First operand has 95 states, 57 states have (on average 1.1578947368421053) internal successors, (66), 60 states have internal predecessors, (66), 25 states have call successors, (25), 11 states have call predecessors, (25), 12 states have return successors, (30), 23 states have call predecessors, (30), 23 states have call successors, (30) Second operand 99 states. [2022-04-27 11:45:38,879 INFO L87 Difference]: Start difference. First operand has 95 states, 57 states have (on average 1.1578947368421053) internal successors, (66), 60 states have internal predecessors, (66), 25 states have call successors, (25), 11 states have call predecessors, (25), 12 states have return successors, (30), 23 states have call predecessors, (30), 23 states have call successors, (30) Second operand 99 states. [2022-04-27 11:45:38,882 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:45:38,882 INFO L93 Difference]: Finished difference Result 99 states and 128 transitions. [2022-04-27 11:45:38,882 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 128 transitions. [2022-04-27 11:45:38,882 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:45:38,882 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:45:38,883 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:45:38,883 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:45:38,883 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 95 states, 57 states have (on average 1.1578947368421053) internal successors, (66), 60 states have internal predecessors, (66), 25 states have call successors, (25), 11 states have call predecessors, (25), 12 states have return successors, (30), 23 states have call predecessors, (30), 23 states have call successors, (30) [2022-04-27 11:45:38,885 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 95 states to 95 states and 121 transitions. [2022-04-27 11:45:38,886 INFO L78 Accepts]: Start accepts. Automaton has 95 states and 121 transitions. Word has length 66 [2022-04-27 11:45:38,886 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:45:38,886 INFO L495 AbstractCegarLoop]: Abstraction has 95 states and 121 transitions. [2022-04-27 11:45:38,886 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 11 states have (on average 3.090909090909091) internal successors, (34), 7 states have internal predecessors, (34), 5 states have call successors, (14), 7 states have call predecessors, (14), 3 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-27 11:45:38,886 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 121 transitions. [2022-04-27 11:45:38,891 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-27 11:45:38,891 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:45:38,892 INFO L195 NwaCegarLoop]: 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, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:45:38,892 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-04-27 11:45:38,892 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:45:38,892 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:45:38,892 INFO L85 PathProgramCache]: Analyzing trace with hash -1818938389, now seen corresponding path program 1 times [2022-04-27 11:45:38,892 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:45:38,892 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1085800388] [2022-04-27 11:45:38,892 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:45:38,893 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:45:38,912 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:38,954 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:45:38,955 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:38,957 INFO L290 TraceCheckUtils]: 0: Hoare triple {2403#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #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(16, 2);call #Ultimate.allocInit(12, 3); {2337#true} is VALID [2022-04-27 11:45:38,957 INFO L290 TraceCheckUtils]: 1: Hoare triple {2337#true} assume true; {2337#true} is VALID [2022-04-27 11:45:38,957 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {2337#true} {2337#true} #197#return; {2337#true} is VALID [2022-04-27 11:45:38,965 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-04-27 11:45:38,971 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:38,991 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-27 11:45:38,993 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:38,996 INFO L290 TraceCheckUtils]: 0: Hoare triple {2404#(and (= |old(#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; {2337#true} is VALID [2022-04-27 11:45:38,996 INFO L290 TraceCheckUtils]: 1: Hoare triple {2337#true} assume true; {2337#true} is VALID [2022-04-27 11:45:38,996 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {2337#true} {2405#(= nondet_tree_~n~0.offset 0)} #163#return; {2405#(= nondet_tree_~n~0.offset 0)} is VALID [2022-04-27 11:45:38,996 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 11:45:38,998 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:38,999 INFO L290 TraceCheckUtils]: 0: Hoare triple {2404#(and (= |old(#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; {2337#true} is VALID [2022-04-27 11:45:39,000 INFO L290 TraceCheckUtils]: 1: Hoare triple {2337#true} assume true; {2337#true} is VALID [2022-04-27 11:45:39,000 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {2337#true} {2405#(= nondet_tree_~n~0.offset 0)} #165#return; {2405#(= nondet_tree_~n~0.offset 0)} is VALID [2022-04-27 11:45:39,000 INFO L290 TraceCheckUtils]: 0: Hoare triple {2404#(and (= |old(#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; {2405#(= nondet_tree_~n~0.offset 0)} is VALID [2022-04-27 11:45:39,001 INFO L272 TraceCheckUtils]: 1: Hoare triple {2405#(= nondet_tree_~n~0.offset 0)} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {2404#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-27 11:45:39,001 INFO L290 TraceCheckUtils]: 2: Hoare triple {2404#(and (= |old(#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; {2337#true} is VALID [2022-04-27 11:45:39,001 INFO L290 TraceCheckUtils]: 3: Hoare triple {2337#true} assume true; {2337#true} is VALID [2022-04-27 11:45:39,001 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {2337#true} {2405#(= nondet_tree_~n~0.offset 0)} #163#return; {2405#(= nondet_tree_~n~0.offset 0)} is VALID [2022-04-27 11:45:39,002 INFO L290 TraceCheckUtils]: 5: Hoare triple {2405#(= 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; {2405#(= nondet_tree_~n~0.offset 0)} is VALID [2022-04-27 11:45:39,002 INFO L272 TraceCheckUtils]: 6: Hoare triple {2405#(= nondet_tree_~n~0.offset 0)} call #t~ret9.base, #t~ret9.offset := nondet_tree(); {2404#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-27 11:45:39,003 INFO L290 TraceCheckUtils]: 7: Hoare triple {2404#(and (= |old(#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; {2337#true} is VALID [2022-04-27 11:45:39,003 INFO L290 TraceCheckUtils]: 8: Hoare triple {2337#true} assume true; {2337#true} is VALID [2022-04-27 11:45:39,003 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {2337#true} {2405#(= nondet_tree_~n~0.offset 0)} #165#return; {2405#(= nondet_tree_~n~0.offset 0)} is VALID [2022-04-27 11:45:39,004 INFO L290 TraceCheckUtils]: 10: Hoare triple {2405#(= 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; {2412#(= |nondet_tree_#res.offset| 0)} is VALID [2022-04-27 11:45:39,004 INFO L290 TraceCheckUtils]: 11: Hoare triple {2412#(= |nondet_tree_#res.offset| 0)} assume true; {2412#(= |nondet_tree_#res.offset| 0)} is VALID [2022-04-27 11:45:39,004 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2412#(= |nondet_tree_#res.offset| 0)} {2337#true} #155#return; {2355#(= |main_#t~ret45.offset| 0)} is VALID [2022-04-27 11:45:39,005 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 21 [2022-04-27 11:45:39,013 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:39,038 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-27 11:45:39,040 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:39,041 INFO L290 TraceCheckUtils]: 0: Hoare triple {2337#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {2337#true} is VALID [2022-04-27 11:45:39,042 INFO L290 TraceCheckUtils]: 1: Hoare triple {2337#true} assume ~n.base == 0 && ~n.offset == 0;#res := 2147483647; {2337#true} is VALID [2022-04-27 11:45:39,042 INFO L290 TraceCheckUtils]: 2: Hoare triple {2337#true} assume true; {2337#true} is VALID [2022-04-27 11:45:39,042 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2337#true} {2414#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} #159#return; {2414#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} is VALID [2022-04-27 11:45:39,042 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2022-04-27 11:45:39,043 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:39,049 INFO L290 TraceCheckUtils]: 0: Hoare triple {2337#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {2337#true} is VALID [2022-04-27 11:45:39,049 INFO L290 TraceCheckUtils]: 1: Hoare triple {2337#true} assume ~n.base == 0 && ~n.offset == 0;#res := 2147483647; {2337#true} is VALID [2022-04-27 11:45:39,049 INFO L290 TraceCheckUtils]: 2: Hoare triple {2337#true} assume true; {2337#true} is VALID [2022-04-27 11:45:39,050 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2337#true} {2414#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} #161#return; {2414#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} is VALID [2022-04-27 11:45:39,050 INFO L290 TraceCheckUtils]: 0: Hoare triple {2337#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {2413#(and (= min_~n.base |min_#in~n.base|) (= min_~n.offset |min_#in~n.offset|))} is VALID [2022-04-27 11:45:39,050 INFO L290 TraceCheckUtils]: 1: Hoare triple {2413#(and (= min_~n.base |min_#in~n.base|) (= min_~n.offset |min_#in~n.offset|))} assume !(~n.base == 0 && ~n.offset == 0);call #t~mem10 := read~int(~n.base, ~n.offset, 4);~a~0 := #t~mem10;havoc #t~mem10;call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~n.base, 4 + ~n.offset, 4); {2414#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} is VALID [2022-04-27 11:45:39,050 INFO L272 TraceCheckUtils]: 2: Hoare triple {2414#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} call #t~ret12 := min(#t~mem11.base, #t~mem11.offset); {2337#true} is VALID [2022-04-27 11:45:39,051 INFO L290 TraceCheckUtils]: 3: Hoare triple {2337#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {2337#true} is VALID [2022-04-27 11:45:39,051 INFO L290 TraceCheckUtils]: 4: Hoare triple {2337#true} assume ~n.base == 0 && ~n.offset == 0;#res := 2147483647; {2337#true} is VALID [2022-04-27 11:45:39,051 INFO L290 TraceCheckUtils]: 5: Hoare triple {2337#true} assume true; {2337#true} is VALID [2022-04-27 11:45:39,051 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {2337#true} {2414#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} #159#return; {2414#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} is VALID [2022-04-27 11:45:39,054 INFO L290 TraceCheckUtils]: 7: Hoare triple {2414#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} assume -2147483648 <= #t~ret12 && #t~ret12 <= 2147483647;~b~0 := #t~ret12;havoc #t~mem11.base, #t~mem11.offset;havoc #t~ret12;call #t~mem13.base, #t~mem13.offset := read~$Pointer$(~n.base, 8 + ~n.offset, 4); {2414#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} is VALID [2022-04-27 11:45:39,055 INFO L272 TraceCheckUtils]: 8: Hoare triple {2414#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} call #t~ret14 := min(#t~mem13.base, #t~mem13.offset); {2337#true} is VALID [2022-04-27 11:45:39,055 INFO L290 TraceCheckUtils]: 9: Hoare triple {2337#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {2337#true} is VALID [2022-04-27 11:45:39,055 INFO L290 TraceCheckUtils]: 10: Hoare triple {2337#true} assume ~n.base == 0 && ~n.offset == 0;#res := 2147483647; {2337#true} is VALID [2022-04-27 11:45:39,055 INFO L290 TraceCheckUtils]: 11: Hoare triple {2337#true} assume true; {2337#true} is VALID [2022-04-27 11:45:39,055 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2337#true} {2414#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} #161#return; {2414#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} is VALID [2022-04-27 11:45:39,055 INFO L290 TraceCheckUtils]: 13: Hoare triple {2414#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~c~0 := #t~ret14;havoc #t~mem13.base, #t~mem13.offset;havoc #t~ret14; {2414#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} is VALID [2022-04-27 11:45:39,056 INFO L290 TraceCheckUtils]: 14: Hoare triple {2414#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} assume ~b~0 <= ~a~0 && ~b~0 <= ~c~0;#res := ~b~0; {2414#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} is VALID [2022-04-27 11:45:39,056 INFO L290 TraceCheckUtils]: 15: Hoare triple {2414#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} assume true; {2414#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} is VALID [2022-04-27 11:45:39,056 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2414#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} {2357#(= task_~t.offset 0)} #167#return; {2375#(not (= task_~t.base 0))} is VALID [2022-04-27 11:45:39,057 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 40 [2022-04-27 11:45:39,061 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:39,064 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-27 11:45:39,065 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:39,067 INFO L290 TraceCheckUtils]: 0: Hoare triple {2337#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {2337#true} is VALID [2022-04-27 11:45:39,067 INFO L290 TraceCheckUtils]: 1: Hoare triple {2337#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {2337#true} is VALID [2022-04-27 11:45:39,067 INFO L290 TraceCheckUtils]: 2: Hoare triple {2337#true} assume true; {2337#true} is VALID [2022-04-27 11:45:39,067 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2337#true} {2337#true} #193#return; {2337#true} is VALID [2022-04-27 11:45:39,067 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2022-04-27 11:45:39,068 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:39,069 INFO L290 TraceCheckUtils]: 0: Hoare triple {2337#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {2337#true} is VALID [2022-04-27 11:45:39,069 INFO L290 TraceCheckUtils]: 1: Hoare triple {2337#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {2337#true} is VALID [2022-04-27 11:45:39,069 INFO L290 TraceCheckUtils]: 2: Hoare triple {2337#true} assume true; {2337#true} is VALID [2022-04-27 11:45:39,069 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2337#true} {2337#true} #195#return; {2337#true} is VALID [2022-04-27 11:45:39,069 INFO L290 TraceCheckUtils]: 0: Hoare triple {2337#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {2337#true} is VALID [2022-04-27 11:45:39,070 INFO L290 TraceCheckUtils]: 1: Hoare triple {2337#true} assume !(~t.base == 0 && ~t.offset == 0);call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~t.base, 4 + ~t.offset, 4); {2337#true} is VALID [2022-04-27 11:45:39,070 INFO L272 TraceCheckUtils]: 2: Hoare triple {2337#true} call #t~ret29 := size(#t~mem28.base, #t~mem28.offset); {2337#true} is VALID [2022-04-27 11:45:39,070 INFO L290 TraceCheckUtils]: 3: Hoare triple {2337#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {2337#true} is VALID [2022-04-27 11:45:39,070 INFO L290 TraceCheckUtils]: 4: Hoare triple {2337#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {2337#true} is VALID [2022-04-27 11:45:39,070 INFO L290 TraceCheckUtils]: 5: Hoare triple {2337#true} assume true; {2337#true} is VALID [2022-04-27 11:45:39,070 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {2337#true} {2337#true} #193#return; {2337#true} is VALID [2022-04-27 11:45:39,070 INFO L290 TraceCheckUtils]: 7: Hoare triple {2337#true} assume -2147483648 <= #t~ret29 && #t~ret29 <= 2147483647;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~t.base, 8 + ~t.offset, 4); {2337#true} is VALID [2022-04-27 11:45:39,070 INFO L272 TraceCheckUtils]: 8: Hoare triple {2337#true} call #t~ret31 := size(#t~mem30.base, #t~mem30.offset); {2337#true} is VALID [2022-04-27 11:45:39,070 INFO L290 TraceCheckUtils]: 9: Hoare triple {2337#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {2337#true} is VALID [2022-04-27 11:45:39,070 INFO L290 TraceCheckUtils]: 10: Hoare triple {2337#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {2337#true} is VALID [2022-04-27 11:45:39,070 INFO L290 TraceCheckUtils]: 11: Hoare triple {2337#true} assume true; {2337#true} is VALID [2022-04-27 11:45:39,070 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2337#true} {2337#true} #195#return; {2337#true} is VALID [2022-04-27 11:45:39,070 INFO L290 TraceCheckUtils]: 13: Hoare triple {2337#true} assume -2147483648 <= #t~ret31 && #t~ret31 <= 2147483647;#res := 1 + (#t~ret29 + #t~ret31);havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29;havoc #t~mem30.base, #t~mem30.offset;havoc #t~ret31; {2337#true} is VALID [2022-04-27 11:45:39,070 INFO L290 TraceCheckUtils]: 14: Hoare triple {2337#true} assume true; {2337#true} is VALID [2022-04-27 11:45:39,071 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2337#true} {2375#(not (= task_~t.base 0))} #169#return; {2375#(not (= task_~t.base 0))} is VALID [2022-04-27 11:45:39,071 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 58 [2022-04-27 11:45:39,072 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:39,074 INFO L290 TraceCheckUtils]: 0: Hoare triple {2337#true} ~cond := #in~cond; {2337#true} is VALID [2022-04-27 11:45:39,074 INFO L290 TraceCheckUtils]: 1: Hoare triple {2337#true} assume !(0 == ~cond); {2337#true} is VALID [2022-04-27 11:45:39,074 INFO L290 TraceCheckUtils]: 2: Hoare triple {2337#true} assume true; {2337#true} is VALID [2022-04-27 11:45:39,074 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2337#true} {2375#(not (= task_~t.base 0))} #171#return; {2375#(not (= task_~t.base 0))} is VALID [2022-04-27 11:45:39,080 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 64 [2022-04-27 11:45:39,082 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:39,084 INFO L290 TraceCheckUtils]: 0: Hoare triple {2431#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {2337#true} is VALID [2022-04-27 11:45:39,084 INFO L290 TraceCheckUtils]: 1: Hoare triple {2337#true} assume true; {2337#true} is VALID [2022-04-27 11:45:39,085 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {2337#true} {2375#(not (= task_~t.base 0))} #173#return; {2375#(not (= task_~t.base 0))} is VALID [2022-04-27 11:45:39,094 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 69 [2022-04-27 11:45:39,095 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:39,126 INFO L290 TraceCheckUtils]: 0: Hoare triple {2432#(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; {2433#(= |tree_inorder_#in~t.base| tree_inorder_~t.base)} is VALID [2022-04-27 11:45:39,127 INFO L290 TraceCheckUtils]: 1: Hoare triple {2433#(= |tree_inorder_#in~t.base| tree_inorder_~t.base)} assume ~t.base == 0 && ~t.offset == 0;#res := ~i; {2434#(= |tree_inorder_#in~t.base| 0)} is VALID [2022-04-27 11:45:39,127 INFO L290 TraceCheckUtils]: 2: Hoare triple {2434#(= |tree_inorder_#in~t.base| 0)} assume true; {2434#(= |tree_inorder_#in~t.base| 0)} is VALID [2022-04-27 11:45:39,128 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2434#(= |tree_inorder_#in~t.base| 0)} {2375#(not (= task_~t.base 0))} #175#return; {2338#false} is VALID [2022-04-27 11:45:39,129 INFO L272 TraceCheckUtils]: 0: Hoare triple {2337#true} call ULTIMATE.init(); {2403#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:45:39,129 INFO L290 TraceCheckUtils]: 1: Hoare triple {2403#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #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(16, 2);call #Ultimate.allocInit(12, 3); {2337#true} is VALID [2022-04-27 11:45:39,129 INFO L290 TraceCheckUtils]: 2: Hoare triple {2337#true} assume true; {2337#true} is VALID [2022-04-27 11:45:39,129 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2337#true} {2337#true} #197#return; {2337#true} is VALID [2022-04-27 11:45:39,129 INFO L272 TraceCheckUtils]: 4: Hoare triple {2337#true} call #t~ret46 := main(); {2337#true} is VALID [2022-04-27 11:45:39,129 INFO L272 TraceCheckUtils]: 5: Hoare triple {2337#true} call #t~ret45.base, #t~ret45.offset := nondet_tree(); {2404#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-27 11:45:39,130 INFO L290 TraceCheckUtils]: 6: Hoare triple {2404#(and (= |old(#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; {2405#(= nondet_tree_~n~0.offset 0)} is VALID [2022-04-27 11:45:39,130 INFO L272 TraceCheckUtils]: 7: Hoare triple {2405#(= nondet_tree_~n~0.offset 0)} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {2404#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-27 11:45:39,130 INFO L290 TraceCheckUtils]: 8: Hoare triple {2404#(and (= |old(#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; {2337#true} is VALID [2022-04-27 11:45:39,130 INFO L290 TraceCheckUtils]: 9: Hoare triple {2337#true} assume true; {2337#true} is VALID [2022-04-27 11:45:39,131 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2337#true} {2405#(= nondet_tree_~n~0.offset 0)} #163#return; {2405#(= nondet_tree_~n~0.offset 0)} is VALID [2022-04-27 11:45:39,131 INFO L290 TraceCheckUtils]: 11: Hoare triple {2405#(= 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; {2405#(= nondet_tree_~n~0.offset 0)} is VALID [2022-04-27 11:45:39,132 INFO L272 TraceCheckUtils]: 12: Hoare triple {2405#(= nondet_tree_~n~0.offset 0)} call #t~ret9.base, #t~ret9.offset := nondet_tree(); {2404#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-27 11:45:39,132 INFO L290 TraceCheckUtils]: 13: Hoare triple {2404#(and (= |old(#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; {2337#true} is VALID [2022-04-27 11:45:39,132 INFO L290 TraceCheckUtils]: 14: Hoare triple {2337#true} assume true; {2337#true} is VALID [2022-04-27 11:45:39,133 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2337#true} {2405#(= nondet_tree_~n~0.offset 0)} #165#return; {2405#(= nondet_tree_~n~0.offset 0)} is VALID [2022-04-27 11:45:39,133 INFO L290 TraceCheckUtils]: 16: Hoare triple {2405#(= 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; {2412#(= |nondet_tree_#res.offset| 0)} is VALID [2022-04-27 11:45:39,133 INFO L290 TraceCheckUtils]: 17: Hoare triple {2412#(= |nondet_tree_#res.offset| 0)} assume true; {2412#(= |nondet_tree_#res.offset| 0)} is VALID [2022-04-27 11:45:39,134 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2412#(= |nondet_tree_#res.offset| 0)} {2337#true} #155#return; {2355#(= |main_#t~ret45.offset| 0)} is VALID [2022-04-27 11:45:39,134 INFO L272 TraceCheckUtils]: 19: Hoare triple {2355#(= |main_#t~ret45.offset| 0)} call task(#t~ret45.base, #t~ret45.offset); {2356#(= |task_#in~t.offset| 0)} is VALID [2022-04-27 11:45:39,135 INFO L290 TraceCheckUtils]: 20: Hoare triple {2356#(= |task_#in~t.offset| 0)} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {2357#(= task_~t.offset 0)} is VALID [2022-04-27 11:45:39,135 INFO L272 TraceCheckUtils]: 21: Hoare triple {2357#(= task_~t.offset 0)} call #t~ret32 := min(~t.base, ~t.offset); {2337#true} is VALID [2022-04-27 11:45:39,135 INFO L290 TraceCheckUtils]: 22: Hoare triple {2337#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {2413#(and (= min_~n.base |min_#in~n.base|) (= min_~n.offset |min_#in~n.offset|))} is VALID [2022-04-27 11:45:39,136 INFO L290 TraceCheckUtils]: 23: Hoare triple {2413#(and (= min_~n.base |min_#in~n.base|) (= min_~n.offset |min_#in~n.offset|))} assume !(~n.base == 0 && ~n.offset == 0);call #t~mem10 := read~int(~n.base, ~n.offset, 4);~a~0 := #t~mem10;havoc #t~mem10;call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~n.base, 4 + ~n.offset, 4); {2414#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} is VALID [2022-04-27 11:45:39,136 INFO L272 TraceCheckUtils]: 24: Hoare triple {2414#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} call #t~ret12 := min(#t~mem11.base, #t~mem11.offset); {2337#true} is VALID [2022-04-27 11:45:39,136 INFO L290 TraceCheckUtils]: 25: Hoare triple {2337#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {2337#true} is VALID [2022-04-27 11:45:39,136 INFO L290 TraceCheckUtils]: 26: Hoare triple {2337#true} assume ~n.base == 0 && ~n.offset == 0;#res := 2147483647; {2337#true} is VALID [2022-04-27 11:45:39,136 INFO L290 TraceCheckUtils]: 27: Hoare triple {2337#true} assume true; {2337#true} is VALID [2022-04-27 11:45:39,136 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2337#true} {2414#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} #159#return; {2414#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} is VALID [2022-04-27 11:45:39,137 INFO L290 TraceCheckUtils]: 29: Hoare triple {2414#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} assume -2147483648 <= #t~ret12 && #t~ret12 <= 2147483647;~b~0 := #t~ret12;havoc #t~mem11.base, #t~mem11.offset;havoc #t~ret12;call #t~mem13.base, #t~mem13.offset := read~$Pointer$(~n.base, 8 + ~n.offset, 4); {2414#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} is VALID [2022-04-27 11:45:39,137 INFO L272 TraceCheckUtils]: 30: Hoare triple {2414#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} call #t~ret14 := min(#t~mem13.base, #t~mem13.offset); {2337#true} is VALID [2022-04-27 11:45:39,137 INFO L290 TraceCheckUtils]: 31: Hoare triple {2337#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {2337#true} is VALID [2022-04-27 11:45:39,137 INFO L290 TraceCheckUtils]: 32: Hoare triple {2337#true} assume ~n.base == 0 && ~n.offset == 0;#res := 2147483647; {2337#true} is VALID [2022-04-27 11:45:39,137 INFO L290 TraceCheckUtils]: 33: Hoare triple {2337#true} assume true; {2337#true} is VALID [2022-04-27 11:45:39,138 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2337#true} {2414#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} #161#return; {2414#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} is VALID [2022-04-27 11:45:39,138 INFO L290 TraceCheckUtils]: 35: Hoare triple {2414#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~c~0 := #t~ret14;havoc #t~mem13.base, #t~mem13.offset;havoc #t~ret14; {2414#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} is VALID [2022-04-27 11:45:39,138 INFO L290 TraceCheckUtils]: 36: Hoare triple {2414#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} assume ~b~0 <= ~a~0 && ~b~0 <= ~c~0;#res := ~b~0; {2414#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} is VALID [2022-04-27 11:45:39,139 INFO L290 TraceCheckUtils]: 37: Hoare triple {2414#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} assume true; {2414#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} is VALID [2022-04-27 11:45:39,139 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2414#(or (not (= |min_#in~n.offset| 0)) (not (= |min_#in~n.base| 0)))} {2357#(= task_~t.offset 0)} #167#return; {2375#(not (= task_~t.base 0))} is VALID [2022-04-27 11:45:39,139 INFO L290 TraceCheckUtils]: 39: Hoare triple {2375#(not (= task_~t.base 0))} assume -2147483648 <= #t~ret32 && #t~ret32 <= 2147483647;~a~1 := #t~ret32;havoc #t~ret32;call ~#b~1.base, ~#b~1.offset := #Ultimate.allocOnStack(4); {2375#(not (= task_~t.base 0))} is VALID [2022-04-27 11:45:39,140 INFO L272 TraceCheckUtils]: 40: Hoare triple {2375#(not (= task_~t.base 0))} call #t~ret33 := size(~t.base, ~t.offset); {2337#true} is VALID [2022-04-27 11:45:39,140 INFO L290 TraceCheckUtils]: 41: Hoare triple {2337#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {2337#true} is VALID [2022-04-27 11:45:39,140 INFO L290 TraceCheckUtils]: 42: Hoare triple {2337#true} assume !(~t.base == 0 && ~t.offset == 0);call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~t.base, 4 + ~t.offset, 4); {2337#true} is VALID [2022-04-27 11:45:39,140 INFO L272 TraceCheckUtils]: 43: Hoare triple {2337#true} call #t~ret29 := size(#t~mem28.base, #t~mem28.offset); {2337#true} is VALID [2022-04-27 11:45:39,140 INFO L290 TraceCheckUtils]: 44: Hoare triple {2337#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {2337#true} is VALID [2022-04-27 11:45:39,140 INFO L290 TraceCheckUtils]: 45: Hoare triple {2337#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {2337#true} is VALID [2022-04-27 11:45:39,140 INFO L290 TraceCheckUtils]: 46: Hoare triple {2337#true} assume true; {2337#true} is VALID [2022-04-27 11:45:39,140 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {2337#true} {2337#true} #193#return; {2337#true} is VALID [2022-04-27 11:45:39,140 INFO L290 TraceCheckUtils]: 48: Hoare triple {2337#true} assume -2147483648 <= #t~ret29 && #t~ret29 <= 2147483647;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~t.base, 8 + ~t.offset, 4); {2337#true} is VALID [2022-04-27 11:45:39,140 INFO L272 TraceCheckUtils]: 49: Hoare triple {2337#true} call #t~ret31 := size(#t~mem30.base, #t~mem30.offset); {2337#true} is VALID [2022-04-27 11:45:39,140 INFO L290 TraceCheckUtils]: 50: Hoare triple {2337#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {2337#true} is VALID [2022-04-27 11:45:39,140 INFO L290 TraceCheckUtils]: 51: Hoare triple {2337#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {2337#true} is VALID [2022-04-27 11:45:39,140 INFO L290 TraceCheckUtils]: 52: Hoare triple {2337#true} assume true; {2337#true} is VALID [2022-04-27 11:45:39,140 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {2337#true} {2337#true} #195#return; {2337#true} is VALID [2022-04-27 11:45:39,141 INFO L290 TraceCheckUtils]: 54: Hoare triple {2337#true} assume -2147483648 <= #t~ret31 && #t~ret31 <= 2147483647;#res := 1 + (#t~ret29 + #t~ret31);havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29;havoc #t~mem30.base, #t~mem30.offset;havoc #t~ret31; {2337#true} is VALID [2022-04-27 11:45:39,141 INFO L290 TraceCheckUtils]: 55: Hoare triple {2337#true} assume true; {2337#true} is VALID [2022-04-27 11:45:39,141 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {2337#true} {2375#(not (= task_~t.base 0))} #169#return; {2375#(not (= task_~t.base 0))} is VALID [2022-04-27 11:45:39,141 INFO L290 TraceCheckUtils]: 57: Hoare triple {2375#(not (= task_~t.base 0))} assume -2147483648 <= #t~ret33 && #t~ret33 <= 2147483647;~n~1 := #t~ret33;havoc #t~ret33; {2375#(not (= task_~t.base 0))} is VALID [2022-04-27 11:45:39,142 INFO L272 TraceCheckUtils]: 58: Hoare triple {2375#(not (= task_~t.base 0))} call assume_cycle_if_not((if 0 != ~n~1 then 1 else 0)); {2337#true} is VALID [2022-04-27 11:45:39,142 INFO L290 TraceCheckUtils]: 59: Hoare triple {2337#true} ~cond := #in~cond; {2337#true} is VALID [2022-04-27 11:45:39,142 INFO L290 TraceCheckUtils]: 60: Hoare triple {2337#true} assume !(0 == ~cond); {2337#true} is VALID [2022-04-27 11:45:39,142 INFO L290 TraceCheckUtils]: 61: Hoare triple {2337#true} assume true; {2337#true} is VALID [2022-04-27 11:45:39,142 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {2337#true} {2375#(not (= task_~t.base 0))} #171#return; {2375#(not (= task_~t.base 0))} is VALID [2022-04-27 11:45:39,142 INFO L290 TraceCheckUtils]: 63: Hoare triple {2375#(not (= task_~t.base 0))} call #t~malloc34.base, #t~malloc34.offset := #Ultimate.allocOnHeap(4 * ~n~1); {2375#(not (= task_~t.base 0))} is VALID [2022-04-27 11:45:39,143 INFO L272 TraceCheckUtils]: 64: Hoare triple {2375#(not (= task_~t.base 0))} call #Ultimate.meminit(#t~malloc34.base, #t~malloc34.offset, ~n~1, 4, 4 * ~n~1); {2431#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-27 11:45:39,143 INFO L290 TraceCheckUtils]: 65: Hoare triple {2431#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {2337#true} is VALID [2022-04-27 11:45:39,143 INFO L290 TraceCheckUtils]: 66: Hoare triple {2337#true} assume true; {2337#true} is VALID [2022-04-27 11:45:39,144 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {2337#true} {2375#(not (= task_~t.base 0))} #173#return; {2375#(not (= task_~t.base 0))} is VALID [2022-04-27 11:45:39,144 INFO L290 TraceCheckUtils]: 68: Hoare triple {2375#(not (= task_~t.base 0))} ~x~0.base, ~x~0.offset := #t~malloc34.base, #t~malloc34.offset; {2375#(not (= task_~t.base 0))} is VALID [2022-04-27 11:45:39,145 INFO L272 TraceCheckUtils]: 69: Hoare triple {2375#(not (= task_~t.base 0))} call #t~ret35 := tree_inorder(~t.base, ~t.offset, ~x~0.base, ~x~0.offset, ~n~1); {2432#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-27 11:45:39,145 INFO L290 TraceCheckUtils]: 70: Hoare triple {2432#(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; {2433#(= |tree_inorder_#in~t.base| tree_inorder_~t.base)} is VALID [2022-04-27 11:45:39,145 INFO L290 TraceCheckUtils]: 71: Hoare triple {2433#(= |tree_inorder_#in~t.base| tree_inorder_~t.base)} assume ~t.base == 0 && ~t.offset == 0;#res := ~i; {2434#(= |tree_inorder_#in~t.base| 0)} is VALID [2022-04-27 11:45:39,146 INFO L290 TraceCheckUtils]: 72: Hoare triple {2434#(= |tree_inorder_#in~t.base| 0)} assume true; {2434#(= |tree_inorder_#in~t.base| 0)} is VALID [2022-04-27 11:45:39,146 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {2434#(= |tree_inorder_#in~t.base| 0)} {2375#(not (= task_~t.base 0))} #175#return; {2338#false} is VALID [2022-04-27 11:45:39,146 INFO L290 TraceCheckUtils]: 74: Hoare triple {2338#false} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;call #t~mem36 := read~int(~x~0.base, ~x~0.offset, 4); {2338#false} is VALID [2022-04-27 11:45:39,147 INFO L272 TraceCheckUtils]: 75: Hoare triple {2338#false} call __VERIFIER_assert((if ~a~1 == #t~mem36 then 1 else 0)); {2338#false} is VALID [2022-04-27 11:45:39,147 INFO L290 TraceCheckUtils]: 76: Hoare triple {2338#false} ~cond := #in~cond; {2338#false} is VALID [2022-04-27 11:45:39,147 INFO L290 TraceCheckUtils]: 77: Hoare triple {2338#false} assume 0 == ~cond; {2338#false} is VALID [2022-04-27 11:45:39,147 INFO L290 TraceCheckUtils]: 78: Hoare triple {2338#false} assume !false; {2338#false} is VALID [2022-04-27 11:45:39,147 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 8 proven. 2 refuted. 0 times theorem prover too weak. 23 trivial. 0 not checked. [2022-04-27 11:45:39,147 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:45:39,147 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1085800388] [2022-04-27 11:45:39,147 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1085800388] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:45:39,147 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1064273159] [2022-04-27 11:45:39,147 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:45:39,148 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:45:39,148 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:45:39,149 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-04-27 11:45:39,150 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-04-27 11:45:39,243 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:39,245 INFO L263 TraceCheckSpWp]: Trace formula consists of 428 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-27 11:45:39,262 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:39,264 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:45:39,487 INFO L272 TraceCheckUtils]: 0: Hoare triple {2337#true} call ULTIMATE.init(); {2337#true} is VALID [2022-04-27 11:45:39,487 INFO L290 TraceCheckUtils]: 1: Hoare triple {2337#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(16, 2);call #Ultimate.allocInit(12, 3); {2337#true} is VALID [2022-04-27 11:45:39,487 INFO L290 TraceCheckUtils]: 2: Hoare triple {2337#true} assume true; {2337#true} is VALID [2022-04-27 11:45:39,487 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2337#true} {2337#true} #197#return; {2337#true} is VALID [2022-04-27 11:45:39,487 INFO L272 TraceCheckUtils]: 4: Hoare triple {2337#true} call #t~ret46 := main(); {2337#true} is VALID [2022-04-27 11:45:39,487 INFO L272 TraceCheckUtils]: 5: Hoare triple {2337#true} call #t~ret45.base, #t~ret45.offset := nondet_tree(); {2337#true} is VALID [2022-04-27 11:45:39,487 INFO L290 TraceCheckUtils]: 6: Hoare triple {2337#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; {2456#(not (= nondet_tree_~n~0.base 0))} is VALID [2022-04-27 11:45:39,488 INFO L272 TraceCheckUtils]: 7: Hoare triple {2456#(not (= nondet_tree_~n~0.base 0))} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {2337#true} is VALID [2022-04-27 11:45:39,488 INFO L290 TraceCheckUtils]: 8: Hoare triple {2337#true} assume 0 != #t~nondet5 % 256;havoc #t~nondet5;#res.base, #res.offset := 0, 0; {2337#true} is VALID [2022-04-27 11:45:39,488 INFO L290 TraceCheckUtils]: 9: Hoare triple {2337#true} assume true; {2337#true} is VALID [2022-04-27 11:45:39,488 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2337#true} {2456#(not (= nondet_tree_~n~0.base 0))} #163#return; {2456#(not (= nondet_tree_~n~0.base 0))} is VALID [2022-04-27 11:45:39,488 INFO L290 TraceCheckUtils]: 11: Hoare triple {2456#(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; {2456#(not (= nondet_tree_~n~0.base 0))} is VALID [2022-04-27 11:45:39,489 INFO L272 TraceCheckUtils]: 12: Hoare triple {2456#(not (= nondet_tree_~n~0.base 0))} call #t~ret9.base, #t~ret9.offset := nondet_tree(); {2337#true} is VALID [2022-04-27 11:45:39,489 INFO L290 TraceCheckUtils]: 13: Hoare triple {2337#true} assume 0 != #t~nondet5 % 256;havoc #t~nondet5;#res.base, #res.offset := 0, 0; {2337#true} is VALID [2022-04-27 11:45:39,489 INFO L290 TraceCheckUtils]: 14: Hoare triple {2337#true} assume true; {2337#true} is VALID [2022-04-27 11:45:39,489 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2337#true} {2456#(not (= nondet_tree_~n~0.base 0))} #165#return; {2456#(not (= nondet_tree_~n~0.base 0))} is VALID [2022-04-27 11:45:39,490 INFO L290 TraceCheckUtils]: 16: Hoare triple {2456#(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; {2487#(not (= |nondet_tree_#res.base| 0))} is VALID [2022-04-27 11:45:39,490 INFO L290 TraceCheckUtils]: 17: Hoare triple {2487#(not (= |nondet_tree_#res.base| 0))} assume true; {2487#(not (= |nondet_tree_#res.base| 0))} is VALID [2022-04-27 11:45:39,490 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2487#(not (= |nondet_tree_#res.base| 0))} {2337#true} #155#return; {2494#(not (= |main_#t~ret45.base| 0))} is VALID [2022-04-27 11:45:39,491 INFO L272 TraceCheckUtils]: 19: Hoare triple {2494#(not (= |main_#t~ret45.base| 0))} call task(#t~ret45.base, #t~ret45.offset); {2498#(not (= |task_#in~t.base| 0))} is VALID [2022-04-27 11:45:39,491 INFO L290 TraceCheckUtils]: 20: Hoare triple {2498#(not (= |task_#in~t.base| 0))} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {2375#(not (= task_~t.base 0))} is VALID [2022-04-27 11:45:39,491 INFO L272 TraceCheckUtils]: 21: Hoare triple {2375#(not (= task_~t.base 0))} call #t~ret32 := min(~t.base, ~t.offset); {2337#true} is VALID [2022-04-27 11:45:39,491 INFO L290 TraceCheckUtils]: 22: Hoare triple {2337#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {2337#true} is VALID [2022-04-27 11:45:39,491 INFO L290 TraceCheckUtils]: 23: Hoare triple {2337#true} assume !(~n.base == 0 && ~n.offset == 0);call #t~mem10 := read~int(~n.base, ~n.offset, 4);~a~0 := #t~mem10;havoc #t~mem10;call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~n.base, 4 + ~n.offset, 4); {2337#true} is VALID [2022-04-27 11:45:39,491 INFO L272 TraceCheckUtils]: 24: Hoare triple {2337#true} call #t~ret12 := min(#t~mem11.base, #t~mem11.offset); {2337#true} is VALID [2022-04-27 11:45:39,491 INFO L290 TraceCheckUtils]: 25: Hoare triple {2337#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {2337#true} is VALID [2022-04-27 11:45:39,492 INFO L290 TraceCheckUtils]: 26: Hoare triple {2337#true} assume ~n.base == 0 && ~n.offset == 0;#res := 2147483647; {2337#true} is VALID [2022-04-27 11:45:39,492 INFO L290 TraceCheckUtils]: 27: Hoare triple {2337#true} assume true; {2337#true} is VALID [2022-04-27 11:45:39,492 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2337#true} {2337#true} #159#return; {2337#true} is VALID [2022-04-27 11:45:39,492 INFO L290 TraceCheckUtils]: 29: Hoare triple {2337#true} assume -2147483648 <= #t~ret12 && #t~ret12 <= 2147483647;~b~0 := #t~ret12;havoc #t~mem11.base, #t~mem11.offset;havoc #t~ret12;call #t~mem13.base, #t~mem13.offset := read~$Pointer$(~n.base, 8 + ~n.offset, 4); {2337#true} is VALID [2022-04-27 11:45:39,492 INFO L272 TraceCheckUtils]: 30: Hoare triple {2337#true} call #t~ret14 := min(#t~mem13.base, #t~mem13.offset); {2337#true} is VALID [2022-04-27 11:45:39,492 INFO L290 TraceCheckUtils]: 31: Hoare triple {2337#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {2337#true} is VALID [2022-04-27 11:45:39,492 INFO L290 TraceCheckUtils]: 32: Hoare triple {2337#true} assume ~n.base == 0 && ~n.offset == 0;#res := 2147483647; {2337#true} is VALID [2022-04-27 11:45:39,492 INFO L290 TraceCheckUtils]: 33: Hoare triple {2337#true} assume true; {2337#true} is VALID [2022-04-27 11:45:39,492 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2337#true} {2337#true} #161#return; {2337#true} is VALID [2022-04-27 11:45:39,492 INFO L290 TraceCheckUtils]: 35: Hoare triple {2337#true} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~c~0 := #t~ret14;havoc #t~mem13.base, #t~mem13.offset;havoc #t~ret14; {2337#true} is VALID [2022-04-27 11:45:39,492 INFO L290 TraceCheckUtils]: 36: Hoare triple {2337#true} assume ~b~0 <= ~a~0 && ~b~0 <= ~c~0;#res := ~b~0; {2337#true} is VALID [2022-04-27 11:45:39,492 INFO L290 TraceCheckUtils]: 37: Hoare triple {2337#true} assume true; {2337#true} is VALID [2022-04-27 11:45:39,493 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2337#true} {2375#(not (= task_~t.base 0))} #167#return; {2375#(not (= task_~t.base 0))} is VALID [2022-04-27 11:45:39,493 INFO L290 TraceCheckUtils]: 39: Hoare triple {2375#(not (= task_~t.base 0))} assume -2147483648 <= #t~ret32 && #t~ret32 <= 2147483647;~a~1 := #t~ret32;havoc #t~ret32;call ~#b~1.base, ~#b~1.offset := #Ultimate.allocOnStack(4); {2375#(not (= task_~t.base 0))} is VALID [2022-04-27 11:45:39,493 INFO L272 TraceCheckUtils]: 40: Hoare triple {2375#(not (= task_~t.base 0))} call #t~ret33 := size(~t.base, ~t.offset); {2337#true} is VALID [2022-04-27 11:45:39,493 INFO L290 TraceCheckUtils]: 41: Hoare triple {2337#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {2337#true} is VALID [2022-04-27 11:45:39,493 INFO L290 TraceCheckUtils]: 42: Hoare triple {2337#true} assume !(~t.base == 0 && ~t.offset == 0);call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~t.base, 4 + ~t.offset, 4); {2337#true} is VALID [2022-04-27 11:45:39,493 INFO L272 TraceCheckUtils]: 43: Hoare triple {2337#true} call #t~ret29 := size(#t~mem28.base, #t~mem28.offset); {2337#true} is VALID [2022-04-27 11:45:39,493 INFO L290 TraceCheckUtils]: 44: Hoare triple {2337#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {2337#true} is VALID [2022-04-27 11:45:39,493 INFO L290 TraceCheckUtils]: 45: Hoare triple {2337#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {2337#true} is VALID [2022-04-27 11:45:39,494 INFO L290 TraceCheckUtils]: 46: Hoare triple {2337#true} assume true; {2337#true} is VALID [2022-04-27 11:45:39,494 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {2337#true} {2337#true} #193#return; {2337#true} is VALID [2022-04-27 11:45:39,494 INFO L290 TraceCheckUtils]: 48: Hoare triple {2337#true} assume -2147483648 <= #t~ret29 && #t~ret29 <= 2147483647;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~t.base, 8 + ~t.offset, 4); {2337#true} is VALID [2022-04-27 11:45:39,494 INFO L272 TraceCheckUtils]: 49: Hoare triple {2337#true} call #t~ret31 := size(#t~mem30.base, #t~mem30.offset); {2337#true} is VALID [2022-04-27 11:45:39,494 INFO L290 TraceCheckUtils]: 50: Hoare triple {2337#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {2337#true} is VALID [2022-04-27 11:45:39,494 INFO L290 TraceCheckUtils]: 51: Hoare triple {2337#true} assume ~t.base == 0 && ~t.offset == 0;#res := 0; {2337#true} is VALID [2022-04-27 11:45:39,494 INFO L290 TraceCheckUtils]: 52: Hoare triple {2337#true} assume true; {2337#true} is VALID [2022-04-27 11:45:39,494 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {2337#true} {2337#true} #195#return; {2337#true} is VALID [2022-04-27 11:45:39,494 INFO L290 TraceCheckUtils]: 54: Hoare triple {2337#true} assume -2147483648 <= #t~ret31 && #t~ret31 <= 2147483647;#res := 1 + (#t~ret29 + #t~ret31);havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29;havoc #t~mem30.base, #t~mem30.offset;havoc #t~ret31; {2337#true} is VALID [2022-04-27 11:45:39,494 INFO L290 TraceCheckUtils]: 55: Hoare triple {2337#true} assume true; {2337#true} is VALID [2022-04-27 11:45:39,495 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {2337#true} {2375#(not (= task_~t.base 0))} #169#return; {2375#(not (= task_~t.base 0))} is VALID [2022-04-27 11:45:39,495 INFO L290 TraceCheckUtils]: 57: Hoare triple {2375#(not (= task_~t.base 0))} assume -2147483648 <= #t~ret33 && #t~ret33 <= 2147483647;~n~1 := #t~ret33;havoc #t~ret33; {2375#(not (= task_~t.base 0))} is VALID [2022-04-27 11:45:39,495 INFO L272 TraceCheckUtils]: 58: Hoare triple {2375#(not (= task_~t.base 0))} call assume_cycle_if_not((if 0 != ~n~1 then 1 else 0)); {2337#true} is VALID [2022-04-27 11:45:39,495 INFO L290 TraceCheckUtils]: 59: Hoare triple {2337#true} ~cond := #in~cond; {2337#true} is VALID [2022-04-27 11:45:39,495 INFO L290 TraceCheckUtils]: 60: Hoare triple {2337#true} assume !(0 == ~cond); {2337#true} is VALID [2022-04-27 11:45:39,496 INFO L290 TraceCheckUtils]: 61: Hoare triple {2337#true} assume true; {2337#true} is VALID [2022-04-27 11:45:39,496 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {2337#true} {2375#(not (= task_~t.base 0))} #171#return; {2375#(not (= task_~t.base 0))} is VALID [2022-04-27 11:45:39,496 INFO L290 TraceCheckUtils]: 63: Hoare triple {2375#(not (= task_~t.base 0))} call #t~malloc34.base, #t~malloc34.offset := #Ultimate.allocOnHeap(4 * ~n~1); {2375#(not (= task_~t.base 0))} is VALID [2022-04-27 11:45:39,496 INFO L272 TraceCheckUtils]: 64: Hoare triple {2375#(not (= task_~t.base 0))} call #Ultimate.meminit(#t~malloc34.base, #t~malloc34.offset, ~n~1, 4, 4 * ~n~1); {2337#true} is VALID [2022-04-27 11:45:39,496 INFO L290 TraceCheckUtils]: 65: Hoare triple {2337#true} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {2337#true} is VALID [2022-04-27 11:45:39,496 INFO L290 TraceCheckUtils]: 66: Hoare triple {2337#true} assume true; {2337#true} is VALID [2022-04-27 11:45:39,497 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {2337#true} {2375#(not (= task_~t.base 0))} #173#return; {2375#(not (= task_~t.base 0))} is VALID [2022-04-27 11:45:39,497 INFO L290 TraceCheckUtils]: 68: Hoare triple {2375#(not (= task_~t.base 0))} ~x~0.base, ~x~0.offset := #t~malloc34.base, #t~malloc34.offset; {2375#(not (= task_~t.base 0))} is VALID [2022-04-27 11:45:39,497 INFO L272 TraceCheckUtils]: 69: Hoare triple {2375#(not (= task_~t.base 0))} call #t~ret35 := tree_inorder(~t.base, ~t.offset, ~x~0.base, ~x~0.offset, ~n~1); {2337#true} is VALID [2022-04-27 11:45:39,498 INFO L290 TraceCheckUtils]: 70: Hoare triple {2337#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~i := #in~i; {2433#(= |tree_inorder_#in~t.base| tree_inorder_~t.base)} is VALID [2022-04-27 11:45:39,498 INFO L290 TraceCheckUtils]: 71: Hoare triple {2433#(= |tree_inorder_#in~t.base| tree_inorder_~t.base)} assume ~t.base == 0 && ~t.offset == 0;#res := ~i; {2434#(= |tree_inorder_#in~t.base| 0)} is VALID [2022-04-27 11:45:39,498 INFO L290 TraceCheckUtils]: 72: Hoare triple {2434#(= |tree_inorder_#in~t.base| 0)} assume true; {2434#(= |tree_inorder_#in~t.base| 0)} is VALID [2022-04-27 11:45:39,499 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {2434#(= |tree_inorder_#in~t.base| 0)} {2375#(not (= task_~t.base 0))} #175#return; {2338#false} is VALID [2022-04-27 11:45:39,499 INFO L290 TraceCheckUtils]: 74: Hoare triple {2338#false} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;call #t~mem36 := read~int(~x~0.base, ~x~0.offset, 4); {2338#false} is VALID [2022-04-27 11:45:39,499 INFO L272 TraceCheckUtils]: 75: Hoare triple {2338#false} call __VERIFIER_assert((if ~a~1 == #t~mem36 then 1 else 0)); {2338#false} is VALID [2022-04-27 11:45:39,499 INFO L290 TraceCheckUtils]: 76: Hoare triple {2338#false} ~cond := #in~cond; {2338#false} is VALID [2022-04-27 11:45:39,499 INFO L290 TraceCheckUtils]: 77: Hoare triple {2338#false} assume 0 == ~cond; {2338#false} is VALID [2022-04-27 11:45:39,499 INFO L290 TraceCheckUtils]: 78: Hoare triple {2338#false} assume !false; {2338#false} is VALID [2022-04-27 11:45:39,499 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 29 trivial. 0 not checked. [2022-04-27 11:45:39,500 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 11:45:39,500 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1064273159] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 11:45:39,500 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-27 11:45:39,500 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [16] total 20 [2022-04-27 11:45:39,500 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [393967740] [2022-04-27 11:45:39,500 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 11:45:39,501 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 4.75) internal successors, (38), 7 states have internal predecessors, (38), 5 states have call successors, (16), 3 states have call predecessors, (16), 3 states have return successors, (13), 5 states have call predecessors, (13), 3 states have call successors, (13) Word has length 79 [2022-04-27 11:45:39,501 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:45:39,501 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 4.75) internal successors, (38), 7 states have internal predecessors, (38), 5 states have call successors, (16), 3 states have call predecessors, (16), 3 states have return successors, (13), 5 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-27 11:45:39,543 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:45:39,543 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-27 11:45:39,543 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:45:39,543 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-27 11:45:39,543 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=340, Unknown=0, NotChecked=0, Total=380 [2022-04-27 11:45:39,544 INFO L87 Difference]: Start difference. First operand 95 states and 121 transitions. Second operand has 9 states, 8 states have (on average 4.75) internal successors, (38), 7 states have internal predecessors, (38), 5 states have call successors, (16), 3 states have call predecessors, (16), 3 states have return successors, (13), 5 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-27 11:45:40,149 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:45:40,149 INFO L93 Difference]: Finished difference Result 150 states and 192 transitions. [2022-04-27 11:45:40,149 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-27 11:45:40,149 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 4.75) internal successors, (38), 7 states have internal predecessors, (38), 5 states have call successors, (16), 3 states have call predecessors, (16), 3 states have return successors, (13), 5 states have call predecessors, (13), 3 states have call successors, (13) Word has length 79 [2022-04-27 11:45:40,149 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:45:40,150 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 4.75) internal successors, (38), 7 states have internal predecessors, (38), 5 states have call successors, (16), 3 states have call predecessors, (16), 3 states have return successors, (13), 5 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-27 11:45:40,170 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 181 transitions. [2022-04-27 11:45:40,171 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 4.75) internal successors, (38), 7 states have internal predecessors, (38), 5 states have call successors, (16), 3 states have call predecessors, (16), 3 states have return successors, (13), 5 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-27 11:45:40,174 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 181 transitions. [2022-04-27 11:45:40,175 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 181 transitions. [2022-04-27 11:45:40,304 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 181 edges. 181 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:45:40,309 INFO L225 Difference]: With dead ends: 150 [2022-04-27 11:45:40,309 INFO L226 Difference]: Without dead ends: 97 [2022-04-27 11:45:40,310 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 117 GetRequests, 96 SyntacticMatches, 0 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=52, Invalid=454, Unknown=0, NotChecked=0, Total=506 [2022-04-27 11:45:40,310 INFO L413 NwaCegarLoop]: 104 mSDtfsCounter, 35 mSDsluCounter, 602 mSDsCounter, 0 mSdLazyCounter, 127 mSolverCounterSat, 24 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 39 SdHoareTripleChecker+Valid, 706 SdHoareTripleChecker+Invalid, 151 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 24 IncrementalHoareTripleChecker+Valid, 127 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 11:45:40,311 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [39 Valid, 706 Invalid, 151 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [24 Valid, 127 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 11:45:40,311 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 97 states. [2022-04-27 11:45:40,322 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 97 to 97. [2022-04-27 11:45:40,322 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:45:40,322 INFO L82 GeneralOperation]: Start isEquivalent. First operand 97 states. Second operand has 97 states, 58 states have (on average 1.1551724137931034) internal successors, (67), 62 states have internal predecessors, (67), 25 states have call successors, (25), 11 states have call predecessors, (25), 13 states have return successors, (33), 23 states have call predecessors, (33), 23 states have call successors, (33) [2022-04-27 11:45:40,322 INFO L74 IsIncluded]: Start isIncluded. First operand 97 states. Second operand has 97 states, 58 states have (on average 1.1551724137931034) internal successors, (67), 62 states have internal predecessors, (67), 25 states have call successors, (25), 11 states have call predecessors, (25), 13 states have return successors, (33), 23 states have call predecessors, (33), 23 states have call successors, (33) [2022-04-27 11:45:40,323 INFO L87 Difference]: Start difference. First operand 97 states. Second operand has 97 states, 58 states have (on average 1.1551724137931034) internal successors, (67), 62 states have internal predecessors, (67), 25 states have call successors, (25), 11 states have call predecessors, (25), 13 states have return successors, (33), 23 states have call predecessors, (33), 23 states have call successors, (33) [2022-04-27 11:45:40,326 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:45:40,326 INFO L93 Difference]: Finished difference Result 97 states and 125 transitions. [2022-04-27 11:45:40,326 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 125 transitions. [2022-04-27 11:45:40,339 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:45:40,339 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:45:40,339 INFO L74 IsIncluded]: Start isIncluded. First operand has 97 states, 58 states have (on average 1.1551724137931034) internal successors, (67), 62 states have internal predecessors, (67), 25 states have call successors, (25), 11 states have call predecessors, (25), 13 states have return successors, (33), 23 states have call predecessors, (33), 23 states have call successors, (33) Second operand 97 states. [2022-04-27 11:45:40,340 INFO L87 Difference]: Start difference. First operand has 97 states, 58 states have (on average 1.1551724137931034) internal successors, (67), 62 states have internal predecessors, (67), 25 states have call successors, (25), 11 states have call predecessors, (25), 13 states have return successors, (33), 23 states have call predecessors, (33), 23 states have call successors, (33) Second operand 97 states. [2022-04-27 11:45:40,343 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:45:40,343 INFO L93 Difference]: Finished difference Result 97 states and 125 transitions. [2022-04-27 11:45:40,343 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 125 transitions. [2022-04-27 11:45:40,343 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:45:40,343 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:45:40,344 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:45:40,344 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:45:40,344 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 97 states, 58 states have (on average 1.1551724137931034) internal successors, (67), 62 states have internal predecessors, (67), 25 states have call successors, (25), 11 states have call predecessors, (25), 13 states have return successors, (33), 23 states have call predecessors, (33), 23 states have call successors, (33) [2022-04-27 11:45:40,347 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 97 states to 97 states and 125 transitions. [2022-04-27 11:45:40,348 INFO L78 Accepts]: Start accepts. Automaton has 97 states and 125 transitions. Word has length 79 [2022-04-27 11:45:40,348 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:45:40,348 INFO L495 AbstractCegarLoop]: Abstraction has 97 states and 125 transitions. [2022-04-27 11:45:40,348 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 4.75) internal successors, (38), 7 states have internal predecessors, (38), 5 states have call successors, (16), 3 states have call predecessors, (16), 3 states have return successors, (13), 5 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-27 11:45:40,348 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 125 transitions. [2022-04-27 11:45:40,349 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2022-04-27 11:45:40,349 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:45:40,349 INFO L195 NwaCegarLoop]: 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, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:45:40,370 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-04-27 11:45:40,563 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable3 [2022-04-27 11:45:40,564 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:45:40,564 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:45:40,564 INFO L85 PathProgramCache]: Analyzing trace with hash -1854783018, now seen corresponding path program 1 times [2022-04-27 11:45:40,564 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:45:40,564 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [296970086] [2022-04-27 11:45:40,564 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:45:40,565 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:45:40,595 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-04-27 11:45:40,596 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-04-27 11:45:40,616 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-04-27 11:45:40,641 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-04-27 11:45:40,642 INFO L271 BasicCegarLoop]: Counterexample is feasible [2022-04-27 11:45:40,642 INFO L805 garLoopResultBuilder]: Registering result UNSAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-27 11:45:40,643 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2022-04-27 11:45:40,645 INFO L356 BasicCegarLoop]: Path program histogram: [1, 1, 1, 1, 1] [2022-04-27 11:45:40,647 INFO L176 ceAbstractionStarter]: Computing trace abstraction results [2022-04-27 11:45:40,673 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-27 11:45:40,673 WARN L170 areAnnotationChecker]: nondet_treeENTRY has no Hoare annotation [2022-04-27 11:45:40,673 WARN L170 areAnnotationChecker]: nondet_treeENTRY has no Hoare annotation [2022-04-27 11:45:40,673 WARN L170 areAnnotationChecker]: mainENTRY has no Hoare annotation [2022-04-27 11:45:40,673 WARN L170 areAnnotationChecker]: mainENTRY has no Hoare annotation [2022-04-27 11:45:40,673 WARN L170 areAnnotationChecker]: tree_delENTRY has no Hoare annotation [2022-04-27 11:45:40,673 WARN L170 areAnnotationChecker]: ULTIMATE.initENTRY has no Hoare annotation [2022-04-27 11:45:40,674 WARN L170 areAnnotationChecker]: minENTRY has no Hoare annotation [2022-04-27 11:45:40,674 WARN L170 areAnnotationChecker]: taskENTRY has no Hoare annotation [2022-04-27 11:45:40,674 WARN L170 areAnnotationChecker]: sizeENTRY has no Hoare annotation [2022-04-27 11:45:40,674 WARN L170 areAnnotationChecker]: assume_cycle_if_notENTRY has no Hoare annotation [2022-04-27 11:45:40,674 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2022-04-27 11:45:40,674 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2022-04-27 11:45:40,674 WARN L170 areAnnotationChecker]: __VERIFIER_assertENTRY has no Hoare annotation [2022-04-27 11:45:40,674 WARN L170 areAnnotationChecker]: #Ultimate.meminitENTRY has no Hoare annotation [2022-04-27 11:45:40,674 WARN L170 areAnnotationChecker]: tree_inorderENTRY has no Hoare annotation [2022-04-27 11:45:40,674 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-27 11:45:40,674 WARN L170 areAnnotationChecker]: nondet_treeFINAL has no Hoare annotation [2022-04-27 11:45:40,674 WARN L170 areAnnotationChecker]: L30 has no Hoare annotation [2022-04-27 11:45:40,674 WARN L170 areAnnotationChecker]: L30 has no Hoare annotation [2022-04-27 11:45:40,674 WARN L170 areAnnotationChecker]: L110 has no Hoare annotation [2022-04-27 11:45:40,674 WARN L170 areAnnotationChecker]: L110 has no Hoare annotation [2022-04-27 11:45:40,674 WARN L170 areAnnotationChecker]: L55 has no Hoare annotation [2022-04-27 11:45:40,674 WARN L170 areAnnotationChecker]: L55 has no Hoare annotation [2022-04-27 11:45:40,674 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-27 11:45:40,674 WARN L170 areAnnotationChecker]: L37 has no Hoare annotation [2022-04-27 11:45:40,674 WARN L170 areAnnotationChecker]: L37 has no Hoare annotation [2022-04-27 11:45:40,675 WARN L170 areAnnotationChecker]: L86 has no Hoare annotation [2022-04-27 11:45:40,675 WARN L170 areAnnotationChecker]: L86 has no Hoare annotation [2022-04-27 11:45:40,675 WARN L170 areAnnotationChecker]: L81 has no Hoare annotation [2022-04-27 11:45:40,675 WARN L170 areAnnotationChecker]: L81 has no Hoare annotation [2022-04-27 11:45:40,675 WARN L170 areAnnotationChecker]: L9 has no Hoare annotation [2022-04-27 11:45:40,675 WARN L170 areAnnotationChecker]: L9 has no Hoare annotation [2022-04-27 11:45:40,675 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2022-04-27 11:45:40,675 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2022-04-27 11:45:40,675 WARN L170 areAnnotationChecker]: L16 has no Hoare annotation [2022-04-27 11:45:40,675 WARN L170 areAnnotationChecker]: L16 has no Hoare annotation [2022-04-27 11:45:40,675 WARN L170 areAnnotationChecker]: #Ultimate.meminitFINAL has no Hoare annotation [2022-04-27 11:45:40,675 WARN L170 areAnnotationChecker]: L70 has no Hoare annotation [2022-04-27 11:45:40,675 WARN L170 areAnnotationChecker]: L70 has no Hoare annotation [2022-04-27 11:45:40,675 WARN L170 areAnnotationChecker]: nondet_treeEXIT has no Hoare annotation [2022-04-27 11:45:40,675 WARN L170 areAnnotationChecker]: nondet_treeEXIT has no Hoare annotation [2022-04-27 11:45:40,675 WARN L170 areAnnotationChecker]: nondet_treeEXIT has no Hoare annotation [2022-04-27 11:45:40,675 WARN L170 areAnnotationChecker]: L30-1 has no Hoare annotation [2022-04-27 11:45:40,675 WARN L170 areAnnotationChecker]: L110-1 has no Hoare annotation [2022-04-27 11:45:40,675 WARN L170 areAnnotationChecker]: L55-2 has no Hoare annotation [2022-04-27 11:45:40,675 WARN L170 areAnnotationChecker]: L59-2 has no Hoare annotation [2022-04-27 11:45:40,676 WARN L170 areAnnotationChecker]: L59-2 has no Hoare annotation [2022-04-27 11:45:40,676 WARN L170 areAnnotationChecker]: L59-2 has no Hoare annotation [2022-04-27 11:45:40,676 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2022-04-27 11:45:40,676 WARN L170 areAnnotationChecker]: minFINAL has no Hoare annotation [2022-04-27 11:45:40,676 WARN L170 areAnnotationChecker]: L41 has no Hoare annotation [2022-04-27 11:45:40,676 WARN L170 areAnnotationChecker]: L41 has no Hoare annotation [2022-04-27 11:45:40,676 WARN L170 areAnnotationChecker]: L86-1 has no Hoare annotation [2022-04-27 11:45:40,676 WARN L170 areAnnotationChecker]: sizeFINAL has no Hoare annotation [2022-04-27 11:45:40,676 WARN L170 areAnnotationChecker]: L82 has no Hoare annotation [2022-04-27 11:45:40,676 WARN L170 areAnnotationChecker]: L82 has no Hoare annotation [2022-04-27 11:45:40,676 WARN L170 areAnnotationChecker]: L9-3 has no Hoare annotation [2022-04-27 11:45:40,676 WARN L170 areAnnotationChecker]: L9-3 has no Hoare annotation [2022-04-27 11:45:40,676 WARN L170 areAnnotationChecker]: L9-3 has no Hoare annotation [2022-04-27 11:45:40,676 WARN L170 areAnnotationChecker]: L9-5 has no Hoare annotation [2022-04-27 11:45:40,676 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-27 11:45:40,676 WARN L170 areAnnotationChecker]: L16-1 has no Hoare annotation [2022-04-27 11:45:40,676 WARN L170 areAnnotationChecker]: L16-1 has no Hoare annotation [2022-04-27 11:45:40,676 WARN L170 areAnnotationChecker]: L16-3 has no Hoare annotation [2022-04-27 11:45:40,676 WARN L170 areAnnotationChecker]: #Ultimate.meminitEXIT has no Hoare annotation [2022-04-27 11:45:40,676 WARN L170 areAnnotationChecker]: #Ultimate.meminitEXIT has no Hoare annotation [2022-04-27 11:45:40,677 WARN L170 areAnnotationChecker]: tree_inorderFINAL has no Hoare annotation [2022-04-27 11:45:40,677 WARN L170 areAnnotationChecker]: L73 has no Hoare annotation [2022-04-27 11:45:40,677 WARN L170 areAnnotationChecker]: L73 has no Hoare annotation [2022-04-27 11:45:40,677 WARN L170 areAnnotationChecker]: L31-1 has no Hoare annotation [2022-04-27 11:45:40,677 WARN L170 areAnnotationChecker]: L31 has no Hoare annotation [2022-04-27 11:45:40,677 WARN L170 areAnnotationChecker]: L31 has no Hoare annotation [2022-04-27 11:45:40,677 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2022-04-27 11:45:40,677 WARN L170 areAnnotationChecker]: tree_delFINAL has no Hoare annotation [2022-04-27 11:45:40,677 WARN L170 areAnnotationChecker]: L59-3 has no Hoare annotation [2022-04-27 11:45:40,677 WARN L170 areAnnotationChecker]: minEXIT has no Hoare annotation [2022-04-27 11:45:40,677 WARN L170 areAnnotationChecker]: minEXIT has no Hoare annotation [2022-04-27 11:45:40,677 WARN L170 areAnnotationChecker]: minEXIT has no Hoare annotation [2022-04-27 11:45:40,677 WARN L170 areAnnotationChecker]: L41-1 has no Hoare annotation [2022-04-27 11:45:40,677 WARN L170 areAnnotationChecker]: L89 has no Hoare annotation [2022-04-27 11:45:40,677 WARN L170 areAnnotationChecker]: L89 has no Hoare annotation [2022-04-27 11:45:40,677 WARN L170 areAnnotationChecker]: sizeEXIT has no Hoare annotation [2022-04-27 11:45:40,677 WARN L170 areAnnotationChecker]: sizeEXIT has no Hoare annotation [2022-04-27 11:45:40,677 WARN L170 areAnnotationChecker]: sizeEXIT has no Hoare annotation [2022-04-27 11:45:40,677 WARN L170 areAnnotationChecker]: sizeEXIT has no Hoare annotation [2022-04-27 11:45:40,678 WARN L170 areAnnotationChecker]: L82-1 has no Hoare annotation [2022-04-27 11:45:40,678 WARN L170 areAnnotationChecker]: assume_cycle_if_notEXIT has no Hoare annotation [2022-04-27 11:45:40,678 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 11:45:40,678 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 11:45:40,678 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 11:45:40,678 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 11:45:40,678 WARN L170 areAnnotationChecker]: L91-1 has no Hoare annotation [2022-04-27 11:45:40,678 WARN L170 areAnnotationChecker]: L98-1 has no Hoare annotation [2022-04-27 11:45:40,678 WARN L170 areAnnotationChecker]: tree_inorderEXIT has no Hoare annotation [2022-04-27 11:45:40,678 WARN L170 areAnnotationChecker]: tree_inorderEXIT has no Hoare annotation [2022-04-27 11:45:40,678 WARN L170 areAnnotationChecker]: tree_inorderEXIT has no Hoare annotation [2022-04-27 11:45:40,678 WARN L170 areAnnotationChecker]: tree_inorderEXIT has no Hoare annotation [2022-04-27 11:45:40,678 WARN L170 areAnnotationChecker]: L73-1 has no Hoare annotation [2022-04-27 11:45:40,678 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2022-04-27 11:45:40,678 WARN L170 areAnnotationChecker]: tree_delEXIT has no Hoare annotation [2022-04-27 11:45:40,678 WARN L170 areAnnotationChecker]: L42-1 has no Hoare annotation [2022-04-27 11:45:40,678 WARN L170 areAnnotationChecker]: L42 has no Hoare annotation [2022-04-27 11:45:40,678 WARN L170 areAnnotationChecker]: L42 has no Hoare annotation [2022-04-27 11:45:40,678 WARN L170 areAnnotationChecker]: L89-1 has no Hoare annotation [2022-04-27 11:45:40,678 WARN L170 areAnnotationChecker]: L97-1 has no Hoare annotation [2022-04-27 11:45:40,679 WARN L170 areAnnotationChecker]: L82-3 has no Hoare annotation [2022-04-27 11:45:40,679 WARN L170 areAnnotationChecker]: L82-2 has no Hoare annotation [2022-04-27 11:45:40,679 WARN L170 areAnnotationChecker]: L82-2 has no Hoare annotation [2022-04-27 11:45:40,679 WARN L170 areAnnotationChecker]: L90-1 has no Hoare annotation [2022-04-27 11:45:40,679 WARN L170 areAnnotationChecker]: L93-1 has no Hoare annotation [2022-04-27 11:45:40,679 WARN L170 areAnnotationChecker]: L96-1 has no Hoare annotation [2022-04-27 11:45:40,679 WARN L170 areAnnotationChecker]: L101-1 has no Hoare annotation [2022-04-27 11:45:40,679 WARN L170 areAnnotationChecker]: L104-1 has no Hoare annotation [2022-04-27 11:45:40,679 WARN L170 areAnnotationChecker]: L92 has no Hoare annotation [2022-04-27 11:45:40,679 WARN L170 areAnnotationChecker]: L92 has no Hoare annotation [2022-04-27 11:45:40,679 WARN L170 areAnnotationChecker]: L99 has no Hoare annotation [2022-04-27 11:45:40,679 WARN L170 areAnnotationChecker]: L99 has no Hoare annotation [2022-04-27 11:45:40,679 WARN L170 areAnnotationChecker]: L92-1 has no Hoare annotation [2022-04-27 11:45:40,679 WARN L170 areAnnotationChecker]: L99-1 has no Hoare annotation [2022-04-27 11:45:40,679 WARN L170 areAnnotationChecker]: L75-1 has no Hoare annotation [2022-04-27 11:45:40,679 WARN L170 areAnnotationChecker]: L75 has no Hoare annotation [2022-04-27 11:45:40,679 WARN L170 areAnnotationChecker]: L75 has no Hoare annotation [2022-04-27 11:45:40,679 WARN L170 areAnnotationChecker]: L95-1 has no Hoare annotation [2022-04-27 11:45:40,679 WARN L170 areAnnotationChecker]: L43 has no Hoare annotation [2022-04-27 11:45:40,679 WARN L170 areAnnotationChecker]: L43 has no Hoare annotation [2022-04-27 11:45:40,680 WARN L170 areAnnotationChecker]: L90 has no Hoare annotation [2022-04-27 11:45:40,680 WARN L170 areAnnotationChecker]: L90 has no Hoare annotation [2022-04-27 11:45:40,680 WARN L170 areAnnotationChecker]: L98 has no Hoare annotation [2022-04-27 11:45:40,680 WARN L170 areAnnotationChecker]: L98 has no Hoare annotation [2022-04-27 11:45:40,680 WARN L170 areAnnotationChecker]: L91 has no Hoare annotation [2022-04-27 11:45:40,680 WARN L170 areAnnotationChecker]: L91 has no Hoare annotation [2022-04-27 11:45:40,680 WARN L170 areAnnotationChecker]: L95 has no Hoare annotation [2022-04-27 11:45:40,680 WARN L170 areAnnotationChecker]: L95 has no Hoare annotation [2022-04-27 11:45:40,680 WARN L170 areAnnotationChecker]: L97 has no Hoare annotation [2022-04-27 11:45:40,680 WARN L170 areAnnotationChecker]: L97 has no Hoare annotation [2022-04-27 11:45:40,680 WARN L170 areAnnotationChecker]: L103-3 has no Hoare annotation [2022-04-27 11:45:40,680 WARN L170 areAnnotationChecker]: L103-3 has no Hoare annotation [2022-04-27 11:45:40,680 WARN L170 areAnnotationChecker]: L103-3 has no Hoare annotation [2022-04-27 11:45:40,680 WARN L170 areAnnotationChecker]: L103-2 has no Hoare annotation [2022-04-27 11:45:40,680 WARN L170 areAnnotationChecker]: L93 has no Hoare annotation [2022-04-27 11:45:40,680 WARN L170 areAnnotationChecker]: L93 has no Hoare annotation [2022-04-27 11:45:40,680 WARN L170 areAnnotationChecker]: L101 has no Hoare annotation [2022-04-27 11:45:40,680 WARN L170 areAnnotationChecker]: L101 has no Hoare annotation [2022-04-27 11:45:40,680 WARN L170 areAnnotationChecker]: L96 has no Hoare annotation [2022-04-27 11:45:40,680 WARN L170 areAnnotationChecker]: L96 has no Hoare annotation [2022-04-27 11:45:40,681 WARN L170 areAnnotationChecker]: L44 has no Hoare annotation [2022-04-27 11:45:40,681 WARN L170 areAnnotationChecker]: L44 has no Hoare annotation [2022-04-27 11:45:40,681 WARN L170 areAnnotationChecker]: L103-4 has no Hoare annotation [2022-04-27 11:45:40,681 WARN L170 areAnnotationChecker]: L104 has no Hoare annotation [2022-04-27 11:45:40,681 WARN L170 areAnnotationChecker]: L104 has no Hoare annotation [2022-04-27 11:45:40,681 WARN L170 areAnnotationChecker]: taskFINAL has no Hoare annotation [2022-04-27 11:45:40,681 WARN L170 areAnnotationChecker]: taskEXIT has no Hoare annotation [2022-04-27 11:45:40,681 INFO L163 areAnnotationChecker]: CFG has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-27 11:45:40,682 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 27.04 11:45:40 BoogieIcfgContainer [2022-04-27 11:45:40,682 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-27 11:45:40,683 INFO L158 Benchmark]: Toolchain (without parser) took 12106.24ms. Allocated memory was 188.7MB in the beginning and 348.1MB in the end (delta: 159.4MB). Free memory was 137.6MB in the beginning and 271.0MB in the end (delta: -133.3MB). Peak memory consumption was 25.3MB. Max. memory is 8.0GB. [2022-04-27 11:45:40,683 INFO L158 Benchmark]: CDTParser took 0.27ms. Allocated memory is still 188.7MB. Free memory was 154.8MB in the beginning and 154.7MB in the end (delta: 71.5kB). There was no memory consumed. Max. memory is 8.0GB. [2022-04-27 11:45:40,683 INFO L158 Benchmark]: CACSL2BoogieTranslator took 290.07ms. Allocated memory was 188.7MB in the beginning and 241.2MB in the end (delta: 52.4MB). Free memory was 137.4MB in the beginning and 213.3MB in the end (delta: -75.9MB). Peak memory consumption was 10.0MB. Max. memory is 8.0GB. [2022-04-27 11:45:40,683 INFO L158 Benchmark]: Boogie Preprocessor took 61.62ms. Allocated memory is still 241.2MB. Free memory was 213.3MB in the beginning and 210.2MB in the end (delta: 3.1MB). Peak memory consumption was 3.1MB. Max. memory is 8.0GB. [2022-04-27 11:45:40,683 INFO L158 Benchmark]: RCFGBuilder took 468.15ms. Allocated memory is still 241.2MB. Free memory was 210.2MB in the beginning and 186.1MB in the end (delta: 24.1MB). Peak memory consumption was 24.1MB. Max. memory is 8.0GB. [2022-04-27 11:45:40,684 INFO L158 Benchmark]: TraceAbstraction took 11280.65ms. Allocated memory was 241.2MB in the beginning and 348.1MB in the end (delta: 107.0MB). Free memory was 185.6MB in the beginning and 271.0MB in the end (delta: -85.3MB). Peak memory consumption was 22.6MB. Max. memory is 8.0GB. [2022-04-27 11:45:40,685 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.27ms. Allocated memory is still 188.7MB. Free memory was 154.8MB in the beginning and 154.7MB in the end (delta: 71.5kB). There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 290.07ms. Allocated memory was 188.7MB in the beginning and 241.2MB in the end (delta: 52.4MB). Free memory was 137.4MB in the beginning and 213.3MB in the end (delta: -75.9MB). Peak memory consumption was 10.0MB. Max. memory is 8.0GB. * Boogie Preprocessor took 61.62ms. Allocated memory is still 241.2MB. Free memory was 213.3MB in the beginning and 210.2MB in the end (delta: 3.1MB). Peak memory consumption was 3.1MB. Max. memory is 8.0GB. * RCFGBuilder took 468.15ms. Allocated memory is still 241.2MB. Free memory was 210.2MB in the beginning and 186.1MB in the end (delta: 24.1MB). Peak memory consumption was 24.1MB. Max. memory is 8.0GB. * TraceAbstraction took 11280.65ms. Allocated memory was 241.2MB in the beginning and 348.1MB in the end (delta: 107.0MB). Free memory was 185.6MB in the beginning and 271.0MB in the end (delta: -85.3MB). Peak memory consumption was 22.6MB. Max. memory is 8.0GB. * 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 - CounterExampleResult [Line: 16]: a call to reach_error is reachable a call to reach_error is reachable We found a FailurePath: [L110] CALL, EXPR nondet_tree() [L25] COND FALSE !(__VERIFIER_nondet_bool()) [L28] struct node *n = (struct node *)malloc(sizeof(struct node)); [L29] n->data = __VERIFIER_nondet_int() [L30] CALL, EXPR nondet_tree() [L25] COND TRUE __VERIFIER_nondet_bool() [L26] return 0; VAL [\result={0:0}] [L30] RET, EXPR nondet_tree() VAL [n={-1:0}, nondet_tree()={0:0}] [L30] n->left = nondet_tree() [L31] CALL, EXPR nondet_tree() [L25] COND TRUE __VERIFIER_nondet_bool() [L26] return 0; VAL [\result={0:0}] [L31] RET, EXPR nondet_tree() VAL [n={-1:0}, nondet_tree()={0:0}] [L31] n->right = nondet_tree() [L32] return n; VAL [\result={-1:0}, n={-1:0}] [L110] RET, EXPR nondet_tree() VAL [nondet_tree()={-1:0}] [L110] CALL task(nondet_tree()) VAL [t={-1:0}] [L86] CALL, EXPR min(t) VAL [n={-1:0}] [L37] COND FALSE !(!n) [L40] EXPR n->data [L40] int a = n->data; [L41] EXPR n->left VAL [a=2147483647, n={-1:0}, n={-1:0}, n->left={0:0}] [L41] CALL, EXPR min(n->left) VAL [n={0:0}] [L37] COND TRUE !n [L38] return 2147483647; VAL [\result=2147483647, n={0:0}, n={0:0}] [L41] RET, EXPR min(n->left) VAL [a=2147483647, min(n->left)=2147483647, n={-1:0}, n={-1:0}, n->left={0:0}] [L41] int b = min(n->left); [L42] EXPR n->right VAL [a=2147483647, b=2147483647, n={-1:0}, n={-1:0}, n->right={0:0}] [L42] CALL, EXPR min(n->right) VAL [n={0:0}] [L37] COND TRUE !n [L38] return 2147483647; VAL [\result=2147483647, n={0:0}, n={0:0}] [L42] RET, EXPR min(n->right) VAL [a=2147483647, b=2147483647, min(n->right)=2147483647, n={-1:0}, n={-1:0}, n->right={0:0}] [L42] int c = min(n->right); [L43] COND TRUE b <= a && b <= c [L43] return b; VAL [\result=2147483647, a=2147483647, b=2147483647, c=2147483647, n={-1:0}, n={-1:0}] [L86] RET, EXPR min(t) VAL [min(t)=2147483647, t={-1:0}, t={-1:0}] [L86] int a = min(t); [L87] int b; VAL [a=2147483647, b={5:0}, t={-1:0}, t={-1:0}] [L89] CALL, EXPR size(t) VAL [t={-1:0}] [L81] COND FALSE !(!t) [L82] EXPR t->left VAL [t={-1:0}, t={-1:0}, t->left={0:0}] [L82] CALL, EXPR size(t->left) VAL [t={0:0}] [L81] COND TRUE !t [L81] return 0; VAL [\result=0, t={0:0}, t={0:0}] [L82] RET, EXPR size(t->left) VAL [size(t->left)=0, t={-1:0}, t={-1:0}, t->left={0:0}] [L82] EXPR t->right VAL [size(t->left)=0, t={-1:0}, t={-1:0}, t->left={0:0}, t->right={0:0}] [L82] CALL, EXPR size(t->right) VAL [t={0:0}] [L81] COND TRUE !t [L81] return 0; VAL [\result=0, t={0:0}, t={0:0}] [L82] RET, EXPR size(t->right) VAL [size(t->left)=0, size(t->right)=0, t={-1:0}, t={-1:0}, t->left={0:0}, t->right={0:0}] [L82] return size(t->left) + size(t->right) + 1; [L89] RET, EXPR size(t) VAL [a=2147483647, b={5:0}, size(t)=1, t={-1:0}, t={-1:0}] [L89] int n = size(t); [L90] CALL assume_cycle_if_not(n != 0) VAL [\old(cond)=1] [L9] COND FALSE !(!cond) VAL [\old(cond)=1, cond=1] [L90] RET assume_cycle_if_not(n != 0) VAL [a=2147483647, b={5:0}, n=1, t={-1:0}, t={-1:0}] [L91] EXPR, FCALL calloc(n, sizeof(int)) VAL [a=2147483647, b={5:0}, calloc(n, sizeof(int))={-2:0}, n=1, t={-1:0}, t={-1:0}] [L91] int *x = calloc(n, sizeof(int)); VAL [a=2147483647, b={5:0}, calloc(n, sizeof(int))={-2:0}, n=1, t={-1:0}, t={-1:0}, x={-2:0}] [L92] CALL tree_inorder(t, x, n) VAL [\old(i)=1, a={-2:0}, t={-1:0}] [L70] COND FALSE !(!t) [L73] EXPR t->left VAL [\old(i)=1, a={-2:0}, a={-2:0}, i=1, t={-1:0}, t={-1:0}, t->left={0:0}] [L73] CALL, EXPR tree_inorder(t->left, a, i) VAL [\old(i)=1, a={-2:0}, t={0:0}] [L70] COND TRUE !t [L71] return i; VAL [\old(i)=1, \result=1, a={-2:0}, a={-2:0}, i=1, t={0:0}, t={0:0}] [L73] RET, EXPR tree_inorder(t->left, a, i) VAL [\old(i)=1, a={-2:0}, a={-2:0}, i=1, t={-1:0}, t={-1:0}, t->left={0:0}, tree_inorder(t->left, a, i)=1] [L73] i = tree_inorder(t->left, a, i) [L74] EXPR i++ [L74] EXPR t->data [L74] a[i++] = t->data [L75] EXPR t->right VAL [\old(i)=1, a={-2:0}, a={-2:0}, i=2, t={-1:0}, t={-1:0}, t->right={0:0}] [L75] CALL, EXPR tree_inorder(t->right, a, i) VAL [\old(i)=2, a={-2:0}, t={0:0}] [L70] COND TRUE !t [L71] return i; VAL [\old(i)=2, \result=2, a={-2:0}, a={-2:0}, i=2, t={0:0}, t={0:0}] [L75] RET, EXPR tree_inorder(t->right, a, i) VAL [\old(i)=1, a={-2:0}, a={-2:0}, i=2, t={-1:0}, t={-1:0}, t->right={0:0}, tree_inorder(t->right, a, i)=2] [L75] i = tree_inorder(t->right, a, i) [L76] return i; VAL [\old(i)=1, \result=2, a={-2:0}, a={-2:0}, i=2, t={-1:0}, t={-1:0}] [L92] RET tree_inorder(t, x, n) VAL [a=2147483647, b={5:0}, calloc(n, sizeof(int))={-2:0}, n=1, t={-1:0}, t={-1:0}, tree_inorder(t, x, n)=2, x={-2:0}] [L93] EXPR x[0] VAL [a=2147483647, b={5:0}, calloc(n, sizeof(int))={-2:0}, n=1, t={-1:0}, t={-1:0}, x={-2:0}, x[0]=0] [L93] CALL __VERIFIER_assert(a == x[0]) VAL [\old(cond)=0] [L16] COND TRUE !cond VAL [\old(cond)=0, cond=0] [L16] reach_error() VAL [\old(cond)=0, cond=0] - StatisticsResult: Ultimate Automizer benchmark data CFG has 13 procedures, 101 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 11.2s, OverallIterations: 5, TraceHistogramMax: 3, PathProgramHistogramMax: 1, EmptinessCheckTime: 0.0s, AutomataDifference: 8.0s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 551 SdHoareTripleChecker+Valid, 3.1s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 509 mSDsluCounter, 975 SdHoareTripleChecker+Invalid, 3.0s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 650 mSDsCounter, 456 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 2662 IncrementalHoareTripleChecker+Invalid, 3118 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 456 mSolverCounterUnsat, 325 mSDtfsCounter, 2662 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 335 GetRequests, 251 SyntacticMatches, 3 SemanticMatches, 81 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 151 ImplicationChecksByTransitivity, 0.7s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=98occurred in iteration=0, InterpolantAutomatonStates: 48, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.1s AutomataMinimizationTime, 4 MinimizatonAttempts, 15 StatesRemovedByMinimization, 3 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.0s SsaConstructionTime, 0.2s SatisfiabilityAnalysisTime, 1.9s InterpolantComputationTime, 471 NumberOfCodeBlocks, 471 NumberOfCodeBlocksAsserted, 7 NumberOfCheckSat, 429 ConstructedInterpolants, 0 QuantifiedInterpolants, 1212 SizeOfPredicates, 7 NumberOfNonLiveVariables, 708 ConjunctsInSsa, 40 ConjunctsInUnsatCore, 7 InterpolantComputations, 3 PerfectInterpolantSequences, 115/123 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be incorrect! [2022-04-27 11:45:40,719 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...