java -ea -Xmx8000000000 -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc ../../../trunk/examples/toolchains/AutomizerCInline_WitnessPrinter.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Bitvector.epf -i ../../../trunk/examples/svcomp/list-properties/list_flag_true-unreach-call_false-valid-memtrack.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-61f4311 [2018-11-23 11:04:54,981 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 11:04:54,983 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 11:04:54,994 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 11:04:54,995 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 11:04:54,996 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 11:04:54,997 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 11:04:54,999 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 11:04:55,001 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 11:04:55,001 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 11:04:55,002 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 11:04:55,003 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 11:04:55,003 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 11:04:55,004 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 11:04:55,006 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 11:04:55,006 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 11:04:55,007 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 11:04:55,009 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 11:04:55,011 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 11:04:55,013 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 11:04:55,014 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 11:04:55,015 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 11:04:55,018 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 11:04:55,018 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 11:04:55,018 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 11:04:55,019 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 11:04:55,020 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 11:04:55,021 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 11:04:55,022 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 11:04:55,023 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 11:04:55,023 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 11:04:55,024 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 11:04:55,024 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 11:04:55,024 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 11:04:55,025 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 11:04:55,026 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 11:04:55,026 INFO L98 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Bitvector.epf [2018-11-23 11:04:55,042 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 11:04:55,042 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 11:04:55,043 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 11:04:55,043 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 11:04:55,044 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 11:04:55,044 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 11:04:55,044 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 11:04:55,044 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 11:04:55,045 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 11:04:55,045 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 11:04:55,045 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 11:04:55,045 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 11:04:55,045 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 11:04:55,046 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 11:04:55,046 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-23 11:04:55,046 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-23 11:04:55,046 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 11:04:55,046 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 11:04:55,047 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 11:04:55,047 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 11:04:55,047 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 11:04:55,047 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 11:04:55,047 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 11:04:55,047 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 11:04:55,048 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 11:04:55,049 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 11:04:55,049 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 11:04:55,049 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 11:04:55,049 INFO L133 SettingsManager]: * Trace refinement strategy=WOLF [2018-11-23 11:04:55,049 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 11:04:55,049 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-23 11:04:55,050 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-23 11:04:55,050 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-23 11:04:55,102 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 11:04:55,119 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 11:04:55,124 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 11:04:55,126 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 11:04:55,126 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 11:04:55,127 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/list-properties/list_flag_true-unreach-call_false-valid-memtrack.i [2018-11-23 11:04:55,198 INFO L221 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/fc29d6289/e6bf60dff35643ab818a3b5c0d7edfcf/FLAG4d06273f3 [2018-11-23 11:04:55,690 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 11:04:55,691 INFO L161 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/list-properties/list_flag_true-unreach-call_false-valid-memtrack.i [2018-11-23 11:04:55,716 INFO L355 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/fc29d6289/e6bf60dff35643ab818a3b5c0d7edfcf/FLAG4d06273f3 [2018-11-23 11:04:56,021 INFO L363 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/fc29d6289/e6bf60dff35643ab818a3b5c0d7edfcf [2018-11-23 11:04:56,031 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 11:04:56,033 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 11:04:56,034 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 11:04:56,034 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 11:04:56,040 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 11:04:56,042 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 11:04:56" (1/1) ... [2018-11-23 11:04:56,045 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@7f23ac7d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:04:56, skipping insertion in model container [2018-11-23 11:04:56,045 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 11:04:56" (1/1) ... [2018-11-23 11:04:56,057 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 11:04:56,111 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 11:04:56,564 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 11:04:56,581 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 11:04:56,662 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 11:04:56,728 INFO L195 MainTranslator]: Completed translation [2018-11-23 11:04:56,729 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:04:56 WrapperNode [2018-11-23 11:04:56,729 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 11:04:56,730 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 11:04:56,730 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 11:04:56,730 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 11:04:56,741 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:04:56" (1/1) ... [2018-11-23 11:04:56,840 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:04:56" (1/1) ... [2018-11-23 11:04:56,850 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 11:04:56,851 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 11:04:56,851 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 11:04:56,851 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 11:04:56,861 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:04:56" (1/1) ... [2018-11-23 11:04:56,861 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:04:56" (1/1) ... [2018-11-23 11:04:56,865 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:04:56" (1/1) ... [2018-11-23 11:04:56,865 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:04:56" (1/1) ... [2018-11-23 11:04:56,881 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:04:56" (1/1) ... [2018-11-23 11:04:56,888 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:04:56" (1/1) ... [2018-11-23 11:04:56,890 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:04:56" (1/1) ... [2018-11-23 11:04:56,894 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 11:04:56,895 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 11:04:56,895 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 11:04:56,895 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 11:04:56,898 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:04:56" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 11:04:56,957 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 11:04:56,958 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-23 11:04:56,958 INFO L130 BoogieDeclarations]: Found specification of procedure exit [2018-11-23 11:04:56,958 INFO L138 BoogieDeclarations]: Found implementation of procedure exit [2018-11-23 11:04:56,958 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 11:04:56,958 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 11:04:56,958 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 11:04:56,958 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 11:04:56,959 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2018-11-23 11:04:56,959 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2018-11-23 11:04:56,959 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-23 11:04:56,959 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 11:04:56,959 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 11:04:57,700 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 11:04:57,701 INFO L280 CfgBuilder]: Removed 3 assue(true) statements. [2018-11-23 11:04:57,701 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 11:04:57 BoogieIcfgContainer [2018-11-23 11:04:57,701 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 11:04:57,702 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 11:04:57,703 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 11:04:57,706 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 11:04:57,706 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 11:04:56" (1/3) ... [2018-11-23 11:04:57,707 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@71cce28d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 11:04:57, skipping insertion in model container [2018-11-23 11:04:57,707 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:04:56" (2/3) ... [2018-11-23 11:04:57,708 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@71cce28d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 11:04:57, skipping insertion in model container [2018-11-23 11:04:57,708 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 11:04:57" (3/3) ... [2018-11-23 11:04:57,710 INFO L112 eAbstractionObserver]: Analyzing ICFG list_flag_true-unreach-call_false-valid-memtrack.i [2018-11-23 11:04:57,720 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 11:04:57,729 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 11:04:57,747 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 11:04:57,778 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 11:04:57,778 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 11:04:57,779 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 11:04:57,779 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 11:04:57,779 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 11:04:57,779 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 11:04:57,779 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 11:04:57,780 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 11:04:57,780 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 11:04:57,797 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states. [2018-11-23 11:04:57,804 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2018-11-23 11:04:57,804 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:04:57,805 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:04:57,807 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:04:57,813 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:04:57,814 INFO L82 PathProgramCache]: Analyzing trace with hash 1520396253, now seen corresponding path program 1 times [2018-11-23 11:04:57,819 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:04:57,819 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 2 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:04:57,840 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:04:57,886 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:04:57,913 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:04:57,918 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:04:58,107 INFO L256 TraceCheckUtils]: 0: Hoare triple {34#true} call ULTIMATE.init(); {34#true} is VALID [2018-11-23 11:04:58,111 INFO L273 TraceCheckUtils]: 1: Hoare triple {34#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {34#true} is VALID [2018-11-23 11:04:58,111 INFO L273 TraceCheckUtils]: 2: Hoare triple {34#true} assume true; {34#true} is VALID [2018-11-23 11:04:58,112 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {34#true} {34#true} #90#return; {34#true} is VALID [2018-11-23 11:04:58,112 INFO L256 TraceCheckUtils]: 4: Hoare triple {34#true} call #t~ret10 := main(); {34#true} is VALID [2018-11-23 11:04:58,112 INFO L273 TraceCheckUtils]: 5: Hoare triple {34#true} ~flag~0 := #t~nondet0;havoc #t~nondet0;havoc ~p~0.base, ~p~0.offset;havoc ~a~0.base, ~a~0.offset;havoc ~t~0.base, ~t~0.offset;call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(8bv32);~a~0.base, ~a~0.offset := #t~malloc1.base, #t~malloc1.offset; {34#true} is VALID [2018-11-23 11:04:58,113 INFO L273 TraceCheckUtils]: 6: Hoare triple {34#true} assume !(~a~0.base == 0bv32 && ~a~0.offset == 0bv32); {34#true} is VALID [2018-11-23 11:04:58,113 INFO L273 TraceCheckUtils]: 7: Hoare triple {34#true} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {34#true} is VALID [2018-11-23 11:04:58,113 INFO L273 TraceCheckUtils]: 8: Hoare triple {34#true} assume !(0bv32 != #t~nondet2);havoc #t~nondet2; {34#true} is VALID [2018-11-23 11:04:58,114 INFO L273 TraceCheckUtils]: 9: Hoare triple {34#true} call write~intINTTYPE4(3bv32, ~p~0.base, ~p~0.offset, 4bv32);~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {34#true} is VALID [2018-11-23 11:04:58,114 INFO L273 TraceCheckUtils]: 10: Hoare triple {34#true} assume !(0bv32 != ~flag~0); {34#true} is VALID [2018-11-23 11:04:58,115 INFO L273 TraceCheckUtils]: 11: Hoare triple {34#true} assume !true; {35#false} is VALID [2018-11-23 11:04:58,115 INFO L273 TraceCheckUtils]: 12: Hoare triple {35#false} call #t~mem9 := read~intINTTYPE4(~p~0.base, ~p~0.offset, 4bv32); {35#false} is VALID [2018-11-23 11:04:58,115 INFO L273 TraceCheckUtils]: 13: Hoare triple {35#false} assume 3bv32 != #t~mem9;havoc #t~mem9; {35#false} is VALID [2018-11-23 11:04:58,115 INFO L273 TraceCheckUtils]: 14: Hoare triple {35#false} assume !false; {35#false} is VALID [2018-11-23 11:04:58,120 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:04:58,120 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 11:04:58,127 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 11:04:58,128 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 11:04:58,137 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 15 [2018-11-23 11:04:58,140 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:04:58,146 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2018-11-23 11:04:58,204 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 15 edges. 15 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:04:58,205 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 11:04:58,214 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 11:04:58,215 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 11:04:58,218 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 2 states. [2018-11-23 11:04:58,387 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:04:58,388 INFO L93 Difference]: Finished difference Result 45 states and 60 transitions. [2018-11-23 11:04:58,388 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 11:04:58,388 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 15 [2018-11-23 11:04:58,388 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:04:58,390 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 11:04:58,401 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 60 transitions. [2018-11-23 11:04:58,402 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 11:04:58,406 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 60 transitions. [2018-11-23 11:04:58,406 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 60 transitions. [2018-11-23 11:04:58,679 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:04:58,691 INFO L225 Difference]: With dead ends: 45 [2018-11-23 11:04:58,691 INFO L226 Difference]: Without dead ends: 23 [2018-11-23 11:04:58,694 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 14 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 11:04:58,709 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 23 states. [2018-11-23 11:04:58,803 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 23 to 23. [2018-11-23 11:04:58,804 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:04:58,804 INFO L82 GeneralOperation]: Start isEquivalent. First operand 23 states. Second operand 23 states. [2018-11-23 11:04:58,805 INFO L74 IsIncluded]: Start isIncluded. First operand 23 states. Second operand 23 states. [2018-11-23 11:04:58,805 INFO L87 Difference]: Start difference. First operand 23 states. Second operand 23 states. [2018-11-23 11:04:58,809 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:04:58,809 INFO L93 Difference]: Finished difference Result 23 states and 27 transitions. [2018-11-23 11:04:58,809 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 27 transitions. [2018-11-23 11:04:58,810 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:04:58,810 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:04:58,810 INFO L74 IsIncluded]: Start isIncluded. First operand 23 states. Second operand 23 states. [2018-11-23 11:04:58,810 INFO L87 Difference]: Start difference. First operand 23 states. Second operand 23 states. [2018-11-23 11:04:58,814 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:04:58,814 INFO L93 Difference]: Finished difference Result 23 states and 27 transitions. [2018-11-23 11:04:58,815 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 27 transitions. [2018-11-23 11:04:58,815 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:04:58,815 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:04:58,816 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:04:58,816 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:04:58,816 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-23 11:04:58,818 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 27 transitions. [2018-11-23 11:04:58,820 INFO L78 Accepts]: Start accepts. Automaton has 23 states and 27 transitions. Word has length 15 [2018-11-23 11:04:58,821 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:04:58,821 INFO L480 AbstractCegarLoop]: Abstraction has 23 states and 27 transitions. [2018-11-23 11:04:58,821 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 11:04:58,821 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 27 transitions. [2018-11-23 11:04:58,822 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2018-11-23 11:04:58,822 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:04:58,822 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:04:58,822 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:04:58,823 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:04:58,823 INFO L82 PathProgramCache]: Analyzing trace with hash -119002668, now seen corresponding path program 1 times [2018-11-23 11:04:58,823 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:04:58,824 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 3 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:04:58,847 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:04:58,877 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:04:58,903 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:04:58,905 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:04:59,396 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 8 [2018-11-23 11:04:59,444 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 7 [2018-11-23 11:04:59,470 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:04:59,504 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:04:59,517 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:04:59,518 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:15, output treesize:11 [2018-11-23 11:04:59,702 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 13 [2018-11-23 11:04:59,720 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 5 [2018-11-23 11:04:59,744 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:04:59,752 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:04:59,757 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:04:59,757 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:17, output treesize:5 [2018-11-23 11:04:59,761 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:04:59,761 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, main_~p~0.base]. (let ((.cse0 (select (select |#memory_int| main_~p~0.base) (_ bv0 32)))) (and (= (bvadd .cse0 (_ bv4294967293 32)) (_ bv0 32)) (= .cse0 |main_#t~mem9|))) [2018-11-23 11:04:59,762 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (= (_ bv0 32) (bvadd |main_#t~mem9| (_ bv4294967293 32))) [2018-11-23 11:04:59,783 INFO L256 TraceCheckUtils]: 0: Hoare triple {214#true} call ULTIMATE.init(); {214#true} is VALID [2018-11-23 11:04:59,784 INFO L273 TraceCheckUtils]: 1: Hoare triple {214#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {214#true} is VALID [2018-11-23 11:04:59,784 INFO L273 TraceCheckUtils]: 2: Hoare triple {214#true} assume true; {214#true} is VALID [2018-11-23 11:04:59,784 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {214#true} {214#true} #90#return; {214#true} is VALID [2018-11-23 11:04:59,784 INFO L256 TraceCheckUtils]: 4: Hoare triple {214#true} call #t~ret10 := main(); {214#true} is VALID [2018-11-23 11:04:59,803 INFO L273 TraceCheckUtils]: 5: Hoare triple {214#true} ~flag~0 := #t~nondet0;havoc #t~nondet0;havoc ~p~0.base, ~p~0.offset;havoc ~a~0.base, ~a~0.offset;havoc ~t~0.base, ~t~0.offset;call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(8bv32);~a~0.base, ~a~0.offset := #t~malloc1.base, #t~malloc1.offset; {234#(= main_~a~0.offset (_ bv0 32))} is VALID [2018-11-23 11:04:59,817 INFO L273 TraceCheckUtils]: 6: Hoare triple {234#(= main_~a~0.offset (_ bv0 32))} assume !(~a~0.base == 0bv32 && ~a~0.offset == 0bv32); {234#(= main_~a~0.offset (_ bv0 32))} is VALID [2018-11-23 11:04:59,830 INFO L273 TraceCheckUtils]: 7: Hoare triple {234#(= main_~a~0.offset (_ bv0 32))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {241#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2018-11-23 11:04:59,831 INFO L273 TraceCheckUtils]: 8: Hoare triple {241#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= main_~a~0.offset main_~p~0.offset))} assume !(0bv32 != #t~nondet2);havoc #t~nondet2; {241#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2018-11-23 11:04:59,833 INFO L273 TraceCheckUtils]: 9: Hoare triple {241#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= main_~a~0.offset main_~p~0.offset))} call write~intINTTYPE4(3bv32, ~p~0.base, ~p~0.offset, 4bv32);~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {248#(and (= main_~p~0.offset (_ bv0 32)) (= (bvadd (select (select |#memory_int| main_~p~0.base) (_ bv0 32)) (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 11:04:59,834 INFO L273 TraceCheckUtils]: 10: Hoare triple {248#(and (= main_~p~0.offset (_ bv0 32)) (= (bvadd (select (select |#memory_int| main_~p~0.base) (_ bv0 32)) (_ bv4294967293 32)) (_ bv0 32)))} assume !(0bv32 != ~flag~0); {248#(and (= main_~p~0.offset (_ bv0 32)) (= (bvadd (select (select |#memory_int| main_~p~0.base) (_ bv0 32)) (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 11:04:59,835 INFO L273 TraceCheckUtils]: 11: Hoare triple {248#(and (= main_~p~0.offset (_ bv0 32)) (= (bvadd (select (select |#memory_int| main_~p~0.base) (_ bv0 32)) (_ bv4294967293 32)) (_ bv0 32)))} call #t~mem7 := read~intINTTYPE4(~p~0.base, ~p~0.offset, 4bv32); {248#(and (= main_~p~0.offset (_ bv0 32)) (= (bvadd (select (select |#memory_int| main_~p~0.base) (_ bv0 32)) (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 11:04:59,836 INFO L273 TraceCheckUtils]: 12: Hoare triple {248#(and (= main_~p~0.offset (_ bv0 32)) (= (bvadd (select (select |#memory_int| main_~p~0.base) (_ bv0 32)) (_ bv4294967293 32)) (_ bv0 32)))} assume !(2bv32 == #t~mem7);havoc #t~mem7; {248#(and (= main_~p~0.offset (_ bv0 32)) (= (bvadd (select (select |#memory_int| main_~p~0.base) (_ bv0 32)) (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 11:04:59,836 INFO L273 TraceCheckUtils]: 13: Hoare triple {248#(and (= main_~p~0.offset (_ bv0 32)) (= (bvadd (select (select |#memory_int| main_~p~0.base) (_ bv0 32)) (_ bv4294967293 32)) (_ bv0 32)))} call #t~mem9 := read~intINTTYPE4(~p~0.base, ~p~0.offset, 4bv32); {261#(= (_ bv3 32) |main_#t~mem9|)} is VALID [2018-11-23 11:04:59,837 INFO L273 TraceCheckUtils]: 14: Hoare triple {261#(= (_ bv3 32) |main_#t~mem9|)} assume 3bv32 != #t~mem9;havoc #t~mem9; {215#false} is VALID [2018-11-23 11:04:59,837 INFO L273 TraceCheckUtils]: 15: Hoare triple {215#false} assume !false; {215#false} is VALID [2018-11-23 11:04:59,840 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:04:59,841 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 11:04:59,845 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 11:04:59,846 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2018-11-23 11:04:59,848 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 16 [2018-11-23 11:04:59,848 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:04:59,848 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-23 11:04:59,924 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:04:59,924 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-23 11:04:59,924 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-23 11:04:59,924 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2018-11-23 11:04:59,925 INFO L87 Difference]: Start difference. First operand 23 states and 27 transitions. Second operand 6 states. [2018-11-23 11:05:00,840 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:00,840 INFO L93 Difference]: Finished difference Result 46 states and 55 transitions. [2018-11-23 11:05:00,840 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-23 11:05:00,841 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 16 [2018-11-23 11:05:00,841 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:05:00,841 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 11:05:00,844 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 55 transitions. [2018-11-23 11:05:00,844 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 11:05:00,847 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 55 transitions. [2018-11-23 11:05:00,847 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 55 transitions. [2018-11-23 11:05:00,962 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:05:00,965 INFO L225 Difference]: With dead ends: 46 [2018-11-23 11:05:00,965 INFO L226 Difference]: Without dead ends: 42 [2018-11-23 11:05:00,966 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 11 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=22, Invalid=34, Unknown=0, NotChecked=0, Total=56 [2018-11-23 11:05:00,966 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2018-11-23 11:05:00,993 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 30. [2018-11-23 11:05:00,994 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:05:00,994 INFO L82 GeneralOperation]: Start isEquivalent. First operand 42 states. Second operand 30 states. [2018-11-23 11:05:00,994 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand 30 states. [2018-11-23 11:05:00,994 INFO L87 Difference]: Start difference. First operand 42 states. Second operand 30 states. [2018-11-23 11:05:00,998 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:00,999 INFO L93 Difference]: Finished difference Result 42 states and 50 transitions. [2018-11-23 11:05:00,999 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 50 transitions. [2018-11-23 11:05:01,000 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:05:01,000 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:05:01,000 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 42 states. [2018-11-23 11:05:01,000 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 42 states. [2018-11-23 11:05:01,004 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:01,004 INFO L93 Difference]: Finished difference Result 42 states and 50 transitions. [2018-11-23 11:05:01,004 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 50 transitions. [2018-11-23 11:05:01,005 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:05:01,005 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:05:01,005 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:05:01,005 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:05:01,006 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2018-11-23 11:05:01,008 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 36 transitions. [2018-11-23 11:05:01,008 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 36 transitions. Word has length 16 [2018-11-23 11:05:01,008 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:05:01,009 INFO L480 AbstractCegarLoop]: Abstraction has 30 states and 36 transitions. [2018-11-23 11:05:01,009 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-23 11:05:01,009 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 36 transitions. [2018-11-23 11:05:01,010 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2018-11-23 11:05:01,010 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:05:01,010 INFO L402 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:05:01,010 INFO L423 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:05:01,011 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:05:01,011 INFO L82 PathProgramCache]: Analyzing trace with hash 1651229327, now seen corresponding path program 1 times [2018-11-23 11:05:01,011 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:05:01,011 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 4 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:05:01,029 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:05:01,060 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:05:01,075 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:05:01,077 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:05:01,191 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 8 [2018-11-23 11:05:01,199 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 7 [2018-11-23 11:05:01,203 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:01,219 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:01,226 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:01,226 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:15, output treesize:11 [2018-11-23 11:05:01,265 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 13 [2018-11-23 11:05:01,285 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 5 [2018-11-23 11:05:01,287 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:01,289 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:01,292 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:01,293 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:17, output treesize:5 [2018-11-23 11:05:01,296 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:05:01,296 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, main_~p~0.base]. (let ((.cse0 (select (select |#memory_int| main_~p~0.base) (_ bv0 32)))) (and (= (bvadd .cse0 (_ bv4294967293 32)) (_ bv0 32)) (= .cse0 |main_#t~mem7|))) [2018-11-23 11:05:01,296 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (= (_ bv0 32) (bvadd |main_#t~mem7| (_ bv4294967293 32))) [2018-11-23 11:05:01,309 INFO L256 TraceCheckUtils]: 0: Hoare triple {453#true} call ULTIMATE.init(); {453#true} is VALID [2018-11-23 11:05:01,310 INFO L273 TraceCheckUtils]: 1: Hoare triple {453#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {453#true} is VALID [2018-11-23 11:05:01,310 INFO L273 TraceCheckUtils]: 2: Hoare triple {453#true} assume true; {453#true} is VALID [2018-11-23 11:05:01,311 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {453#true} {453#true} #90#return; {453#true} is VALID [2018-11-23 11:05:01,311 INFO L256 TraceCheckUtils]: 4: Hoare triple {453#true} call #t~ret10 := main(); {453#true} is VALID [2018-11-23 11:05:01,315 INFO L273 TraceCheckUtils]: 5: Hoare triple {453#true} ~flag~0 := #t~nondet0;havoc #t~nondet0;havoc ~p~0.base, ~p~0.offset;havoc ~a~0.base, ~a~0.offset;havoc ~t~0.base, ~t~0.offset;call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(8bv32);~a~0.base, ~a~0.offset := #t~malloc1.base, #t~malloc1.offset; {473#(= main_~a~0.offset (_ bv0 32))} is VALID [2018-11-23 11:05:01,315 INFO L273 TraceCheckUtils]: 6: Hoare triple {473#(= main_~a~0.offset (_ bv0 32))} assume !(~a~0.base == 0bv32 && ~a~0.offset == 0bv32); {473#(= main_~a~0.offset (_ bv0 32))} is VALID [2018-11-23 11:05:01,316 INFO L273 TraceCheckUtils]: 7: Hoare triple {473#(= main_~a~0.offset (_ bv0 32))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {480#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2018-11-23 11:05:01,317 INFO L273 TraceCheckUtils]: 8: Hoare triple {480#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= main_~a~0.offset main_~p~0.offset))} assume !(0bv32 != #t~nondet2);havoc #t~nondet2; {480#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2018-11-23 11:05:01,318 INFO L273 TraceCheckUtils]: 9: Hoare triple {480#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= main_~a~0.offset main_~p~0.offset))} call write~intINTTYPE4(3bv32, ~p~0.base, ~p~0.offset, 4bv32);~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {487#(and (= main_~p~0.offset (_ bv0 32)) (= (bvadd (select (select |#memory_int| main_~p~0.base) (_ bv0 32)) (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 11:05:01,319 INFO L273 TraceCheckUtils]: 10: Hoare triple {487#(and (= main_~p~0.offset (_ bv0 32)) (= (bvadd (select (select |#memory_int| main_~p~0.base) (_ bv0 32)) (_ bv4294967293 32)) (_ bv0 32)))} assume !(0bv32 != ~flag~0); {487#(and (= main_~p~0.offset (_ bv0 32)) (= (bvadd (select (select |#memory_int| main_~p~0.base) (_ bv0 32)) (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 11:05:01,320 INFO L273 TraceCheckUtils]: 11: Hoare triple {487#(and (= main_~p~0.offset (_ bv0 32)) (= (bvadd (select (select |#memory_int| main_~p~0.base) (_ bv0 32)) (_ bv4294967293 32)) (_ bv0 32)))} call #t~mem7 := read~intINTTYPE4(~p~0.base, ~p~0.offset, 4bv32); {494#(= (_ bv3 32) |main_#t~mem7|)} is VALID [2018-11-23 11:05:01,325 INFO L273 TraceCheckUtils]: 12: Hoare triple {494#(= (_ bv3 32) |main_#t~mem7|)} assume !!(2bv32 == #t~mem7);havoc #t~mem7;call #t~mem8.base, #t~mem8.offset := read~$Pointer$(~p~0.base, ~bvadd32(4bv32, ~p~0.offset), 4bv32);~p~0.base, ~p~0.offset := #t~mem8.base, #t~mem8.offset;havoc #t~mem8.base, #t~mem8.offset; {454#false} is VALID [2018-11-23 11:05:01,326 INFO L273 TraceCheckUtils]: 13: Hoare triple {454#false} call #t~mem7 := read~intINTTYPE4(~p~0.base, ~p~0.offset, 4bv32); {454#false} is VALID [2018-11-23 11:05:01,326 INFO L273 TraceCheckUtils]: 14: Hoare triple {454#false} assume !(2bv32 == #t~mem7);havoc #t~mem7; {454#false} is VALID [2018-11-23 11:05:01,326 INFO L273 TraceCheckUtils]: 15: Hoare triple {454#false} call #t~mem9 := read~intINTTYPE4(~p~0.base, ~p~0.offset, 4bv32); {454#false} is VALID [2018-11-23 11:05:01,327 INFO L273 TraceCheckUtils]: 16: Hoare triple {454#false} assume 3bv32 != #t~mem9;havoc #t~mem9; {454#false} is VALID [2018-11-23 11:05:01,327 INFO L273 TraceCheckUtils]: 17: Hoare triple {454#false} assume !false; {454#false} is VALID [2018-11-23 11:05:01,328 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:05:01,328 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 11:05:01,330 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 11:05:01,330 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2018-11-23 11:05:01,330 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 18 [2018-11-23 11:05:01,331 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:05:01,331 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-23 11:05:01,365 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:05:01,365 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-23 11:05:01,365 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-23 11:05:01,366 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2018-11-23 11:05:01,366 INFO L87 Difference]: Start difference. First operand 30 states and 36 transitions. Second operand 6 states. [2018-11-23 11:05:02,141 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:02,141 INFO L93 Difference]: Finished difference Result 48 states and 56 transitions. [2018-11-23 11:05:02,141 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-23 11:05:02,142 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 18 [2018-11-23 11:05:02,142 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:05:02,143 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 11:05:02,145 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 56 transitions. [2018-11-23 11:05:02,146 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 11:05:02,148 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 56 transitions. [2018-11-23 11:05:02,148 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 56 transitions. [2018-11-23 11:05:02,253 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:05:02,256 INFO L225 Difference]: With dead ends: 48 [2018-11-23 11:05:02,256 INFO L226 Difference]: Without dead ends: 40 [2018-11-23 11:05:02,257 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 13 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=22, Invalid=34, Unknown=0, NotChecked=0, Total=56 [2018-11-23 11:05:02,258 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2018-11-23 11:05:02,276 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 28. [2018-11-23 11:05:02,277 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:05:02,277 INFO L82 GeneralOperation]: Start isEquivalent. First operand 40 states. Second operand 28 states. [2018-11-23 11:05:02,277 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand 28 states. [2018-11-23 11:05:02,277 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 28 states. [2018-11-23 11:05:02,281 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:02,281 INFO L93 Difference]: Finished difference Result 40 states and 47 transitions. [2018-11-23 11:05:02,281 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 47 transitions. [2018-11-23 11:05:02,282 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:05:02,282 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:05:02,282 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand 40 states. [2018-11-23 11:05:02,282 INFO L87 Difference]: Start difference. First operand 28 states. Second operand 40 states. [2018-11-23 11:05:02,285 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:02,285 INFO L93 Difference]: Finished difference Result 40 states and 47 transitions. [2018-11-23 11:05:02,286 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 47 transitions. [2018-11-23 11:05:02,286 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:05:02,286 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:05:02,287 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:05:02,287 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:05:02,287 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 28 states. [2018-11-23 11:05:02,288 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 33 transitions. [2018-11-23 11:05:02,289 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 33 transitions. Word has length 18 [2018-11-23 11:05:02,289 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:05:02,289 INFO L480 AbstractCegarLoop]: Abstraction has 28 states and 33 transitions. [2018-11-23 11:05:02,289 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-23 11:05:02,289 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 33 transitions. [2018-11-23 11:05:02,290 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2018-11-23 11:05:02,290 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:05:02,291 INFO L402 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:05:02,291 INFO L423 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:05:02,291 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:05:02,291 INFO L82 PathProgramCache]: Analyzing trace with hash 407487806, now seen corresponding path program 1 times [2018-11-23 11:05:02,292 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:05:02,292 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 5 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:05:02,309 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:05:02,342 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:05:02,358 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:05:02,360 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:05:02,443 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 8 [2018-11-23 11:05:02,451 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 7 [2018-11-23 11:05:02,452 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:02,456 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:02,463 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:02,463 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:15, output treesize:11 [2018-11-23 11:05:02,512 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 13 [2018-11-23 11:05:02,519 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 5 [2018-11-23 11:05:02,523 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:02,525 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:02,529 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:02,530 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:17, output treesize:5 [2018-11-23 11:05:02,532 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:05:02,533 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, main_~p~0.base]. (let ((.cse0 (select (select |#memory_int| main_~p~0.base) (_ bv0 32)))) (and (= (bvadd .cse0 (_ bv4294967293 32)) (_ bv0 32)) (= .cse0 |main_#t~mem5|))) [2018-11-23 11:05:02,533 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (= (_ bv0 32) (bvadd |main_#t~mem5| (_ bv4294967293 32))) [2018-11-23 11:05:02,546 INFO L256 TraceCheckUtils]: 0: Hoare triple {694#true} call ULTIMATE.init(); {694#true} is VALID [2018-11-23 11:05:02,546 INFO L273 TraceCheckUtils]: 1: Hoare triple {694#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {694#true} is VALID [2018-11-23 11:05:02,547 INFO L273 TraceCheckUtils]: 2: Hoare triple {694#true} assume true; {694#true} is VALID [2018-11-23 11:05:02,547 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {694#true} {694#true} #90#return; {694#true} is VALID [2018-11-23 11:05:02,548 INFO L256 TraceCheckUtils]: 4: Hoare triple {694#true} call #t~ret10 := main(); {694#true} is VALID [2018-11-23 11:05:02,552 INFO L273 TraceCheckUtils]: 5: Hoare triple {694#true} ~flag~0 := #t~nondet0;havoc #t~nondet0;havoc ~p~0.base, ~p~0.offset;havoc ~a~0.base, ~a~0.offset;havoc ~t~0.base, ~t~0.offset;call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(8bv32);~a~0.base, ~a~0.offset := #t~malloc1.base, #t~malloc1.offset; {714#(= main_~a~0.offset (_ bv0 32))} is VALID [2018-11-23 11:05:02,554 INFO L273 TraceCheckUtils]: 6: Hoare triple {714#(= main_~a~0.offset (_ bv0 32))} assume !(~a~0.base == 0bv32 && ~a~0.offset == 0bv32); {714#(= main_~a~0.offset (_ bv0 32))} is VALID [2018-11-23 11:05:02,554 INFO L273 TraceCheckUtils]: 7: Hoare triple {714#(= main_~a~0.offset (_ bv0 32))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {721#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2018-11-23 11:05:02,556 INFO L273 TraceCheckUtils]: 8: Hoare triple {721#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= main_~a~0.offset main_~p~0.offset))} assume !(0bv32 != #t~nondet2);havoc #t~nondet2; {721#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2018-11-23 11:05:02,557 INFO L273 TraceCheckUtils]: 9: Hoare triple {721#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= main_~a~0.offset main_~p~0.offset))} call write~intINTTYPE4(3bv32, ~p~0.base, ~p~0.offset, 4bv32);~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {728#(and (= main_~p~0.offset (_ bv0 32)) (= (bvadd (select (select |#memory_int| main_~p~0.base) (_ bv0 32)) (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 11:05:02,558 INFO L273 TraceCheckUtils]: 10: Hoare triple {728#(and (= main_~p~0.offset (_ bv0 32)) (= (bvadd (select (select |#memory_int| main_~p~0.base) (_ bv0 32)) (_ bv4294967293 32)) (_ bv0 32)))} assume 0bv32 != ~flag~0; {728#(and (= main_~p~0.offset (_ bv0 32)) (= (bvadd (select (select |#memory_int| main_~p~0.base) (_ bv0 32)) (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 11:05:02,559 INFO L273 TraceCheckUtils]: 11: Hoare triple {728#(and (= main_~p~0.offset (_ bv0 32)) (= (bvadd (select (select |#memory_int| main_~p~0.base) (_ bv0 32)) (_ bv4294967293 32)) (_ bv0 32)))} call #t~mem5 := read~intINTTYPE4(~p~0.base, ~p~0.offset, 4bv32); {735#(= (_ bv3 32) |main_#t~mem5|)} is VALID [2018-11-23 11:05:02,568 INFO L273 TraceCheckUtils]: 12: Hoare triple {735#(= (_ bv3 32) |main_#t~mem5|)} assume !!(1bv32 == #t~mem5);havoc #t~mem5;call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~p~0.base, ~bvadd32(4bv32, ~p~0.offset), 4bv32);~p~0.base, ~p~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset; {695#false} is VALID [2018-11-23 11:05:02,568 INFO L273 TraceCheckUtils]: 13: Hoare triple {695#false} call #t~mem5 := read~intINTTYPE4(~p~0.base, ~p~0.offset, 4bv32); {695#false} is VALID [2018-11-23 11:05:02,569 INFO L273 TraceCheckUtils]: 14: Hoare triple {695#false} assume !(1bv32 == #t~mem5);havoc #t~mem5; {695#false} is VALID [2018-11-23 11:05:02,569 INFO L273 TraceCheckUtils]: 15: Hoare triple {695#false} call #t~mem9 := read~intINTTYPE4(~p~0.base, ~p~0.offset, 4bv32); {695#false} is VALID [2018-11-23 11:05:02,569 INFO L273 TraceCheckUtils]: 16: Hoare triple {695#false} assume 3bv32 != #t~mem9;havoc #t~mem9; {695#false} is VALID [2018-11-23 11:05:02,570 INFO L273 TraceCheckUtils]: 17: Hoare triple {695#false} assume !false; {695#false} is VALID [2018-11-23 11:05:02,571 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:05:02,571 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 11:05:02,572 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 11:05:02,573 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2018-11-23 11:05:02,573 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 18 [2018-11-23 11:05:02,573 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:05:02,573 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-23 11:05:02,658 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:05:02,658 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-23 11:05:02,659 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-23 11:05:02,659 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2018-11-23 11:05:02,659 INFO L87 Difference]: Start difference. First operand 28 states and 33 transitions. Second operand 6 states. [2018-11-23 11:05:03,185 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:03,185 INFO L93 Difference]: Finished difference Result 46 states and 53 transitions. [2018-11-23 11:05:03,186 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-23 11:05:03,186 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 18 [2018-11-23 11:05:03,186 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:05:03,186 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 11:05:03,188 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 53 transitions. [2018-11-23 11:05:03,188 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 11:05:03,191 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 53 transitions. [2018-11-23 11:05:03,191 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 53 transitions. [2018-11-23 11:05:03,306 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:05:03,307 INFO L225 Difference]: With dead ends: 46 [2018-11-23 11:05:03,307 INFO L226 Difference]: Without dead ends: 36 [2018-11-23 11:05:03,308 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 13 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=22, Invalid=34, Unknown=0, NotChecked=0, Total=56 [2018-11-23 11:05:03,308 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2018-11-23 11:05:03,360 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 24. [2018-11-23 11:05:03,361 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:05:03,361 INFO L82 GeneralOperation]: Start isEquivalent. First operand 36 states. Second operand 24 states. [2018-11-23 11:05:03,361 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand 24 states. [2018-11-23 11:05:03,361 INFO L87 Difference]: Start difference. First operand 36 states. Second operand 24 states. [2018-11-23 11:05:03,363 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:03,363 INFO L93 Difference]: Finished difference Result 36 states and 42 transitions. [2018-11-23 11:05:03,363 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 42 transitions. [2018-11-23 11:05:03,365 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:05:03,365 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:05:03,365 INFO L74 IsIncluded]: Start isIncluded. First operand 24 states. Second operand 36 states. [2018-11-23 11:05:03,366 INFO L87 Difference]: Start difference. First operand 24 states. Second operand 36 states. [2018-11-23 11:05:03,370 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:03,370 INFO L93 Difference]: Finished difference Result 36 states and 42 transitions. [2018-11-23 11:05:03,371 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 42 transitions. [2018-11-23 11:05:03,371 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:05:03,371 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:05:03,372 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:05:03,372 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:05:03,372 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-23 11:05:03,375 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 28 transitions. [2018-11-23 11:05:03,375 INFO L78 Accepts]: Start accepts. Automaton has 24 states and 28 transitions. Word has length 18 [2018-11-23 11:05:03,376 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:05:03,376 INFO L480 AbstractCegarLoop]: Abstraction has 24 states and 28 transitions. [2018-11-23 11:05:03,376 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-23 11:05:03,376 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 28 transitions. [2018-11-23 11:05:03,377 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2018-11-23 11:05:03,377 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:05:03,377 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:05:03,377 INFO L423 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:05:03,378 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:05:03,381 INFO L82 PathProgramCache]: Analyzing trace with hash -786309425, now seen corresponding path program 1 times [2018-11-23 11:05:03,382 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:05:03,382 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 6 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:05:03,407 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:05:03,448 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:05:03,467 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:05:03,469 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:05:03,501 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2018-11-23 11:05:03,504 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:03,513 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:03,514 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:10, output treesize:9 [2018-11-23 11:05:03,517 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:05:03,518 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#valid_11|]. (and (= main_~a~0.offset (_ bv0 32)) (= (store |v_#valid_11| main_~a~0.base (_ bv1 1)) |#valid|)) [2018-11-23 11:05:03,518 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= main_~a~0.offset (_ bv0 32)) (= (select |#valid| main_~a~0.base) (_ bv1 1))) [2018-11-23 11:05:03,613 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 8 [2018-11-23 11:05:03,619 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 7 [2018-11-23 11:05:03,622 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:03,625 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:03,643 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:03,643 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:28, output treesize:24 [2018-11-23 11:05:03,708 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:05:03,710 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:05:03,712 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 4 [2018-11-23 11:05:03,752 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:03,772 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:03,773 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:29, output treesize:21 [2018-11-23 11:05:03,871 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 22 [2018-11-23 11:05:03,881 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:05:03,884 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 14 [2018-11-23 11:05:03,887 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:03,894 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:03,906 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:03,906 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:34, output treesize:15 [2018-11-23 11:05:04,009 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 20 [2018-11-23 11:05:04,019 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 7 [2018-11-23 11:05:04,022 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:04,030 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:04,049 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-11-23 11:05:04,050 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:26, output treesize:22 [2018-11-23 11:05:04,058 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:05:04,058 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_19|, v_main_~p~0.base_20, v_main_~p~0.offset_20]. (and (= main_~p~0.offset (_ bv0 32)) (not (= v_main_~p~0.base_20 main_~p~0.base)) (= (_ bv2 32) (select (select |v_#memory_int_19| main_~p~0.base) (_ bv0 32))) (= (store |v_#memory_int_19| v_main_~p~0.base_20 (store (select |v_#memory_int_19| v_main_~p~0.base_20) v_main_~p~0.offset_20 (_ bv3 32))) |#memory_int|)) [2018-11-23 11:05:04,059 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_main_~p~0.base_20, v_main_~p~0.offset_20]. (and (= main_~p~0.offset (_ bv0 32)) (not (= v_main_~p~0.base_20 main_~p~0.base)) (= (select (select |#memory_int| main_~p~0.base) (_ bv0 32)) (_ bv2 32)) (= (select (select |#memory_int| v_main_~p~0.base_20) v_main_~p~0.offset_20) (_ bv3 32))) [2018-11-23 11:05:04,267 INFO L256 TraceCheckUtils]: 0: Hoare triple {919#true} call ULTIMATE.init(); {919#true} is VALID [2018-11-23 11:05:04,268 INFO L273 TraceCheckUtils]: 1: Hoare triple {919#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {919#true} is VALID [2018-11-23 11:05:04,268 INFO L273 TraceCheckUtils]: 2: Hoare triple {919#true} assume true; {919#true} is VALID [2018-11-23 11:05:04,268 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {919#true} {919#true} #90#return; {919#true} is VALID [2018-11-23 11:05:04,268 INFO L256 TraceCheckUtils]: 4: Hoare triple {919#true} call #t~ret10 := main(); {919#true} is VALID [2018-11-23 11:05:04,270 INFO L273 TraceCheckUtils]: 5: Hoare triple {919#true} ~flag~0 := #t~nondet0;havoc #t~nondet0;havoc ~p~0.base, ~p~0.offset;havoc ~a~0.base, ~a~0.offset;havoc ~t~0.base, ~t~0.offset;call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(8bv32);~a~0.base, ~a~0.offset := #t~malloc1.base, #t~malloc1.offset; {939#(and (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)))} is VALID [2018-11-23 11:05:04,270 INFO L273 TraceCheckUtils]: 6: Hoare triple {939#(and (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)))} assume !(~a~0.base == 0bv32 && ~a~0.offset == 0bv32); {939#(and (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)))} is VALID [2018-11-23 11:05:04,271 INFO L273 TraceCheckUtils]: 7: Hoare triple {939#(and (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {946#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2018-11-23 11:05:04,273 INFO L273 TraceCheckUtils]: 8: Hoare triple {946#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)) (= main_~a~0.offset main_~p~0.offset))} assume !!(0bv32 != #t~nondet2);havoc #t~nondet2; {946#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2018-11-23 11:05:04,275 INFO L273 TraceCheckUtils]: 9: Hoare triple {946#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)) (= main_~a~0.offset main_~p~0.offset))} assume !(0bv32 != ~flag~0);call write~intINTTYPE4(2bv32, ~p~0.base, ~p~0.offset, 4bv32); {953#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)) (= main_~a~0.offset main_~p~0.offset) (= (_ bv2 32) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2018-11-23 11:05:04,277 INFO L273 TraceCheckUtils]: 10: Hoare triple {953#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)) (= main_~a~0.offset main_~p~0.offset) (= (_ bv2 32) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} call #t~malloc3.base, #t~malloc3.offset := #Ultimate.alloc(8bv32);~t~0.base, ~t~0.offset := #t~malloc3.base, #t~malloc3.offset; {957#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= main_~a~0.offset main_~p~0.offset) (not (= main_~t~0.base main_~a~0.base)) (= (_ bv2 32) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2018-11-23 11:05:04,278 INFO L273 TraceCheckUtils]: 11: Hoare triple {957#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= main_~a~0.offset main_~p~0.offset) (not (= main_~t~0.base main_~a~0.base)) (= (_ bv2 32) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} assume !(~t~0.base == 0bv32 && ~t~0.offset == 0bv32); {957#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= main_~a~0.offset main_~p~0.offset) (not (= main_~t~0.base main_~a~0.base)) (= (_ bv2 32) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2018-11-23 11:05:04,281 INFO L273 TraceCheckUtils]: 12: Hoare triple {957#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= main_~a~0.offset main_~p~0.offset) (not (= main_~t~0.base main_~a~0.base)) (= (_ bv2 32) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} call write~$Pointer$(~t~0.base, ~t~0.offset, ~p~0.base, ~bvadd32(4bv32, ~p~0.offset), 4bv32);call #t~mem4.base, #t~mem4.offset := read~$Pointer$(~p~0.base, ~bvadd32(4bv32, ~p~0.offset), 4bv32);~p~0.base, ~p~0.offset := #t~mem4.base, #t~mem4.offset;havoc #t~mem4.base, #t~mem4.offset; {964#(and (not (= main_~p~0.base main_~a~0.base)) (= main_~a~0.offset (_ bv0 32)) (= (_ bv2 32) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2018-11-23 11:05:04,282 INFO L273 TraceCheckUtils]: 13: Hoare triple {964#(and (not (= main_~p~0.base main_~a~0.base)) (= main_~a~0.offset (_ bv0 32)) (= (_ bv2 32) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} assume !(0bv32 != #t~nondet2);havoc #t~nondet2; {964#(and (not (= main_~p~0.base main_~a~0.base)) (= main_~a~0.offset (_ bv0 32)) (= (_ bv2 32) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2018-11-23 11:05:04,291 INFO L273 TraceCheckUtils]: 14: Hoare triple {964#(and (not (= main_~p~0.base main_~a~0.base)) (= main_~a~0.offset (_ bv0 32)) (= (_ bv2 32) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} call write~intINTTYPE4(3bv32, ~p~0.base, ~p~0.offset, 4bv32);~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {971#(and (= main_~p~0.offset (_ bv0 32)) (= (bvadd (select (select |#memory_int| main_~p~0.base) (_ bv0 32)) (_ bv4294967294 32)) (_ bv0 32)) (exists ((v_main_~p~0.base_20 (_ BitVec 32)) (v_main_~p~0.offset_20 (_ BitVec 32))) (and (not (= v_main_~p~0.base_20 main_~p~0.base)) (= (bvadd (select (select |#memory_int| v_main_~p~0.base_20) v_main_~p~0.offset_20) (_ bv4294967293 32)) (_ bv0 32)))))} is VALID [2018-11-23 11:05:04,292 INFO L273 TraceCheckUtils]: 15: Hoare triple {971#(and (= main_~p~0.offset (_ bv0 32)) (= (bvadd (select (select |#memory_int| main_~p~0.base) (_ bv0 32)) (_ bv4294967294 32)) (_ bv0 32)) (exists ((v_main_~p~0.base_20 (_ BitVec 32)) (v_main_~p~0.offset_20 (_ BitVec 32))) (and (not (= v_main_~p~0.base_20 main_~p~0.base)) (= (bvadd (select (select |#memory_int| v_main_~p~0.base_20) v_main_~p~0.offset_20) (_ bv4294967293 32)) (_ bv0 32)))))} assume !(0bv32 != ~flag~0); {971#(and (= main_~p~0.offset (_ bv0 32)) (= (bvadd (select (select |#memory_int| main_~p~0.base) (_ bv0 32)) (_ bv4294967294 32)) (_ bv0 32)) (exists ((v_main_~p~0.base_20 (_ BitVec 32)) (v_main_~p~0.offset_20 (_ BitVec 32))) (and (not (= v_main_~p~0.base_20 main_~p~0.base)) (= (bvadd (select (select |#memory_int| v_main_~p~0.base_20) v_main_~p~0.offset_20) (_ bv4294967293 32)) (_ bv0 32)))))} is VALID [2018-11-23 11:05:04,302 INFO L273 TraceCheckUtils]: 16: Hoare triple {971#(and (= main_~p~0.offset (_ bv0 32)) (= (bvadd (select (select |#memory_int| main_~p~0.base) (_ bv0 32)) (_ bv4294967294 32)) (_ bv0 32)) (exists ((v_main_~p~0.base_20 (_ BitVec 32)) (v_main_~p~0.offset_20 (_ BitVec 32))) (and (not (= v_main_~p~0.base_20 main_~p~0.base)) (= (bvadd (select (select |#memory_int| v_main_~p~0.base_20) v_main_~p~0.offset_20) (_ bv4294967293 32)) (_ bv0 32)))))} call #t~mem7 := read~intINTTYPE4(~p~0.base, ~p~0.offset, 4bv32); {978#(and (= main_~p~0.offset (_ bv0 32)) (= (bvadd (select (select |#memory_int| main_~p~0.base) (_ bv0 32)) (_ bv4294967294 32)) (_ bv0 32)) (exists ((v_main_~p~0.base_20 (_ BitVec 32)) (v_main_~p~0.offset_20 (_ BitVec 32))) (and (not (= v_main_~p~0.base_20 main_~p~0.base)) (= (bvadd (select (select |#memory_int| v_main_~p~0.base_20) v_main_~p~0.offset_20) (_ bv4294967293 32)) (_ bv0 32)))) (= (select (select |#memory_int| main_~p~0.base) main_~p~0.offset) |main_#t~mem7|))} is VALID [2018-11-23 11:05:04,306 INFO L273 TraceCheckUtils]: 17: Hoare triple {978#(and (= main_~p~0.offset (_ bv0 32)) (= (bvadd (select (select |#memory_int| main_~p~0.base) (_ bv0 32)) (_ bv4294967294 32)) (_ bv0 32)) (exists ((v_main_~p~0.base_20 (_ BitVec 32)) (v_main_~p~0.offset_20 (_ BitVec 32))) (and (not (= v_main_~p~0.base_20 main_~p~0.base)) (= (bvadd (select (select |#memory_int| v_main_~p~0.base_20) v_main_~p~0.offset_20) (_ bv4294967293 32)) (_ bv0 32)))) (= (select (select |#memory_int| main_~p~0.base) main_~p~0.offset) |main_#t~mem7|))} assume !(2bv32 == #t~mem7);havoc #t~mem7; {920#false} is VALID [2018-11-23 11:05:04,306 INFO L273 TraceCheckUtils]: 18: Hoare triple {920#false} call #t~mem9 := read~intINTTYPE4(~p~0.base, ~p~0.offset, 4bv32); {920#false} is VALID [2018-11-23 11:05:04,306 INFO L273 TraceCheckUtils]: 19: Hoare triple {920#false} assume 3bv32 != #t~mem9;havoc #t~mem9; {920#false} is VALID [2018-11-23 11:05:04,307 INFO L273 TraceCheckUtils]: 20: Hoare triple {920#false} assume !false; {920#false} is VALID [2018-11-23 11:05:04,310 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:05:04,310 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 11:05:04,631 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:04,642 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:04,692 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:05:04,701 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:05:04,724 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 2 xjuncts. [2018-11-23 11:05:04,725 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 2 variables, input treesize:38, output treesize:24 [2018-11-23 11:05:04,738 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:05:04,738 WARN L384 uantifierElimination]: Input elimination task: ∀ [|v_#memory_int_21|, v_subst_1]. (or (not (= |v_#memory_int_21| (store |#memory_int| main_~p~0.base (let ((.cse0 (bvadd main_~p~0.offset (_ bv4 32)))) (store (select |#memory_int| main_~p~0.base) .cse0 (select (select |v_#memory_int_21| main_~p~0.base) .cse0)))))) (= (_ bv0 32) (bvadd (select (select (store |v_#memory_int_21| main_~t~0.base (store (select |v_#memory_int_21| main_~t~0.base) v_subst_1 (_ bv3 32))) main_~a~0.base) main_~a~0.offset) (_ bv4294967294 32)))) [2018-11-23 11:05:04,738 WARN L385 uantifierElimination]: ElimStorePlain result: ∀ [v_DerPreprocessor_4]. (and (not (= main_~t~0.base main_~a~0.base)) (= (bvadd (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) (bvadd main_~p~0.offset (_ bv4 32)) v_DerPreprocessor_4)) main_~a~0.base) main_~a~0.offset) (_ bv4294967294 32)) (_ bv0 32))) [2018-11-23 11:05:09,037 WARN L180 SmtUtils]: Spent 2.03 s on a formula simplification that was a NOOP. DAG size: 30 [2018-11-23 11:05:09,166 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 24 [2018-11-23 11:05:09,174 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 17 [2018-11-23 11:05:09,215 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 6 [2018-11-23 11:05:09,217 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:09,224 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 9 [2018-11-23 11:05:09,226 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:09,250 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 11:05:09,285 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 11:05:09,289 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 17 [2018-11-23 11:05:09,295 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 7 treesize of output 5 [2018-11-23 11:05:09,297 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:09,305 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:09,329 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 31 treesize of output 35 [2018-11-23 11:05:09,342 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 28 [2018-11-23 11:05:09,347 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:09,403 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:05:09,405 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 33 [2018-11-23 11:05:09,491 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 9 [2018-11-23 11:05:09,494 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:09,519 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 11:05:09,582 INFO L267 ElimStorePlain]: Start of recursive call 8: 3 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 11:05:09,641 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 3 dim-0 vars, and 4 xjuncts. [2018-11-23 11:05:09,642 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 3 variables, input treesize:36, output treesize:42 [2018-11-23 11:05:09,650 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:05:09,651 WARN L384 uantifierElimination]: Input elimination task: ∀ [|#memory_int|, v_DerPreprocessor_4, v_main_~t~0.base_6]. (and (not (= (select |#valid| main_~a~0.base) (_ bv0 1))) (or (not (= (_ bv0 1) (select |#valid| v_main_~t~0.base_6))) (= (_ bv0 32) (bvadd (select (select (store |#memory_int| main_~p~0.base (store (store (select |#memory_int| main_~p~0.base) main_~p~0.offset (_ bv2 32)) (bvadd main_~p~0.offset (_ bv4 32)) v_DerPreprocessor_4)) main_~a~0.base) main_~a~0.offset) (_ bv4294967294 32))))) [2018-11-23 11:05:09,651 WARN L385 uantifierElimination]: ElimStorePlain result: ∀ [v_main_~t~0.base_6, v_prenex_3, v_prenex_2]. (let ((.cse0 (= main_~a~0.offset main_~p~0.offset))) (and (not (= (select |#valid| main_~a~0.base) (_ bv0 1))) (or (not (= (_ bv0 1) (select |#valid| v_main_~t~0.base_6))) .cse0) (or (not (= (_ bv0 1) (select |#valid| v_prenex_3))) (= main_~p~0.base main_~a~0.base)) (or (not (= (_ bv0 1) (select |#valid| v_prenex_2))) (= (bvadd main_~p~0.offset (_ bv4 32)) main_~a~0.offset) .cse0))) [2018-11-23 11:05:11,927 INFO L273 TraceCheckUtils]: 20: Hoare triple {920#false} assume !false; {920#false} is VALID [2018-11-23 11:05:11,927 INFO L273 TraceCheckUtils]: 19: Hoare triple {920#false} assume 3bv32 != #t~mem9;havoc #t~mem9; {920#false} is VALID [2018-11-23 11:05:11,928 INFO L273 TraceCheckUtils]: 18: Hoare triple {920#false} call #t~mem9 := read~intINTTYPE4(~p~0.base, ~p~0.offset, 4bv32); {920#false} is VALID [2018-11-23 11:05:11,928 INFO L273 TraceCheckUtils]: 17: Hoare triple {1000#(= (_ bv2 32) |main_#t~mem7|)} assume !(2bv32 == #t~mem7);havoc #t~mem7; {920#false} is VALID [2018-11-23 11:05:11,929 INFO L273 TraceCheckUtils]: 16: Hoare triple {1004#(= (bvadd (select (select |#memory_int| main_~p~0.base) main_~p~0.offset) (_ bv4294967294 32)) (_ bv0 32))} call #t~mem7 := read~intINTTYPE4(~p~0.base, ~p~0.offset, 4bv32); {1000#(= (_ bv2 32) |main_#t~mem7|)} is VALID [2018-11-23 11:05:11,930 INFO L273 TraceCheckUtils]: 15: Hoare triple {1004#(= (bvadd (select (select |#memory_int| main_~p~0.base) main_~p~0.offset) (_ bv4294967294 32)) (_ bv0 32))} assume !(0bv32 != ~flag~0); {1004#(= (bvadd (select (select |#memory_int| main_~p~0.base) main_~p~0.offset) (_ bv4294967294 32)) (_ bv0 32))} is VALID [2018-11-23 11:05:11,934 INFO L273 TraceCheckUtils]: 14: Hoare triple {1011#(forall ((main_~p~0.offset (_ BitVec 32))) (= (bvadd (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset (_ bv3 32))) main_~a~0.base) main_~a~0.offset) (_ bv4294967294 32)) (_ bv0 32)))} call write~intINTTYPE4(3bv32, ~p~0.base, ~p~0.offset, 4bv32);~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {1004#(= (bvadd (select (select |#memory_int| main_~p~0.base) main_~p~0.offset) (_ bv4294967294 32)) (_ bv0 32))} is VALID [2018-11-23 11:05:11,935 INFO L273 TraceCheckUtils]: 13: Hoare triple {1011#(forall ((main_~p~0.offset (_ BitVec 32))) (= (bvadd (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset (_ bv3 32))) main_~a~0.base) main_~a~0.offset) (_ bv4294967294 32)) (_ bv0 32)))} assume !(0bv32 != #t~nondet2);havoc #t~nondet2; {1011#(forall ((main_~p~0.offset (_ BitVec 32))) (= (bvadd (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset (_ bv3 32))) main_~a~0.base) main_~a~0.offset) (_ bv4294967294 32)) (_ bv0 32)))} is VALID [2018-11-23 11:05:11,940 INFO L273 TraceCheckUtils]: 12: Hoare triple {1018#(and (not (= main_~t~0.base main_~a~0.base)) (forall ((v_DerPreprocessor_4 (_ BitVec 32))) (= (bvadd (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) (bvadd main_~p~0.offset (_ bv4 32)) v_DerPreprocessor_4)) main_~a~0.base) main_~a~0.offset) (_ bv4294967294 32)) (_ bv0 32))))} call write~$Pointer$(~t~0.base, ~t~0.offset, ~p~0.base, ~bvadd32(4bv32, ~p~0.offset), 4bv32);call #t~mem4.base, #t~mem4.offset := read~$Pointer$(~p~0.base, ~bvadd32(4bv32, ~p~0.offset), 4bv32);~p~0.base, ~p~0.offset := #t~mem4.base, #t~mem4.offset;havoc #t~mem4.base, #t~mem4.offset; {1011#(forall ((main_~p~0.offset (_ BitVec 32))) (= (bvadd (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset (_ bv3 32))) main_~a~0.base) main_~a~0.offset) (_ bv4294967294 32)) (_ bv0 32)))} is VALID [2018-11-23 11:05:11,941 INFO L273 TraceCheckUtils]: 11: Hoare triple {1018#(and (not (= main_~t~0.base main_~a~0.base)) (forall ((v_DerPreprocessor_4 (_ BitVec 32))) (= (bvadd (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) (bvadd main_~p~0.offset (_ bv4 32)) v_DerPreprocessor_4)) main_~a~0.base) main_~a~0.offset) (_ bv4294967294 32)) (_ bv0 32))))} assume !(~t~0.base == 0bv32 && ~t~0.offset == 0bv32); {1018#(and (not (= main_~t~0.base main_~a~0.base)) (forall ((v_DerPreprocessor_4 (_ BitVec 32))) (= (bvadd (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) (bvadd main_~p~0.offset (_ bv4 32)) v_DerPreprocessor_4)) main_~a~0.base) main_~a~0.offset) (_ bv4294967294 32)) (_ bv0 32))))} is VALID [2018-11-23 11:05:11,945 INFO L273 TraceCheckUtils]: 10: Hoare triple {1025#(and (not (= (select |#valid| main_~a~0.base) (_ bv0 1))) (or (forall ((v_main_~t~0.base_6 (_ BitVec 32))) (not (= (_ bv0 1) (select |#valid| v_main_~t~0.base_6)))) (forall ((v_DerPreprocessor_4 (_ BitVec 32))) (= (bvadd (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) (bvadd main_~p~0.offset (_ bv4 32)) v_DerPreprocessor_4)) main_~a~0.base) main_~a~0.offset) (_ bv4294967294 32)) (_ bv0 32)))))} call #t~malloc3.base, #t~malloc3.offset := #Ultimate.alloc(8bv32);~t~0.base, ~t~0.offset := #t~malloc3.base, #t~malloc3.offset; {1018#(and (not (= main_~t~0.base main_~a~0.base)) (forall ((v_DerPreprocessor_4 (_ BitVec 32))) (= (bvadd (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) (bvadd main_~p~0.offset (_ bv4 32)) v_DerPreprocessor_4)) main_~a~0.base) main_~a~0.offset) (_ bv4294967294 32)) (_ bv0 32))))} is VALID [2018-11-23 11:05:11,964 INFO L273 TraceCheckUtils]: 9: Hoare triple {1029#(and (not (= (select |#valid| main_~a~0.base) (_ bv0 1))) (or (forall ((v_main_~t~0.base_6 (_ BitVec 32))) (not (= (_ bv0 1) (select |#valid| v_main_~t~0.base_6)))) (= main_~a~0.offset main_~p~0.offset)) (or (= main_~p~0.base main_~a~0.base) (forall ((v_prenex_3 (_ BitVec 32))) (not (= (_ bv0 1) (select |#valid| v_prenex_3))))))} assume !(0bv32 != ~flag~0);call write~intINTTYPE4(2bv32, ~p~0.base, ~p~0.offset, 4bv32); {1025#(and (not (= (select |#valid| main_~a~0.base) (_ bv0 1))) (or (forall ((v_main_~t~0.base_6 (_ BitVec 32))) (not (= (_ bv0 1) (select |#valid| v_main_~t~0.base_6)))) (forall ((v_DerPreprocessor_4 (_ BitVec 32))) (= (bvadd (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) (bvadd main_~p~0.offset (_ bv4 32)) v_DerPreprocessor_4)) main_~a~0.base) main_~a~0.offset) (_ bv4294967294 32)) (_ bv0 32)))))} is VALID [2018-11-23 11:05:11,974 INFO L273 TraceCheckUtils]: 8: Hoare triple {1029#(and (not (= (select |#valid| main_~a~0.base) (_ bv0 1))) (or (forall ((v_main_~t~0.base_6 (_ BitVec 32))) (not (= (_ bv0 1) (select |#valid| v_main_~t~0.base_6)))) (= main_~a~0.offset main_~p~0.offset)) (or (= main_~p~0.base main_~a~0.base) (forall ((v_prenex_3 (_ BitVec 32))) (not (= (_ bv0 1) (select |#valid| v_prenex_3))))))} assume !!(0bv32 != #t~nondet2);havoc #t~nondet2; {1029#(and (not (= (select |#valid| main_~a~0.base) (_ bv0 1))) (or (forall ((v_main_~t~0.base_6 (_ BitVec 32))) (not (= (_ bv0 1) (select |#valid| v_main_~t~0.base_6)))) (= main_~a~0.offset main_~p~0.offset)) (or (= main_~p~0.base main_~a~0.base) (forall ((v_prenex_3 (_ BitVec 32))) (not (= (_ bv0 1) (select |#valid| v_prenex_3))))))} is VALID [2018-11-23 11:05:11,990 INFO L273 TraceCheckUtils]: 7: Hoare triple {1036#(not (= (select |#valid| main_~a~0.base) (_ bv0 1)))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {1029#(and (not (= (select |#valid| main_~a~0.base) (_ bv0 1))) (or (forall ((v_main_~t~0.base_6 (_ BitVec 32))) (not (= (_ bv0 1) (select |#valid| v_main_~t~0.base_6)))) (= main_~a~0.offset main_~p~0.offset)) (or (= main_~p~0.base main_~a~0.base) (forall ((v_prenex_3 (_ BitVec 32))) (not (= (_ bv0 1) (select |#valid| v_prenex_3))))))} is VALID [2018-11-23 11:05:12,004 INFO L273 TraceCheckUtils]: 6: Hoare triple {1036#(not (= (select |#valid| main_~a~0.base) (_ bv0 1)))} assume !(~a~0.base == 0bv32 && ~a~0.offset == 0bv32); {1036#(not (= (select |#valid| main_~a~0.base) (_ bv0 1)))} is VALID [2018-11-23 11:05:12,007 INFO L273 TraceCheckUtils]: 5: Hoare triple {919#true} ~flag~0 := #t~nondet0;havoc #t~nondet0;havoc ~p~0.base, ~p~0.offset;havoc ~a~0.base, ~a~0.offset;havoc ~t~0.base, ~t~0.offset;call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(8bv32);~a~0.base, ~a~0.offset := #t~malloc1.base, #t~malloc1.offset; {1036#(not (= (select |#valid| main_~a~0.base) (_ bv0 1)))} is VALID [2018-11-23 11:05:12,007 INFO L256 TraceCheckUtils]: 4: Hoare triple {919#true} call #t~ret10 := main(); {919#true} is VALID [2018-11-23 11:05:12,008 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {919#true} {919#true} #90#return; {919#true} is VALID [2018-11-23 11:05:12,008 INFO L273 TraceCheckUtils]: 2: Hoare triple {919#true} assume true; {919#true} is VALID [2018-11-23 11:05:12,008 INFO L273 TraceCheckUtils]: 1: Hoare triple {919#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {919#true} is VALID [2018-11-23 11:05:12,008 INFO L256 TraceCheckUtils]: 0: Hoare triple {919#true} call ULTIMATE.init(); {919#true} is VALID [2018-11-23 11:05:12,012 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [MP cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (6)] Exception during sending of exit command (exit): Broken pipe [2018-11-23 11:05:12,017 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:05:12,018 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 16 [2018-11-23 11:05:12,018 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 21 [2018-11-23 11:05:12,018 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:05:12,019 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states. [2018-11-23 11:05:12,107 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:05:12,107 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2018-11-23 11:05:12,108 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2018-11-23 11:05:12,108 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=190, Unknown=2, NotChecked=0, Total=240 [2018-11-23 11:05:12,109 INFO L87 Difference]: Start difference. First operand 24 states and 28 transitions. Second operand 16 states. [2018-11-23 11:05:14,048 WARN L180 SmtUtils]: Spent 163.00 ms on a formula simplification. DAG size of input: 46 DAG size of output: 34 [2018-11-23 11:05:15,471 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:15,471 INFO L93 Difference]: Finished difference Result 64 states and 73 transitions. [2018-11-23 11:05:15,472 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2018-11-23 11:05:15,472 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 21 [2018-11-23 11:05:15,472 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:05:15,472 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 11:05:15,474 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 73 transitions. [2018-11-23 11:05:15,475 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 11:05:15,476 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 73 transitions. [2018-11-23 11:05:15,477 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 73 transitions. [2018-11-23 11:05:15,671 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:05:15,673 INFO L225 Difference]: With dead ends: 64 [2018-11-23 11:05:15,673 INFO L226 Difference]: Without dead ends: 60 [2018-11-23 11:05:15,673 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 47 GetRequests, 26 SyntacticMatches, 1 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 69 ImplicationChecksByTransitivity, 7.3s TimeCoverageRelationStatistics Valid=116, Invalid=344, Unknown=2, NotChecked=0, Total=462 [2018-11-23 11:05:15,674 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 60 states. [2018-11-23 11:05:15,766 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 60 to 34. [2018-11-23 11:05:15,767 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:05:15,767 INFO L82 GeneralOperation]: Start isEquivalent. First operand 60 states. Second operand 34 states. [2018-11-23 11:05:15,767 INFO L74 IsIncluded]: Start isIncluded. First operand 60 states. Second operand 34 states. [2018-11-23 11:05:15,767 INFO L87 Difference]: Start difference. First operand 60 states. Second operand 34 states. [2018-11-23 11:05:15,770 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:15,771 INFO L93 Difference]: Finished difference Result 60 states and 69 transitions. [2018-11-23 11:05:15,771 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 69 transitions. [2018-11-23 11:05:15,771 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:05:15,772 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:05:15,772 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand 60 states. [2018-11-23 11:05:15,772 INFO L87 Difference]: Start difference. First operand 34 states. Second operand 60 states. [2018-11-23 11:05:15,774 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:15,775 INFO L93 Difference]: Finished difference Result 60 states and 69 transitions. [2018-11-23 11:05:15,775 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 69 transitions. [2018-11-23 11:05:15,775 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:05:15,776 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:05:15,776 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:05:15,776 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:05:15,776 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 34 states. [2018-11-23 11:05:15,777 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 42 transitions. [2018-11-23 11:05:15,778 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 42 transitions. Word has length 21 [2018-11-23 11:05:15,778 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:05:15,778 INFO L480 AbstractCegarLoop]: Abstraction has 34 states and 42 transitions. [2018-11-23 11:05:15,778 INFO L481 AbstractCegarLoop]: Interpolant automaton has 16 states. [2018-11-23 11:05:15,778 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 42 transitions. [2018-11-23 11:05:15,779 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2018-11-23 11:05:15,779 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:05:15,779 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:05:15,779 INFO L423 AbstractCegarLoop]: === Iteration 6 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:05:15,780 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:05:15,780 INFO L82 PathProgramCache]: Analyzing trace with hash -1230046370, now seen corresponding path program 1 times [2018-11-23 11:05:15,780 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:05:15,780 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 7 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 7 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:05:15,799 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:05:15,833 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:05:15,847 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:05:15,848 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:05:15,887 INFO L256 TraceCheckUtils]: 0: Hoare triple {1313#true} call ULTIMATE.init(); {1313#true} is VALID [2018-11-23 11:05:15,887 INFO L273 TraceCheckUtils]: 1: Hoare triple {1313#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {1313#true} is VALID [2018-11-23 11:05:15,887 INFO L273 TraceCheckUtils]: 2: Hoare triple {1313#true} assume true; {1313#true} is VALID [2018-11-23 11:05:15,888 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1313#true} {1313#true} #90#return; {1313#true} is VALID [2018-11-23 11:05:15,888 INFO L256 TraceCheckUtils]: 4: Hoare triple {1313#true} call #t~ret10 := main(); {1313#true} is VALID [2018-11-23 11:05:15,888 INFO L273 TraceCheckUtils]: 5: Hoare triple {1313#true} ~flag~0 := #t~nondet0;havoc #t~nondet0;havoc ~p~0.base, ~p~0.offset;havoc ~a~0.base, ~a~0.offset;havoc ~t~0.base, ~t~0.offset;call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(8bv32);~a~0.base, ~a~0.offset := #t~malloc1.base, #t~malloc1.offset; {1313#true} is VALID [2018-11-23 11:05:15,888 INFO L273 TraceCheckUtils]: 6: Hoare triple {1313#true} assume !(~a~0.base == 0bv32 && ~a~0.offset == 0bv32); {1313#true} is VALID [2018-11-23 11:05:15,889 INFO L273 TraceCheckUtils]: 7: Hoare triple {1313#true} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {1313#true} is VALID [2018-11-23 11:05:15,889 INFO L273 TraceCheckUtils]: 8: Hoare triple {1313#true} assume !!(0bv32 != #t~nondet2);havoc #t~nondet2; {1313#true} is VALID [2018-11-23 11:05:15,897 INFO L273 TraceCheckUtils]: 9: Hoare triple {1313#true} assume !(0bv32 != ~flag~0);call write~intINTTYPE4(2bv32, ~p~0.base, ~p~0.offset, 4bv32); {1345#(= main_~flag~0 (_ bv0 32))} is VALID [2018-11-23 11:05:15,898 INFO L273 TraceCheckUtils]: 10: Hoare triple {1345#(= main_~flag~0 (_ bv0 32))} call #t~malloc3.base, #t~malloc3.offset := #Ultimate.alloc(8bv32);~t~0.base, ~t~0.offset := #t~malloc3.base, #t~malloc3.offset; {1345#(= main_~flag~0 (_ bv0 32))} is VALID [2018-11-23 11:05:15,899 INFO L273 TraceCheckUtils]: 11: Hoare triple {1345#(= main_~flag~0 (_ bv0 32))} assume !(~t~0.base == 0bv32 && ~t~0.offset == 0bv32); {1345#(= main_~flag~0 (_ bv0 32))} is VALID [2018-11-23 11:05:15,907 INFO L273 TraceCheckUtils]: 12: Hoare triple {1345#(= main_~flag~0 (_ bv0 32))} call write~$Pointer$(~t~0.base, ~t~0.offset, ~p~0.base, ~bvadd32(4bv32, ~p~0.offset), 4bv32);call #t~mem4.base, #t~mem4.offset := read~$Pointer$(~p~0.base, ~bvadd32(4bv32, ~p~0.offset), 4bv32);~p~0.base, ~p~0.offset := #t~mem4.base, #t~mem4.offset;havoc #t~mem4.base, #t~mem4.offset; {1345#(= main_~flag~0 (_ bv0 32))} is VALID [2018-11-23 11:05:15,914 INFO L273 TraceCheckUtils]: 13: Hoare triple {1345#(= main_~flag~0 (_ bv0 32))} assume !(0bv32 != #t~nondet2);havoc #t~nondet2; {1345#(= main_~flag~0 (_ bv0 32))} is VALID [2018-11-23 11:05:15,915 INFO L273 TraceCheckUtils]: 14: Hoare triple {1345#(= main_~flag~0 (_ bv0 32))} call write~intINTTYPE4(3bv32, ~p~0.base, ~p~0.offset, 4bv32);~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {1345#(= main_~flag~0 (_ bv0 32))} is VALID [2018-11-23 11:05:15,919 INFO L273 TraceCheckUtils]: 15: Hoare triple {1345#(= main_~flag~0 (_ bv0 32))} assume 0bv32 != ~flag~0; {1314#false} is VALID [2018-11-23 11:05:15,919 INFO L273 TraceCheckUtils]: 16: Hoare triple {1314#false} call #t~mem5 := read~intINTTYPE4(~p~0.base, ~p~0.offset, 4bv32); {1314#false} is VALID [2018-11-23 11:05:15,919 INFO L273 TraceCheckUtils]: 17: Hoare triple {1314#false} assume !(1bv32 == #t~mem5);havoc #t~mem5; {1314#false} is VALID [2018-11-23 11:05:15,920 INFO L273 TraceCheckUtils]: 18: Hoare triple {1314#false} call #t~mem9 := read~intINTTYPE4(~p~0.base, ~p~0.offset, 4bv32); {1314#false} is VALID [2018-11-23 11:05:15,920 INFO L273 TraceCheckUtils]: 19: Hoare triple {1314#false} assume 3bv32 != #t~mem9;havoc #t~mem9; {1314#false} is VALID [2018-11-23 11:05:15,920 INFO L273 TraceCheckUtils]: 20: Hoare triple {1314#false} assume !false; {1314#false} is VALID [2018-11-23 11:05:15,921 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:05:15,921 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 11:05:15,925 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 11:05:15,925 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 11:05:15,926 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 21 [2018-11-23 11:05:15,926 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:05:15,926 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 11:05:15,968 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 21 edges. 21 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:05:15,969 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 11:05:15,969 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 11:05:15,969 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 11:05:15,970 INFO L87 Difference]: Start difference. First operand 34 states and 42 transitions. Second operand 3 states. [2018-11-23 11:05:16,157 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:16,157 INFO L93 Difference]: Finished difference Result 69 states and 86 transitions. [2018-11-23 11:05:16,157 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 11:05:16,157 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 21 [2018-11-23 11:05:16,158 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:05:16,158 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 11:05:16,159 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 59 transitions. [2018-11-23 11:05:16,159 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 11:05:16,161 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 59 transitions. [2018-11-23 11:05:16,161 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 59 transitions. [2018-11-23 11:05:16,301 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:05:16,303 INFO L225 Difference]: With dead ends: 69 [2018-11-23 11:05:16,303 INFO L226 Difference]: Without dead ends: 45 [2018-11-23 11:05:16,304 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 20 GetRequests, 19 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 11:05:16,305 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2018-11-23 11:05:16,418 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 41. [2018-11-23 11:05:16,418 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:05:16,418 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand 41 states. [2018-11-23 11:05:16,418 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand 41 states. [2018-11-23 11:05:16,418 INFO L87 Difference]: Start difference. First operand 45 states. Second operand 41 states. [2018-11-23 11:05:16,420 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:16,420 INFO L93 Difference]: Finished difference Result 45 states and 51 transitions. [2018-11-23 11:05:16,420 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 51 transitions. [2018-11-23 11:05:16,421 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:05:16,421 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:05:16,421 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 45 states. [2018-11-23 11:05:16,421 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 45 states. [2018-11-23 11:05:16,423 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:16,423 INFO L93 Difference]: Finished difference Result 45 states and 51 transitions. [2018-11-23 11:05:16,423 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 51 transitions. [2018-11-23 11:05:16,424 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:05:16,424 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:05:16,424 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:05:16,424 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:05:16,424 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 41 states. [2018-11-23 11:05:16,426 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 48 transitions. [2018-11-23 11:05:16,426 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 48 transitions. Word has length 21 [2018-11-23 11:05:16,426 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:05:16,426 INFO L480 AbstractCegarLoop]: Abstraction has 41 states and 48 transitions. [2018-11-23 11:05:16,426 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 11:05:16,426 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 48 transitions. [2018-11-23 11:05:16,427 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2018-11-23 11:05:16,427 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:05:16,427 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:05:16,427 INFO L423 AbstractCegarLoop]: === Iteration 7 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:05:16,428 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:05:16,428 INFO L82 PathProgramCache]: Analyzing trace with hash -1044474863, now seen corresponding path program 1 times [2018-11-23 11:05:16,428 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:05:16,428 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 8 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 8 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:05:16,454 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:05:16,479 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:05:16,491 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:05:16,492 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:05:16,545 INFO L256 TraceCheckUtils]: 0: Hoare triple {1605#true} call ULTIMATE.init(); {1605#true} is VALID [2018-11-23 11:05:16,545 INFO L273 TraceCheckUtils]: 1: Hoare triple {1605#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {1605#true} is VALID [2018-11-23 11:05:16,546 INFO L273 TraceCheckUtils]: 2: Hoare triple {1605#true} assume true; {1605#true} is VALID [2018-11-23 11:05:16,546 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1605#true} {1605#true} #90#return; {1605#true} is VALID [2018-11-23 11:05:16,546 INFO L256 TraceCheckUtils]: 4: Hoare triple {1605#true} call #t~ret10 := main(); {1605#true} is VALID [2018-11-23 11:05:16,546 INFO L273 TraceCheckUtils]: 5: Hoare triple {1605#true} ~flag~0 := #t~nondet0;havoc #t~nondet0;havoc ~p~0.base, ~p~0.offset;havoc ~a~0.base, ~a~0.offset;havoc ~t~0.base, ~t~0.offset;call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(8bv32);~a~0.base, ~a~0.offset := #t~malloc1.base, #t~malloc1.offset; {1605#true} is VALID [2018-11-23 11:05:16,546 INFO L273 TraceCheckUtils]: 6: Hoare triple {1605#true} assume !(~a~0.base == 0bv32 && ~a~0.offset == 0bv32); {1605#true} is VALID [2018-11-23 11:05:16,546 INFO L273 TraceCheckUtils]: 7: Hoare triple {1605#true} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {1605#true} is VALID [2018-11-23 11:05:16,547 INFO L273 TraceCheckUtils]: 8: Hoare triple {1605#true} assume !!(0bv32 != #t~nondet2);havoc #t~nondet2; {1605#true} is VALID [2018-11-23 11:05:16,547 INFO L273 TraceCheckUtils]: 9: Hoare triple {1605#true} assume 0bv32 != ~flag~0;call write~intINTTYPE4(1bv32, ~p~0.base, ~p~0.offset, 4bv32); {1637#(not (= main_~flag~0 (_ bv0 32)))} is VALID [2018-11-23 11:05:16,548 INFO L273 TraceCheckUtils]: 10: Hoare triple {1637#(not (= main_~flag~0 (_ bv0 32)))} call #t~malloc3.base, #t~malloc3.offset := #Ultimate.alloc(8bv32);~t~0.base, ~t~0.offset := #t~malloc3.base, #t~malloc3.offset; {1637#(not (= main_~flag~0 (_ bv0 32)))} is VALID [2018-11-23 11:05:16,548 INFO L273 TraceCheckUtils]: 11: Hoare triple {1637#(not (= main_~flag~0 (_ bv0 32)))} assume !(~t~0.base == 0bv32 && ~t~0.offset == 0bv32); {1637#(not (= main_~flag~0 (_ bv0 32)))} is VALID [2018-11-23 11:05:16,548 INFO L273 TraceCheckUtils]: 12: Hoare triple {1637#(not (= main_~flag~0 (_ bv0 32)))} call write~$Pointer$(~t~0.base, ~t~0.offset, ~p~0.base, ~bvadd32(4bv32, ~p~0.offset), 4bv32);call #t~mem4.base, #t~mem4.offset := read~$Pointer$(~p~0.base, ~bvadd32(4bv32, ~p~0.offset), 4bv32);~p~0.base, ~p~0.offset := #t~mem4.base, #t~mem4.offset;havoc #t~mem4.base, #t~mem4.offset; {1637#(not (= main_~flag~0 (_ bv0 32)))} is VALID [2018-11-23 11:05:16,549 INFO L273 TraceCheckUtils]: 13: Hoare triple {1637#(not (= main_~flag~0 (_ bv0 32)))} assume !(0bv32 != #t~nondet2);havoc #t~nondet2; {1637#(not (= main_~flag~0 (_ bv0 32)))} is VALID [2018-11-23 11:05:16,549 INFO L273 TraceCheckUtils]: 14: Hoare triple {1637#(not (= main_~flag~0 (_ bv0 32)))} call write~intINTTYPE4(3bv32, ~p~0.base, ~p~0.offset, 4bv32);~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {1637#(not (= main_~flag~0 (_ bv0 32)))} is VALID [2018-11-23 11:05:16,549 INFO L273 TraceCheckUtils]: 15: Hoare triple {1637#(not (= main_~flag~0 (_ bv0 32)))} assume !(0bv32 != ~flag~0); {1606#false} is VALID [2018-11-23 11:05:16,550 INFO L273 TraceCheckUtils]: 16: Hoare triple {1606#false} call #t~mem7 := read~intINTTYPE4(~p~0.base, ~p~0.offset, 4bv32); {1606#false} is VALID [2018-11-23 11:05:16,550 INFO L273 TraceCheckUtils]: 17: Hoare triple {1606#false} assume !(2bv32 == #t~mem7);havoc #t~mem7; {1606#false} is VALID [2018-11-23 11:05:16,550 INFO L273 TraceCheckUtils]: 18: Hoare triple {1606#false} call #t~mem9 := read~intINTTYPE4(~p~0.base, ~p~0.offset, 4bv32); {1606#false} is VALID [2018-11-23 11:05:16,550 INFO L273 TraceCheckUtils]: 19: Hoare triple {1606#false} assume 3bv32 != #t~mem9;havoc #t~mem9; {1606#false} is VALID [2018-11-23 11:05:16,550 INFO L273 TraceCheckUtils]: 20: Hoare triple {1606#false} assume !false; {1606#false} is VALID [2018-11-23 11:05:16,551 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:05:16,552 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 11:05:16,554 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 11:05:16,554 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 11:05:16,554 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 21 [2018-11-23 11:05:16,555 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:05:16,555 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 11:05:16,582 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 21 edges. 21 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:05:16,582 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 11:05:16,582 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 11:05:16,582 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 11:05:16,583 INFO L87 Difference]: Start difference. First operand 41 states and 48 transitions. Second operand 3 states. [2018-11-23 11:05:16,737 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:16,738 INFO L93 Difference]: Finished difference Result 51 states and 57 transitions. [2018-11-23 11:05:16,738 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 11:05:16,738 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 21 [2018-11-23 11:05:16,738 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:05:16,738 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 11:05:16,740 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 53 transitions. [2018-11-23 11:05:16,740 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 11:05:16,741 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 53 transitions. [2018-11-23 11:05:16,741 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 53 transitions. [2018-11-23 11:05:16,821 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:05:16,822 INFO L225 Difference]: With dead ends: 51 [2018-11-23 11:05:16,823 INFO L226 Difference]: Without dead ends: 38 [2018-11-23 11:05:16,823 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 20 GetRequests, 19 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 11:05:16,824 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2018-11-23 11:05:16,880 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 34. [2018-11-23 11:05:16,880 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:05:16,880 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand 34 states. [2018-11-23 11:05:16,880 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand 34 states. [2018-11-23 11:05:16,881 INFO L87 Difference]: Start difference. First operand 38 states. Second operand 34 states. [2018-11-23 11:05:16,882 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:16,882 INFO L93 Difference]: Finished difference Result 38 states and 41 transitions. [2018-11-23 11:05:16,882 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 41 transitions. [2018-11-23 11:05:16,883 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:05:16,883 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:05:16,883 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand 38 states. [2018-11-23 11:05:16,883 INFO L87 Difference]: Start difference. First operand 34 states. Second operand 38 states. [2018-11-23 11:05:16,884 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:16,884 INFO L93 Difference]: Finished difference Result 38 states and 41 transitions. [2018-11-23 11:05:16,884 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 41 transitions. [2018-11-23 11:05:16,884 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:05:16,884 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:05:16,884 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:05:16,885 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:05:16,885 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 34 states. [2018-11-23 11:05:16,886 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 38 transitions. [2018-11-23 11:05:16,886 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 38 transitions. Word has length 21 [2018-11-23 11:05:16,886 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:05:16,886 INFO L480 AbstractCegarLoop]: Abstraction has 34 states and 38 transitions. [2018-11-23 11:05:16,887 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 11:05:16,887 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 38 transitions. [2018-11-23 11:05:16,887 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2018-11-23 11:05:16,887 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:05:16,887 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:05:16,888 INFO L423 AbstractCegarLoop]: === Iteration 8 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:05:16,888 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:05:16,888 INFO L82 PathProgramCache]: Analyzing trace with hash -1488211808, now seen corresponding path program 1 times [2018-11-23 11:05:16,888 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:05:16,888 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 9 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 9 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:05:16,903 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:05:16,952 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:05:16,967 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:05:16,969 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:05:16,992 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2018-11-23 11:05:16,997 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:17,002 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:17,003 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:10, output treesize:9 [2018-11-23 11:05:17,006 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:05:17,006 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#valid_18|]. (and (= main_~a~0.offset (_ bv0 32)) (= |#valid| (store |v_#valid_18| main_~a~0.base (_ bv1 1)))) [2018-11-23 11:05:17,006 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= main_~a~0.offset (_ bv0 32)) (= (select |#valid| main_~a~0.base) (_ bv1 1))) [2018-11-23 11:05:17,100 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 8 [2018-11-23 11:05:17,107 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 7 [2018-11-23 11:05:17,108 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:17,112 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:17,130 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:17,130 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:28, output treesize:24 [2018-11-23 11:05:17,226 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:05:17,229 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:05:17,230 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 4 [2018-11-23 11:05:17,236 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:17,253 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:17,253 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:29, output treesize:21 [2018-11-23 11:05:17,375 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 22 [2018-11-23 11:05:17,383 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:05:17,387 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 14 [2018-11-23 11:05:17,393 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:17,402 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:17,413 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:17,413 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:34, output treesize:15 [2018-11-23 11:05:17,484 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 20 [2018-11-23 11:05:17,493 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 7 [2018-11-23 11:05:17,496 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:17,507 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:17,530 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-11-23 11:05:17,530 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:26, output treesize:22 [2018-11-23 11:05:17,539 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:05:17,540 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_25|, v_main_~p~0.base_26, v_main_~p~0.offset_26]. (and (= (store |v_#memory_int_25| v_main_~p~0.base_26 (store (select |v_#memory_int_25| v_main_~p~0.base_26) v_main_~p~0.offset_26 (_ bv3 32))) |#memory_int|) (= main_~p~0.offset (_ bv0 32)) (not (= v_main_~p~0.base_26 main_~p~0.base)) (= (select (select |v_#memory_int_25| main_~p~0.base) (_ bv0 32)) (_ bv1 32))) [2018-11-23 11:05:17,540 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_main_~p~0.base_26, v_main_~p~0.offset_26]. (and (= main_~p~0.offset (_ bv0 32)) (= (select (select |#memory_int| v_main_~p~0.base_26) v_main_~p~0.offset_26) (_ bv3 32)) (not (= v_main_~p~0.base_26 main_~p~0.base)) (= (select (select |#memory_int| main_~p~0.base) (_ bv0 32)) (_ bv1 32))) [2018-11-23 11:05:17,674 INFO L256 TraceCheckUtils]: 0: Hoare triple {1853#true} call ULTIMATE.init(); {1853#true} is VALID [2018-11-23 11:05:17,675 INFO L273 TraceCheckUtils]: 1: Hoare triple {1853#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {1853#true} is VALID [2018-11-23 11:05:17,675 INFO L273 TraceCheckUtils]: 2: Hoare triple {1853#true} assume true; {1853#true} is VALID [2018-11-23 11:05:17,675 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1853#true} {1853#true} #90#return; {1853#true} is VALID [2018-11-23 11:05:17,676 INFO L256 TraceCheckUtils]: 4: Hoare triple {1853#true} call #t~ret10 := main(); {1853#true} is VALID [2018-11-23 11:05:17,677 INFO L273 TraceCheckUtils]: 5: Hoare triple {1853#true} ~flag~0 := #t~nondet0;havoc #t~nondet0;havoc ~p~0.base, ~p~0.offset;havoc ~a~0.base, ~a~0.offset;havoc ~t~0.base, ~t~0.offset;call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(8bv32);~a~0.base, ~a~0.offset := #t~malloc1.base, #t~malloc1.offset; {1873#(and (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)))} is VALID [2018-11-23 11:05:17,678 INFO L273 TraceCheckUtils]: 6: Hoare triple {1873#(and (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)))} assume !(~a~0.base == 0bv32 && ~a~0.offset == 0bv32); {1873#(and (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)))} is VALID [2018-11-23 11:05:17,679 INFO L273 TraceCheckUtils]: 7: Hoare triple {1873#(and (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {1880#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2018-11-23 11:05:17,680 INFO L273 TraceCheckUtils]: 8: Hoare triple {1880#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)) (= main_~a~0.offset main_~p~0.offset))} assume !!(0bv32 != #t~nondet2);havoc #t~nondet2; {1880#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2018-11-23 11:05:17,682 INFO L273 TraceCheckUtils]: 9: Hoare triple {1880#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)) (= main_~a~0.offset main_~p~0.offset))} assume 0bv32 != ~flag~0;call write~intINTTYPE4(1bv32, ~p~0.base, ~p~0.offset, 4bv32); {1887#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)) (= main_~a~0.offset main_~p~0.offset) (= (_ bv1 32) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2018-11-23 11:05:17,684 INFO L273 TraceCheckUtils]: 10: Hoare triple {1887#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)) (= main_~a~0.offset main_~p~0.offset) (= (_ bv1 32) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} call #t~malloc3.base, #t~malloc3.offset := #Ultimate.alloc(8bv32);~t~0.base, ~t~0.offset := #t~malloc3.base, #t~malloc3.offset; {1891#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= main_~a~0.offset main_~p~0.offset) (not (= main_~t~0.base main_~a~0.base)) (= (_ bv1 32) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2018-11-23 11:05:17,685 INFO L273 TraceCheckUtils]: 11: Hoare triple {1891#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= main_~a~0.offset main_~p~0.offset) (not (= main_~t~0.base main_~a~0.base)) (= (_ bv1 32) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} assume !(~t~0.base == 0bv32 && ~t~0.offset == 0bv32); {1891#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= main_~a~0.offset main_~p~0.offset) (not (= main_~t~0.base main_~a~0.base)) (= (_ bv1 32) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2018-11-23 11:05:17,687 INFO L273 TraceCheckUtils]: 12: Hoare triple {1891#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= main_~a~0.offset main_~p~0.offset) (not (= main_~t~0.base main_~a~0.base)) (= (_ bv1 32) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} call write~$Pointer$(~t~0.base, ~t~0.offset, ~p~0.base, ~bvadd32(4bv32, ~p~0.offset), 4bv32);call #t~mem4.base, #t~mem4.offset := read~$Pointer$(~p~0.base, ~bvadd32(4bv32, ~p~0.offset), 4bv32);~p~0.base, ~p~0.offset := #t~mem4.base, #t~mem4.offset;havoc #t~mem4.base, #t~mem4.offset; {1898#(and (not (= main_~p~0.base main_~a~0.base)) (= main_~a~0.offset (_ bv0 32)) (= (_ bv1 32) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2018-11-23 11:05:17,688 INFO L273 TraceCheckUtils]: 13: Hoare triple {1898#(and (not (= main_~p~0.base main_~a~0.base)) (= main_~a~0.offset (_ bv0 32)) (= (_ bv1 32) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} assume !(0bv32 != #t~nondet2);havoc #t~nondet2; {1898#(and (not (= main_~p~0.base main_~a~0.base)) (= main_~a~0.offset (_ bv0 32)) (= (_ bv1 32) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2018-11-23 11:05:17,691 INFO L273 TraceCheckUtils]: 14: Hoare triple {1898#(and (not (= main_~p~0.base main_~a~0.base)) (= main_~a~0.offset (_ bv0 32)) (= (_ bv1 32) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} call write~intINTTYPE4(3bv32, ~p~0.base, ~p~0.offset, 4bv32);~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {1905#(and (= main_~p~0.offset (_ bv0 32)) (exists ((v_main_~p~0.base_26 (_ BitVec 32)) (v_main_~p~0.offset_26 (_ BitVec 32))) (and (= (bvadd (select (select |#memory_int| v_main_~p~0.base_26) v_main_~p~0.offset_26) (_ bv4294967293 32)) (_ bv0 32)) (not (= v_main_~p~0.base_26 main_~p~0.base)))) (= (bvadd (select (select |#memory_int| main_~p~0.base) (_ bv0 32)) (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:05:17,692 INFO L273 TraceCheckUtils]: 15: Hoare triple {1905#(and (= main_~p~0.offset (_ bv0 32)) (exists ((v_main_~p~0.base_26 (_ BitVec 32)) (v_main_~p~0.offset_26 (_ BitVec 32))) (and (= (bvadd (select (select |#memory_int| v_main_~p~0.base_26) v_main_~p~0.offset_26) (_ bv4294967293 32)) (_ bv0 32)) (not (= v_main_~p~0.base_26 main_~p~0.base)))) (= (bvadd (select (select |#memory_int| main_~p~0.base) (_ bv0 32)) (_ bv4294967295 32)) (_ bv0 32)))} assume 0bv32 != ~flag~0; {1905#(and (= main_~p~0.offset (_ bv0 32)) (exists ((v_main_~p~0.base_26 (_ BitVec 32)) (v_main_~p~0.offset_26 (_ BitVec 32))) (and (= (bvadd (select (select |#memory_int| v_main_~p~0.base_26) v_main_~p~0.offset_26) (_ bv4294967293 32)) (_ bv0 32)) (not (= v_main_~p~0.base_26 main_~p~0.base)))) (= (bvadd (select (select |#memory_int| main_~p~0.base) (_ bv0 32)) (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:05:17,694 INFO L273 TraceCheckUtils]: 16: Hoare triple {1905#(and (= main_~p~0.offset (_ bv0 32)) (exists ((v_main_~p~0.base_26 (_ BitVec 32)) (v_main_~p~0.offset_26 (_ BitVec 32))) (and (= (bvadd (select (select |#memory_int| v_main_~p~0.base_26) v_main_~p~0.offset_26) (_ bv4294967293 32)) (_ bv0 32)) (not (= v_main_~p~0.base_26 main_~p~0.base)))) (= (bvadd (select (select |#memory_int| main_~p~0.base) (_ bv0 32)) (_ bv4294967295 32)) (_ bv0 32)))} call #t~mem5 := read~intINTTYPE4(~p~0.base, ~p~0.offset, 4bv32); {1912#(and (= main_~p~0.offset (_ bv0 32)) (exists ((v_main_~p~0.base_26 (_ BitVec 32)) (v_main_~p~0.offset_26 (_ BitVec 32))) (and (= (bvadd (select (select |#memory_int| v_main_~p~0.base_26) v_main_~p~0.offset_26) (_ bv4294967293 32)) (_ bv0 32)) (not (= v_main_~p~0.base_26 main_~p~0.base)))) (= (select (select |#memory_int| main_~p~0.base) main_~p~0.offset) |main_#t~mem5|) (= (bvadd (select (select |#memory_int| main_~p~0.base) (_ bv0 32)) (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:05:17,694 INFO L273 TraceCheckUtils]: 17: Hoare triple {1912#(and (= main_~p~0.offset (_ bv0 32)) (exists ((v_main_~p~0.base_26 (_ BitVec 32)) (v_main_~p~0.offset_26 (_ BitVec 32))) (and (= (bvadd (select (select |#memory_int| v_main_~p~0.base_26) v_main_~p~0.offset_26) (_ bv4294967293 32)) (_ bv0 32)) (not (= v_main_~p~0.base_26 main_~p~0.base)))) (= (select (select |#memory_int| main_~p~0.base) main_~p~0.offset) |main_#t~mem5|) (= (bvadd (select (select |#memory_int| main_~p~0.base) (_ bv0 32)) (_ bv4294967295 32)) (_ bv0 32)))} assume !(1bv32 == #t~mem5);havoc #t~mem5; {1854#false} is VALID [2018-11-23 11:05:17,694 INFO L273 TraceCheckUtils]: 18: Hoare triple {1854#false} call #t~mem9 := read~intINTTYPE4(~p~0.base, ~p~0.offset, 4bv32); {1854#false} is VALID [2018-11-23 11:05:17,695 INFO L273 TraceCheckUtils]: 19: Hoare triple {1854#false} assume 3bv32 != #t~mem9;havoc #t~mem9; {1854#false} is VALID [2018-11-23 11:05:17,695 INFO L273 TraceCheckUtils]: 20: Hoare triple {1854#false} assume !false; {1854#false} is VALID [2018-11-23 11:05:17,697 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:05:17,697 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 11:05:18,011 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:05:18,019 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:05:18,032 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:18,039 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:18,065 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 2 xjuncts. [2018-11-23 11:05:18,066 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 2 variables, input treesize:38, output treesize:24 [2018-11-23 11:05:18,078 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:05:18,079 WARN L384 uantifierElimination]: Input elimination task: ∀ [|v_#memory_int_27|, v_subst_2]. (or (not (= |v_#memory_int_27| (store |#memory_int| main_~p~0.base (let ((.cse0 (bvadd main_~p~0.offset (_ bv4 32)))) (store (select |#memory_int| main_~p~0.base) .cse0 (select (select |v_#memory_int_27| main_~p~0.base) .cse0)))))) (= (_ bv0 32) (bvadd (select (select (store |v_#memory_int_27| main_~t~0.base (store (select |v_#memory_int_27| main_~t~0.base) v_subst_2 (_ bv3 32))) main_~a~0.base) main_~a~0.offset) (_ bv4294967295 32)))) [2018-11-23 11:05:18,079 WARN L385 uantifierElimination]: ElimStorePlain result: ∀ [v_DerPreprocessor_6]. (and (= (bvadd (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) (bvadd main_~p~0.offset (_ bv4 32)) v_DerPreprocessor_6)) main_~a~0.base) main_~a~0.offset) (_ bv4294967295 32)) (_ bv0 32)) (not (= main_~t~0.base main_~a~0.base))) [2018-11-23 11:05:22,894 WARN L180 SmtUtils]: Spent 2.02 s on a formula simplification that was a NOOP. DAG size: 30 [2018-11-23 11:05:22,993 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 17 [2018-11-23 11:05:23,053 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 7 treesize of output 5 [2018-11-23 11:05:23,084 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:23,170 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:23,227 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 33 treesize of output 37 [2018-11-23 11:05:23,239 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 35 [2018-11-23 11:05:23,300 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 6 [2018-11-23 11:05:23,312 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:23,324 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 14 treesize of output 9 [2018-11-23 11:05:23,326 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:23,363 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 11:05:23,448 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 23 [2018-11-23 11:05:23,452 INFO L267 ElimStorePlain]: Start of recursive call 8: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:23,457 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 21 [2018-11-23 11:05:23,460 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:23,516 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:05:23,518 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 33 [2018-11-23 11:05:23,652 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 14 treesize of output 7 [2018-11-23 11:05:23,654 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:23,671 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 11:05:23,709 INFO L267 ElimStorePlain]: Start of recursive call 4: 3 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 11:05:23,715 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 26 [2018-11-23 11:05:23,722 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 19 [2018-11-23 11:05:23,759 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 7 [2018-11-23 11:05:23,761 INFO L267 ElimStorePlain]: Start of recursive call 14: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:23,770 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 6 [2018-11-23 11:05:23,772 INFO L267 ElimStorePlain]: Start of recursive call 15: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:23,793 INFO L267 ElimStorePlain]: Start of recursive call 13: 1 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 11:05:23,828 INFO L267 ElimStorePlain]: Start of recursive call 12: 1 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 11:05:23,877 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 3 dim-0 vars, and 4 xjuncts. [2018-11-23 11:05:23,878 INFO L202 ElimStorePlain]: Needed 15 recursive calls to eliminate 3 variables, input treesize:36, output treesize:42 [2018-11-23 11:05:23,887 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:05:23,887 WARN L384 uantifierElimination]: Input elimination task: ∀ [|#memory_int|, v_DerPreprocessor_6, v_main_~t~0.base_8]. (and (not (= (select |#valid| main_~a~0.base) (_ bv0 1))) (or (not (= (_ bv0 1) (select |#valid| v_main_~t~0.base_8))) (= (_ bv0 32) (bvadd (select (select (store |#memory_int| main_~p~0.base (store (store (select |#memory_int| main_~p~0.base) main_~p~0.offset (_ bv1 32)) (bvadd main_~p~0.offset (_ bv4 32)) v_DerPreprocessor_6)) main_~a~0.base) main_~a~0.offset) (_ bv4294967295 32))))) [2018-11-23 11:05:23,888 WARN L385 uantifierElimination]: ElimStorePlain result: ∀ [v_prenex_5, v_prenex_6, v_main_~t~0.base_8]. (let ((.cse0 (= main_~a~0.offset main_~p~0.offset))) (and (not (= (select |#valid| main_~a~0.base) (_ bv0 1))) (or (not (= (_ bv0 1) (select |#valid| v_prenex_5))) .cse0) (or (= main_~p~0.base main_~a~0.base) (not (= (_ bv0 1) (select |#valid| v_prenex_6)))) (or (not (= (_ bv0 1) (select |#valid| v_main_~t~0.base_8))) (= (bvadd main_~p~0.offset (_ bv4 32)) main_~a~0.offset) .cse0))) [2018-11-23 11:05:24,078 INFO L273 TraceCheckUtils]: 20: Hoare triple {1854#false} assume !false; {1854#false} is VALID [2018-11-23 11:05:24,079 INFO L273 TraceCheckUtils]: 19: Hoare triple {1854#false} assume 3bv32 != #t~mem9;havoc #t~mem9; {1854#false} is VALID [2018-11-23 11:05:24,079 INFO L273 TraceCheckUtils]: 18: Hoare triple {1854#false} call #t~mem9 := read~intINTTYPE4(~p~0.base, ~p~0.offset, 4bv32); {1854#false} is VALID [2018-11-23 11:05:24,080 INFO L273 TraceCheckUtils]: 17: Hoare triple {1934#(= (_ bv1 32) |main_#t~mem5|)} assume !(1bv32 == #t~mem5);havoc #t~mem5; {1854#false} is VALID [2018-11-23 11:05:24,081 INFO L273 TraceCheckUtils]: 16: Hoare triple {1938#(= (bvadd (select (select |#memory_int| main_~p~0.base) main_~p~0.offset) (_ bv4294967295 32)) (_ bv0 32))} call #t~mem5 := read~intINTTYPE4(~p~0.base, ~p~0.offset, 4bv32); {1934#(= (_ bv1 32) |main_#t~mem5|)} is VALID [2018-11-23 11:05:24,081 INFO L273 TraceCheckUtils]: 15: Hoare triple {1938#(= (bvadd (select (select |#memory_int| main_~p~0.base) main_~p~0.offset) (_ bv4294967295 32)) (_ bv0 32))} assume 0bv32 != ~flag~0; {1938#(= (bvadd (select (select |#memory_int| main_~p~0.base) main_~p~0.offset) (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 11:05:24,085 INFO L273 TraceCheckUtils]: 14: Hoare triple {1945#(forall ((main_~p~0.offset (_ BitVec 32))) (= (bvadd (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset (_ bv3 32))) main_~a~0.base) main_~a~0.offset) (_ bv4294967295 32)) (_ bv0 32)))} call write~intINTTYPE4(3bv32, ~p~0.base, ~p~0.offset, 4bv32);~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {1938#(= (bvadd (select (select |#memory_int| main_~p~0.base) main_~p~0.offset) (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 11:05:24,086 INFO L273 TraceCheckUtils]: 13: Hoare triple {1945#(forall ((main_~p~0.offset (_ BitVec 32))) (= (bvadd (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset (_ bv3 32))) main_~a~0.base) main_~a~0.offset) (_ bv4294967295 32)) (_ bv0 32)))} assume !(0bv32 != #t~nondet2);havoc #t~nondet2; {1945#(forall ((main_~p~0.offset (_ BitVec 32))) (= (bvadd (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset (_ bv3 32))) main_~a~0.base) main_~a~0.offset) (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:05:24,091 INFO L273 TraceCheckUtils]: 12: Hoare triple {1952#(and (forall ((v_DerPreprocessor_6 (_ BitVec 32))) (= (bvadd (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) (bvadd main_~p~0.offset (_ bv4 32)) v_DerPreprocessor_6)) main_~a~0.base) main_~a~0.offset) (_ bv4294967295 32)) (_ bv0 32))) (not (= main_~t~0.base main_~a~0.base)))} call write~$Pointer$(~t~0.base, ~t~0.offset, ~p~0.base, ~bvadd32(4bv32, ~p~0.offset), 4bv32);call #t~mem4.base, #t~mem4.offset := read~$Pointer$(~p~0.base, ~bvadd32(4bv32, ~p~0.offset), 4bv32);~p~0.base, ~p~0.offset := #t~mem4.base, #t~mem4.offset;havoc #t~mem4.base, #t~mem4.offset; {1945#(forall ((main_~p~0.offset (_ BitVec 32))) (= (bvadd (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset (_ bv3 32))) main_~a~0.base) main_~a~0.offset) (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:05:24,092 INFO L273 TraceCheckUtils]: 11: Hoare triple {1952#(and (forall ((v_DerPreprocessor_6 (_ BitVec 32))) (= (bvadd (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) (bvadd main_~p~0.offset (_ bv4 32)) v_DerPreprocessor_6)) main_~a~0.base) main_~a~0.offset) (_ bv4294967295 32)) (_ bv0 32))) (not (= main_~t~0.base main_~a~0.base)))} assume !(~t~0.base == 0bv32 && ~t~0.offset == 0bv32); {1952#(and (forall ((v_DerPreprocessor_6 (_ BitVec 32))) (= (bvadd (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) (bvadd main_~p~0.offset (_ bv4 32)) v_DerPreprocessor_6)) main_~a~0.base) main_~a~0.offset) (_ bv4294967295 32)) (_ bv0 32))) (not (= main_~t~0.base main_~a~0.base)))} is VALID [2018-11-23 11:05:24,094 INFO L273 TraceCheckUtils]: 10: Hoare triple {1959#(and (or (forall ((v_DerPreprocessor_6 (_ BitVec 32))) (= (bvadd (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) (bvadd main_~p~0.offset (_ bv4 32)) v_DerPreprocessor_6)) main_~a~0.base) main_~a~0.offset) (_ bv4294967295 32)) (_ bv0 32))) (forall ((v_main_~t~0.base_8 (_ BitVec 32))) (not (= (_ bv0 1) (select |#valid| v_main_~t~0.base_8))))) (not (= (select |#valid| main_~a~0.base) (_ bv0 1))))} call #t~malloc3.base, #t~malloc3.offset := #Ultimate.alloc(8bv32);~t~0.base, ~t~0.offset := #t~malloc3.base, #t~malloc3.offset; {1952#(and (forall ((v_DerPreprocessor_6 (_ BitVec 32))) (= (bvadd (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) (bvadd main_~p~0.offset (_ bv4 32)) v_DerPreprocessor_6)) main_~a~0.base) main_~a~0.offset) (_ bv4294967295 32)) (_ bv0 32))) (not (= main_~t~0.base main_~a~0.base)))} is VALID [2018-11-23 11:05:24,097 INFO L273 TraceCheckUtils]: 9: Hoare triple {1963#(and (not (= (select |#valid| main_~a~0.base) (_ bv0 1))) (or (forall ((v_prenex_5 (_ BitVec 32))) (not (= (_ bv0 1) (select |#valid| v_prenex_5)))) (= main_~a~0.offset main_~p~0.offset)) (or (= main_~p~0.base main_~a~0.base) (forall ((v_prenex_6 (_ BitVec 32))) (not (= (_ bv0 1) (select |#valid| v_prenex_6))))))} assume 0bv32 != ~flag~0;call write~intINTTYPE4(1bv32, ~p~0.base, ~p~0.offset, 4bv32); {1959#(and (or (forall ((v_DerPreprocessor_6 (_ BitVec 32))) (= (bvadd (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) (bvadd main_~p~0.offset (_ bv4 32)) v_DerPreprocessor_6)) main_~a~0.base) main_~a~0.offset) (_ bv4294967295 32)) (_ bv0 32))) (forall ((v_main_~t~0.base_8 (_ BitVec 32))) (not (= (_ bv0 1) (select |#valid| v_main_~t~0.base_8))))) (not (= (select |#valid| main_~a~0.base) (_ bv0 1))))} is VALID [2018-11-23 11:05:24,098 INFO L273 TraceCheckUtils]: 8: Hoare triple {1963#(and (not (= (select |#valid| main_~a~0.base) (_ bv0 1))) (or (forall ((v_prenex_5 (_ BitVec 32))) (not (= (_ bv0 1) (select |#valid| v_prenex_5)))) (= main_~a~0.offset main_~p~0.offset)) (or (= main_~p~0.base main_~a~0.base) (forall ((v_prenex_6 (_ BitVec 32))) (not (= (_ bv0 1) (select |#valid| v_prenex_6))))))} assume !!(0bv32 != #t~nondet2);havoc #t~nondet2; {1963#(and (not (= (select |#valid| main_~a~0.base) (_ bv0 1))) (or (forall ((v_prenex_5 (_ BitVec 32))) (not (= (_ bv0 1) (select |#valid| v_prenex_5)))) (= main_~a~0.offset main_~p~0.offset)) (or (= main_~p~0.base main_~a~0.base) (forall ((v_prenex_6 (_ BitVec 32))) (not (= (_ bv0 1) (select |#valid| v_prenex_6))))))} is VALID [2018-11-23 11:05:24,099 INFO L273 TraceCheckUtils]: 7: Hoare triple {1970#(not (= (select |#valid| main_~a~0.base) (_ bv0 1)))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {1963#(and (not (= (select |#valid| main_~a~0.base) (_ bv0 1))) (or (forall ((v_prenex_5 (_ BitVec 32))) (not (= (_ bv0 1) (select |#valid| v_prenex_5)))) (= main_~a~0.offset main_~p~0.offset)) (or (= main_~p~0.base main_~a~0.base) (forall ((v_prenex_6 (_ BitVec 32))) (not (= (_ bv0 1) (select |#valid| v_prenex_6))))))} is VALID [2018-11-23 11:05:24,099 INFO L273 TraceCheckUtils]: 6: Hoare triple {1970#(not (= (select |#valid| main_~a~0.base) (_ bv0 1)))} assume !(~a~0.base == 0bv32 && ~a~0.offset == 0bv32); {1970#(not (= (select |#valid| main_~a~0.base) (_ bv0 1)))} is VALID [2018-11-23 11:05:24,101 INFO L273 TraceCheckUtils]: 5: Hoare triple {1853#true} ~flag~0 := #t~nondet0;havoc #t~nondet0;havoc ~p~0.base, ~p~0.offset;havoc ~a~0.base, ~a~0.offset;havoc ~t~0.base, ~t~0.offset;call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(8bv32);~a~0.base, ~a~0.offset := #t~malloc1.base, #t~malloc1.offset; {1970#(not (= (select |#valid| main_~a~0.base) (_ bv0 1)))} is VALID [2018-11-23 11:05:24,101 INFO L256 TraceCheckUtils]: 4: Hoare triple {1853#true} call #t~ret10 := main(); {1853#true} is VALID [2018-11-23 11:05:24,101 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1853#true} {1853#true} #90#return; {1853#true} is VALID [2018-11-23 11:05:24,102 INFO L273 TraceCheckUtils]: 2: Hoare triple {1853#true} assume true; {1853#true} is VALID [2018-11-23 11:05:24,102 INFO L273 TraceCheckUtils]: 1: Hoare triple {1853#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {1853#true} is VALID [2018-11-23 11:05:24,102 INFO L256 TraceCheckUtils]: 0: Hoare triple {1853#true} call ULTIMATE.init(); {1853#true} is VALID [2018-11-23 11:05:24,104 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:05:24,107 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:05:24,107 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 16 [2018-11-23 11:05:24,108 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 21 [2018-11-23 11:05:24,108 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:05:24,108 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states. [2018-11-23 11:05:24,179 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:05:24,179 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2018-11-23 11:05:24,179 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2018-11-23 11:05:24,180 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=192, Unknown=0, NotChecked=0, Total=240 [2018-11-23 11:05:24,180 INFO L87 Difference]: Start difference. First operand 34 states and 38 transitions. Second operand 16 states. [2018-11-23 11:05:26,392 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:26,393 INFO L93 Difference]: Finished difference Result 46 states and 50 transitions. [2018-11-23 11:05:26,393 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-11-23 11:05:26,393 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 21 [2018-11-23 11:05:26,394 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:05:26,394 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 11:05:26,395 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 50 transitions. [2018-11-23 11:05:26,396 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 11:05:26,397 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 50 transitions. [2018-11-23 11:05:26,397 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 50 transitions. [2018-11-23 11:05:26,491 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:05:26,492 INFO L225 Difference]: With dead ends: 46 [2018-11-23 11:05:26,492 INFO L226 Difference]: Without dead ends: 42 [2018-11-23 11:05:26,493 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 46 GetRequests, 26 SyntacticMatches, 1 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 61 ImplicationChecksByTransitivity, 3.7s TimeCoverageRelationStatistics Valid=106, Invalid=314, Unknown=0, NotChecked=0, Total=420 [2018-11-23 11:05:26,493 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2018-11-23 11:05:26,560 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 36. [2018-11-23 11:05:26,560 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:05:26,560 INFO L82 GeneralOperation]: Start isEquivalent. First operand 42 states. Second operand 36 states. [2018-11-23 11:05:26,561 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand 36 states. [2018-11-23 11:05:26,561 INFO L87 Difference]: Start difference. First operand 42 states. Second operand 36 states. [2018-11-23 11:05:26,563 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:26,563 INFO L93 Difference]: Finished difference Result 42 states and 46 transitions. [2018-11-23 11:05:26,563 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 46 transitions. [2018-11-23 11:05:26,564 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:05:26,564 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:05:26,564 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand 42 states. [2018-11-23 11:05:26,564 INFO L87 Difference]: Start difference. First operand 36 states. Second operand 42 states. [2018-11-23 11:05:26,566 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:26,566 INFO L93 Difference]: Finished difference Result 42 states and 46 transitions. [2018-11-23 11:05:26,566 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 46 transitions. [2018-11-23 11:05:26,567 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:05:26,567 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:05:26,567 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:05:26,567 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:05:26,567 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 36 states. [2018-11-23 11:05:26,568 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 40 transitions. [2018-11-23 11:05:26,569 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 40 transitions. Word has length 21 [2018-11-23 11:05:26,569 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:05:26,569 INFO L480 AbstractCegarLoop]: Abstraction has 36 states and 40 transitions. [2018-11-23 11:05:26,569 INFO L481 AbstractCegarLoop]: Interpolant automaton has 16 states. [2018-11-23 11:05:26,569 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 40 transitions. [2018-11-23 11:05:26,570 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2018-11-23 11:05:26,570 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:05:26,570 INFO L402 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:05:26,570 INFO L423 AbstractCegarLoop]: === Iteration 9 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:05:26,570 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:05:26,571 INFO L82 PathProgramCache]: Analyzing trace with hash 319562954, now seen corresponding path program 1 times [2018-11-23 11:05:26,571 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:05:26,571 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 10 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 10 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:05:26,592 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:05:26,650 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:05:26,670 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:05:26,671 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:05:26,690 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2018-11-23 11:05:26,692 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:26,700 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:26,701 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:10, output treesize:9 [2018-11-23 11:05:26,704 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:05:26,705 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#valid_25|]. (and (= main_~a~0.offset (_ bv0 32)) (= |#valid| (store |v_#valid_25| main_~a~0.base (_ bv1 1)))) [2018-11-23 11:05:26,705 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= main_~a~0.offset (_ bv0 32)) (= (select |#valid| main_~a~0.base) (_ bv1 1))) [2018-11-23 11:05:26,798 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:05:26,800 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:05:26,801 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 4 [2018-11-23 11:05:26,804 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:26,817 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:26,818 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:22, output treesize:14 [2018-11-23 11:05:26,884 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 10 [2018-11-23 11:05:26,892 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 10 treesize of output 9 [2018-11-23 11:05:26,894 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:26,901 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:26,967 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 10 [2018-11-23 11:05:26,975 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 10 treesize of output 9 [2018-11-23 11:05:26,977 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:26,980 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:27,010 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:27,011 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 4 variables, input treesize:52, output treesize:32 [2018-11-23 11:05:27,052 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:05:27,053 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_$Pointer$.offset_19|, main_~t~0.offset, main_~t~0.base, |v_#memory_$Pointer$.base_21|]. (let ((.cse0 (bvadd main_~a~0.offset (_ bv4 32)))) (and (= main_~a~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| main_~a~0.base) .cse0) main_~p~0.base) (= main_~p~0.offset (select (select |#memory_$Pointer$.offset| main_~a~0.base) .cse0)) (not (= main_~t~0.base main_~a~0.base)) (= |#memory_$Pointer$.offset| (store |v_#memory_$Pointer$.offset_19| main_~a~0.base (store (select |v_#memory_$Pointer$.offset_19| main_~a~0.base) .cse0 main_~t~0.offset))) (= |#memory_$Pointer$.base| (store |v_#memory_$Pointer$.base_21| main_~a~0.base (store (select |v_#memory_$Pointer$.base_21| main_~a~0.base) .cse0 main_~t~0.base))))) [2018-11-23 11:05:27,053 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse1 (bvadd main_~a~0.offset (_ bv4 32)))) (let ((.cse0 (select (select |#memory_$Pointer$.base| main_~a~0.base) .cse1))) (and (= main_~a~0.offset (_ bv0 32)) (not (= .cse0 main_~a~0.base)) (= .cse0 main_~p~0.base) (= main_~p~0.offset (select (select |#memory_$Pointer$.offset| main_~a~0.base) .cse1))))) [2018-11-23 11:05:27,147 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 102 treesize of output 98 [2018-11-23 11:05:27,157 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 1 [2018-11-23 11:05:27,157 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:27,183 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:27,241 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 59 treesize of output 60 [2018-11-23 11:05:27,250 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 1 [2018-11-23 11:05:27,253 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:27,263 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:27,286 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 16 [2018-11-23 11:05:27,291 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 15 [2018-11-23 11:05:27,295 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:27,298 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:27,312 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:27,312 INFO L202 ElimStorePlain]: Needed 7 recursive calls to eliminate 3 variables, input treesize:105, output treesize:27 [2018-11-23 11:05:27,444 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:05:27,444 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_$Pointer$.base_22|, |v_#memory_int_29|, |v_#memory_$Pointer$.offset_20|]. (let ((.cse0 (select (select |v_#memory_$Pointer$.base_22| main_~p~0.base) (_ bv4 32))) (.cse1 (select (select |v_#memory_$Pointer$.offset_20| main_~p~0.base) (_ bv4 32)))) (and (= main_~p~0.offset (_ bv0 32)) (not (= .cse0 main_~p~0.base)) (= (store |v_#memory_int_29| .cse0 (store (select |v_#memory_int_29| .cse0) .cse1 (_ bv3 32))) |#memory_int|) (= (store |v_#memory_$Pointer$.offset_20| .cse0 (store (select |v_#memory_$Pointer$.offset_20| .cse0) .cse1 (select (select |#memory_$Pointer$.offset| .cse0) .cse1))) |#memory_$Pointer$.offset|) (= (store |v_#memory_$Pointer$.base_22| .cse0 (store (select |v_#memory_$Pointer$.base_22| .cse0) .cse1 (select (select |#memory_$Pointer$.base| .cse0) .cse1))) |#memory_$Pointer$.base|))) [2018-11-23 11:05:27,445 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32)))) (and (= main_~p~0.offset (_ bv0 32)) (= (select (select |#memory_int| .cse0) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32))) (_ bv3 32)) (not (= .cse0 main_~p~0.base)))) [2018-11-23 11:05:27,874 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 21 [2018-11-23 11:05:27,882 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 13 [2018-11-23 11:05:27,884 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:27,889 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:27,905 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 23 [2018-11-23 11:05:27,912 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 14 [2018-11-23 11:05:27,913 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:27,922 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:27,930 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:27,930 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:40, output treesize:9 [2018-11-23 11:05:27,935 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:05:27,935 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_$Pointer$.base|, v_main_~p~0.base_33, |#memory_$Pointer$.offset|]. (let ((.cse0 (select (select |#memory_$Pointer$.base| v_main_~p~0.base_33) (_ bv4 32))) (.cse1 (select (select |#memory_$Pointer$.offset| v_main_~p~0.base_33) (_ bv4 32)))) (and (not (= .cse0 v_main_~p~0.base_33)) (= .cse0 main_~p~0.base) (= main_~p~0.offset .cse1) (= (bvadd (select (select |#memory_int| .cse0) .cse1) (_ bv4294967293 32)) (_ bv0 32)))) [2018-11-23 11:05:27,935 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (= (_ bv0 32) (bvadd (select (select |#memory_int| main_~p~0.base) main_~p~0.offset) (_ bv4294967293 32))) [2018-11-23 11:05:27,961 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2018-11-23 11:05:27,966 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 3 [2018-11-23 11:05:27,967 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:27,970 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:27,978 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:27,978 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:15, output treesize:3 [2018-11-23 11:05:27,981 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:05:27,981 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, main_~p~0.base, main_~p~0.offset]. (let ((.cse0 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))) (and (= (_ bv3 32) .cse0) (= .cse0 |main_#t~mem9|))) [2018-11-23 11:05:27,981 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (= (_ bv3 32) |main_#t~mem9|) [2018-11-23 11:05:27,997 INFO L256 TraceCheckUtils]: 0: Hoare triple {2192#true} call ULTIMATE.init(); {2192#true} is VALID [2018-11-23 11:05:27,998 INFO L273 TraceCheckUtils]: 1: Hoare triple {2192#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {2192#true} is VALID [2018-11-23 11:05:27,998 INFO L273 TraceCheckUtils]: 2: Hoare triple {2192#true} assume true; {2192#true} is VALID [2018-11-23 11:05:27,998 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2192#true} {2192#true} #90#return; {2192#true} is VALID [2018-11-23 11:05:27,998 INFO L256 TraceCheckUtils]: 4: Hoare triple {2192#true} call #t~ret10 := main(); {2192#true} is VALID [2018-11-23 11:05:27,999 INFO L273 TraceCheckUtils]: 5: Hoare triple {2192#true} ~flag~0 := #t~nondet0;havoc #t~nondet0;havoc ~p~0.base, ~p~0.offset;havoc ~a~0.base, ~a~0.offset;havoc ~t~0.base, ~t~0.offset;call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(8bv32);~a~0.base, ~a~0.offset := #t~malloc1.base, #t~malloc1.offset; {2212#(and (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)))} is VALID [2018-11-23 11:05:28,000 INFO L273 TraceCheckUtils]: 6: Hoare triple {2212#(and (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)))} assume !(~a~0.base == 0bv32 && ~a~0.offset == 0bv32); {2212#(and (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)))} is VALID [2018-11-23 11:05:28,001 INFO L273 TraceCheckUtils]: 7: Hoare triple {2212#(and (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {2219#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2018-11-23 11:05:28,003 INFO L273 TraceCheckUtils]: 8: Hoare triple {2219#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)) (= main_~a~0.offset main_~p~0.offset))} assume !!(0bv32 != #t~nondet2);havoc #t~nondet2; {2219#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2018-11-23 11:05:28,004 INFO L273 TraceCheckUtils]: 9: Hoare triple {2219#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)) (= main_~a~0.offset main_~p~0.offset))} assume !(0bv32 != ~flag~0);call write~intINTTYPE4(2bv32, ~p~0.base, ~p~0.offset, 4bv32); {2219#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2018-11-23 11:05:28,012 INFO L273 TraceCheckUtils]: 10: Hoare triple {2219#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)) (= main_~a~0.offset main_~p~0.offset))} call #t~malloc3.base, #t~malloc3.offset := #Ultimate.alloc(8bv32);~t~0.base, ~t~0.offset := #t~malloc3.base, #t~malloc3.offset; {2229#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= main_~a~0.offset main_~p~0.offset) (not (= main_~t~0.base main_~a~0.base)))} is VALID [2018-11-23 11:05:28,013 INFO L273 TraceCheckUtils]: 11: Hoare triple {2229#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= main_~a~0.offset main_~p~0.offset) (not (= main_~t~0.base main_~a~0.base)))} assume !(~t~0.base == 0bv32 && ~t~0.offset == 0bv32); {2229#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= main_~a~0.offset main_~p~0.offset) (not (= main_~t~0.base main_~a~0.base)))} is VALID [2018-11-23 11:05:28,015 INFO L273 TraceCheckUtils]: 12: Hoare triple {2229#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= main_~a~0.offset main_~p~0.offset) (not (= main_~t~0.base main_~a~0.base)))} call write~$Pointer$(~t~0.base, ~t~0.offset, ~p~0.base, ~bvadd32(4bv32, ~p~0.offset), 4bv32);call #t~mem4.base, #t~mem4.offset := read~$Pointer$(~p~0.base, ~bvadd32(4bv32, ~p~0.offset), 4bv32);~p~0.base, ~p~0.offset := #t~mem4.base, #t~mem4.offset;havoc #t~mem4.base, #t~mem4.offset; {2236#(and (= main_~a~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~a~0.base)) (= (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~p~0.base) (= main_~p~0.offset (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))))} is VALID [2018-11-23 11:05:28,016 INFO L273 TraceCheckUtils]: 13: Hoare triple {2236#(and (= main_~a~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~a~0.base)) (= (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~p~0.base) (= main_~p~0.offset (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))))} assume !(0bv32 != #t~nondet2);havoc #t~nondet2; {2236#(and (= main_~a~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~a~0.base)) (= (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~p~0.base) (= main_~p~0.offset (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))))} is VALID [2018-11-23 11:05:28,017 INFO L273 TraceCheckUtils]: 14: Hoare triple {2236#(and (= main_~a~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~a~0.base)) (= (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~p~0.base) (= main_~p~0.offset (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))))} call write~intINTTYPE4(3bv32, ~p~0.base, ~p~0.offset, 4bv32);~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {2243#(and (= main_~p~0.offset (_ bv0 32)) (= (bvadd (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32))) (_ bv4294967293 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32)) main_~p~0.base)))} is VALID [2018-11-23 11:05:28,018 INFO L273 TraceCheckUtils]: 15: Hoare triple {2243#(and (= main_~p~0.offset (_ bv0 32)) (= (bvadd (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32))) (_ bv4294967293 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32)) main_~p~0.base)))} assume !(0bv32 != ~flag~0); {2243#(and (= main_~p~0.offset (_ bv0 32)) (= (bvadd (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32))) (_ bv4294967293 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32)) main_~p~0.base)))} is VALID [2018-11-23 11:05:28,018 INFO L273 TraceCheckUtils]: 16: Hoare triple {2243#(and (= main_~p~0.offset (_ bv0 32)) (= (bvadd (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32))) (_ bv4294967293 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32)) main_~p~0.base)))} call #t~mem7 := read~intINTTYPE4(~p~0.base, ~p~0.offset, 4bv32); {2243#(and (= main_~p~0.offset (_ bv0 32)) (= (bvadd (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32))) (_ bv4294967293 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32)) main_~p~0.base)))} is VALID [2018-11-23 11:05:28,020 INFO L273 TraceCheckUtils]: 17: Hoare triple {2243#(and (= main_~p~0.offset (_ bv0 32)) (= (bvadd (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32))) (_ bv4294967293 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32)) main_~p~0.base)))} assume !!(2bv32 == #t~mem7);havoc #t~mem7;call #t~mem8.base, #t~mem8.offset := read~$Pointer$(~p~0.base, ~bvadd32(4bv32, ~p~0.offset), 4bv32);~p~0.base, ~p~0.offset := #t~mem8.base, #t~mem8.offset;havoc #t~mem8.base, #t~mem8.offset; {2253#(= (_ bv3 32) (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2018-11-23 11:05:28,020 INFO L273 TraceCheckUtils]: 18: Hoare triple {2253#(= (_ bv3 32) (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} call #t~mem7 := read~intINTTYPE4(~p~0.base, ~p~0.offset, 4bv32); {2253#(= (_ bv3 32) (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2018-11-23 11:05:28,021 INFO L273 TraceCheckUtils]: 19: Hoare triple {2253#(= (_ bv3 32) (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} assume !(2bv32 == #t~mem7);havoc #t~mem7; {2253#(= (_ bv3 32) (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2018-11-23 11:05:28,022 INFO L273 TraceCheckUtils]: 20: Hoare triple {2253#(= (_ bv3 32) (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} call #t~mem9 := read~intINTTYPE4(~p~0.base, ~p~0.offset, 4bv32); {2263#(= (_ bv3 32) |main_#t~mem9|)} is VALID [2018-11-23 11:05:28,022 INFO L273 TraceCheckUtils]: 21: Hoare triple {2263#(= (_ bv3 32) |main_#t~mem9|)} assume 3bv32 != #t~mem9;havoc #t~mem9; {2193#false} is VALID [2018-11-23 11:05:28,023 INFO L273 TraceCheckUtils]: 22: Hoare triple {2193#false} assume !false; {2193#false} is VALID [2018-11-23 11:05:28,026 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:05:28,026 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 11:05:28,273 WARN L180 SmtUtils]: Spent 129.00 ms on a formula simplification. DAG size of input: 41 DAG size of output: 39 [2018-11-23 11:05:28,290 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:05:28,317 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:05:28,331 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:05:28,358 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:05:28,474 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 47 treesize of output 39 [2018-11-23 11:05:28,484 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 5 [2018-11-23 11:05:28,486 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:28,495 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:28,500 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 29 [2018-11-23 11:05:28,511 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 3 [2018-11-23 11:05:28,513 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:28,519 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:28,562 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:28,568 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:28,578 INFO L267 ElimStorePlain]: Start of recursive call 13: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:05:28,586 INFO L267 ElimStorePlain]: Start of recursive call 12: 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:05:28,607 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-2 vars, End of recursive call: 2 dim-0 vars, and 2 xjuncts. [2018-11-23 11:05:28,607 INFO L202 ElimStorePlain]: Needed 13 recursive calls to eliminate 3 variables, input treesize:60, output treesize:35 [2018-11-23 11:05:28,687 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:05:28,687 WARN L384 uantifierElimination]: Input elimination task: ∀ [|#memory_int|, |v_#memory_$Pointer$.base_23|, |v_#memory_$Pointer$.offset_21|]. (or (not (= |v_#memory_$Pointer$.offset_21| (store |#memory_$Pointer$.offset| main_~p~0.base (store (select |#memory_$Pointer$.offset| main_~p~0.base) main_~p~0.offset (select (select |v_#memory_$Pointer$.offset_21| main_~p~0.base) main_~p~0.offset))))) (not (= |v_#memory_$Pointer$.base_23| (store |#memory_$Pointer$.base| main_~p~0.base (store (select |#memory_$Pointer$.base| main_~p~0.base) main_~p~0.offset (select (select |v_#memory_$Pointer$.base_23| main_~p~0.base) main_~p~0.offset))))) (= (_ bv3 32) (let ((.cse0 (bvadd main_~a~0.offset (_ bv4 32)))) (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset (_ bv3 32))) (select (select |v_#memory_$Pointer$.base_23| main_~a~0.base) .cse0)) (select (select |v_#memory_$Pointer$.offset_21| main_~a~0.base) .cse0))))) [2018-11-23 11:05:28,687 WARN L385 uantifierElimination]: ElimStorePlain result: ∀ [v_DerPreprocessor_10, v_DerPreprocessor_16]. (let ((.cse0 (bvadd main_~a~0.offset (_ bv4 32)))) (and (= main_~p~0.offset (select (select (store |#memory_$Pointer$.offset| main_~p~0.base (store (select |#memory_$Pointer$.offset| main_~p~0.base) main_~p~0.offset v_DerPreprocessor_10)) main_~a~0.base) .cse0)) (= (select (select (store |#memory_$Pointer$.base| main_~p~0.base (store (select |#memory_$Pointer$.base| main_~p~0.base) main_~p~0.offset v_DerPreprocessor_16)) main_~a~0.base) .cse0) main_~p~0.base))) [2018-11-23 11:05:28,865 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 29 [2018-11-23 11:05:28,954 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 10 [2018-11-23 11:05:28,955 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:29,024 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 19 [2018-11-23 11:05:29,039 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 1 [2018-11-23 11:05:29,041 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:29,048 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:29,126 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 20 treesize of output 24 [2018-11-23 11:05:29,180 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 11 [2018-11-23 11:05:29,205 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:29,274 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2018-11-23 11:05:29,276 INFO L267 ElimStorePlain]: Start of recursive call 8: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:29,308 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 11 [2018-11-23 11:05:29,310 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:29,320 INFO L267 ElimStorePlain]: Start of recursive call 6: 3 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 11:05:29,365 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 7 xjuncts. [2018-11-23 11:05:29,528 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 29 [2018-11-23 11:05:29,591 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 10 [2018-11-23 11:05:29,593 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:29,672 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 20 treesize of output 24 [2018-11-23 11:05:29,683 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 11 [2018-11-23 11:05:29,686 INFO L267 ElimStorePlain]: Start of recursive call 13: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:29,724 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2018-11-23 11:05:29,726 INFO L267 ElimStorePlain]: Start of recursive call 14: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:29,757 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 11 [2018-11-23 11:05:29,761 INFO L267 ElimStorePlain]: Start of recursive call 15: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:29,771 INFO L267 ElimStorePlain]: Start of recursive call 12: 3 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 11:05:29,777 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 19 [2018-11-23 11:05:29,789 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 1 [2018-11-23 11:05:29,789 INFO L267 ElimStorePlain]: Start of recursive call 17: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:29,797 INFO L267 ElimStorePlain]: Start of recursive call 16: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:29,834 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 7 xjuncts. [2018-11-23 11:05:29,990 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 2 dim-2 vars, End of recursive call: and 5 xjuncts. [2018-11-23 11:05:29,990 INFO L202 ElimStorePlain]: Needed 17 recursive calls to eliminate 6 variables, input treesize:75, output treesize:33 [2018-11-23 11:05:30,004 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:05:30,004 WARN L384 uantifierElimination]: Input elimination task: ∀ [|#memory_$Pointer$.offset|, v_main_~p~0.offset_36, v_DerPreprocessor_10, |#memory_$Pointer$.base|, v_prenex_7, v_DerPreprocessor_16]. (let ((.cse1 (bvadd main_~p~0.offset (_ bv4 32))) (.cse2 (bvadd main_~a~0.offset (_ bv4 32)))) (and (= (select (select (let ((.cse0 (store |#memory_$Pointer$.offset| main_~p~0.base (store (select |#memory_$Pointer$.offset| main_~p~0.base) .cse1 v_main_~p~0.offset_36)))) (store .cse0 main_~t~0.base (store (select .cse0 main_~t~0.base) v_main_~p~0.offset_36 v_DerPreprocessor_10))) main_~a~0.base) .cse2) v_main_~p~0.offset_36) (= main_~t~0.base (select (select (let ((.cse3 (store |#memory_$Pointer$.base| main_~p~0.base (store (select |#memory_$Pointer$.base| main_~p~0.base) .cse1 main_~t~0.base)))) (store .cse3 main_~t~0.base (store (select .cse3 main_~t~0.base) v_prenex_7 v_DerPreprocessor_16))) main_~a~0.base) .cse2)))) [2018-11-23 11:05:30,004 WARN L385 uantifierElimination]: ElimStorePlain result: ∀ []. (let ((.cse0 (= main_~p~0.base main_~a~0.base)) (.cse1 (= (bvadd main_~p~0.offset (_ bv4 32)) (bvadd main_~a~0.offset (_ bv4 32)))) (.cse2 (= main_~t~0.base main_~a~0.base))) (and .cse0 .cse1 (not .cse2) (or .cse0 .cse2) (or .cse1 .cse2))) [2018-11-23 11:05:30,276 INFO L273 TraceCheckUtils]: 22: Hoare triple {2193#false} assume !false; {2193#false} is VALID [2018-11-23 11:05:30,277 INFO L273 TraceCheckUtils]: 21: Hoare triple {2263#(= (_ bv3 32) |main_#t~mem9|)} assume 3bv32 != #t~mem9;havoc #t~mem9; {2193#false} is VALID [2018-11-23 11:05:30,277 INFO L273 TraceCheckUtils]: 20: Hoare triple {2253#(= (_ bv3 32) (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} call #t~mem9 := read~intINTTYPE4(~p~0.base, ~p~0.offset, 4bv32); {2263#(= (_ bv3 32) |main_#t~mem9|)} is VALID [2018-11-23 11:05:30,278 INFO L273 TraceCheckUtils]: 19: Hoare triple {2253#(= (_ bv3 32) (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} assume !(2bv32 == #t~mem7);havoc #t~mem7; {2253#(= (_ bv3 32) (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2018-11-23 11:05:30,278 INFO L273 TraceCheckUtils]: 18: Hoare triple {2253#(= (_ bv3 32) (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} call #t~mem7 := read~intINTTYPE4(~p~0.base, ~p~0.offset, 4bv32); {2253#(= (_ bv3 32) (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2018-11-23 11:05:30,279 INFO L273 TraceCheckUtils]: 17: Hoare triple {2285#(= (bvadd (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (bvadd main_~p~0.offset (_ bv4 32)))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (bvadd main_~p~0.offset (_ bv4 32)))) (_ bv4294967293 32)) (_ bv0 32))} assume !!(2bv32 == #t~mem7);havoc #t~mem7;call #t~mem8.base, #t~mem8.offset := read~$Pointer$(~p~0.base, ~bvadd32(4bv32, ~p~0.offset), 4bv32);~p~0.base, ~p~0.offset := #t~mem8.base, #t~mem8.offset;havoc #t~mem8.base, #t~mem8.offset; {2253#(= (_ bv3 32) (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2018-11-23 11:05:30,284 INFO L273 TraceCheckUtils]: 16: Hoare triple {2285#(= (bvadd (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (bvadd main_~p~0.offset (_ bv4 32)))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (bvadd main_~p~0.offset (_ bv4 32)))) (_ bv4294967293 32)) (_ bv0 32))} call #t~mem7 := read~intINTTYPE4(~p~0.base, ~p~0.offset, 4bv32); {2285#(= (bvadd (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (bvadd main_~p~0.offset (_ bv4 32)))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (bvadd main_~p~0.offset (_ bv4 32)))) (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:05:30,284 INFO L273 TraceCheckUtils]: 15: Hoare triple {2285#(= (bvadd (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (bvadd main_~p~0.offset (_ bv4 32)))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (bvadd main_~p~0.offset (_ bv4 32)))) (_ bv4294967293 32)) (_ bv0 32))} assume !(0bv32 != ~flag~0); {2285#(= (bvadd (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (bvadd main_~p~0.offset (_ bv4 32)))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (bvadd main_~p~0.offset (_ bv4 32)))) (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:05:30,288 INFO L273 TraceCheckUtils]: 14: Hoare triple {2295#(and (forall ((v_DerPreprocessor_16 (_ BitVec 32))) (= (select (select (store |#memory_$Pointer$.base| main_~p~0.base (store (select |#memory_$Pointer$.base| main_~p~0.base) main_~p~0.offset v_DerPreprocessor_16)) main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~p~0.base)) (forall ((v_DerPreprocessor_10 (_ BitVec 32))) (= main_~p~0.offset (select (select (store |#memory_$Pointer$.offset| main_~p~0.base (store (select |#memory_$Pointer$.offset| main_~p~0.base) main_~p~0.offset v_DerPreprocessor_10)) main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))))))} call write~intINTTYPE4(3bv32, ~p~0.base, ~p~0.offset, 4bv32);~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {2285#(= (bvadd (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (bvadd main_~p~0.offset (_ bv4 32)))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (bvadd main_~p~0.offset (_ bv4 32)))) (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:05:30,289 INFO L273 TraceCheckUtils]: 13: Hoare triple {2295#(and (forall ((v_DerPreprocessor_16 (_ BitVec 32))) (= (select (select (store |#memory_$Pointer$.base| main_~p~0.base (store (select |#memory_$Pointer$.base| main_~p~0.base) main_~p~0.offset v_DerPreprocessor_16)) main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~p~0.base)) (forall ((v_DerPreprocessor_10 (_ BitVec 32))) (= main_~p~0.offset (select (select (store |#memory_$Pointer$.offset| main_~p~0.base (store (select |#memory_$Pointer$.offset| main_~p~0.base) main_~p~0.offset v_DerPreprocessor_10)) main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))))))} assume !(0bv32 != #t~nondet2);havoc #t~nondet2; {2295#(and (forall ((v_DerPreprocessor_16 (_ BitVec 32))) (= (select (select (store |#memory_$Pointer$.base| main_~p~0.base (store (select |#memory_$Pointer$.base| main_~p~0.base) main_~p~0.offset v_DerPreprocessor_16)) main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~p~0.base)) (forall ((v_DerPreprocessor_10 (_ BitVec 32))) (= main_~p~0.offset (select (select (store |#memory_$Pointer$.offset| main_~p~0.base (store (select |#memory_$Pointer$.offset| main_~p~0.base) main_~p~0.offset v_DerPreprocessor_10)) main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))))))} is VALID [2018-11-23 11:05:30,292 INFO L273 TraceCheckUtils]: 12: Hoare triple {2302#(and (= main_~p~0.base main_~a~0.base) (= main_~p~0.offset main_~a~0.offset) (not (= main_~t~0.base main_~a~0.base)))} call write~$Pointer$(~t~0.base, ~t~0.offset, ~p~0.base, ~bvadd32(4bv32, ~p~0.offset), 4bv32);call #t~mem4.base, #t~mem4.offset := read~$Pointer$(~p~0.base, ~bvadd32(4bv32, ~p~0.offset), 4bv32);~p~0.base, ~p~0.offset := #t~mem4.base, #t~mem4.offset;havoc #t~mem4.base, #t~mem4.offset; {2295#(and (forall ((v_DerPreprocessor_16 (_ BitVec 32))) (= (select (select (store |#memory_$Pointer$.base| main_~p~0.base (store (select |#memory_$Pointer$.base| main_~p~0.base) main_~p~0.offset v_DerPreprocessor_16)) main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~p~0.base)) (forall ((v_DerPreprocessor_10 (_ BitVec 32))) (= main_~p~0.offset (select (select (store |#memory_$Pointer$.offset| main_~p~0.base (store (select |#memory_$Pointer$.offset| main_~p~0.base) main_~p~0.offset v_DerPreprocessor_10)) main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))))))} is VALID [2018-11-23 11:05:30,293 INFO L273 TraceCheckUtils]: 11: Hoare triple {2302#(and (= main_~p~0.base main_~a~0.base) (= main_~p~0.offset main_~a~0.offset) (not (= main_~t~0.base main_~a~0.base)))} assume !(~t~0.base == 0bv32 && ~t~0.offset == 0bv32); {2302#(and (= main_~p~0.base main_~a~0.base) (= main_~p~0.offset main_~a~0.offset) (not (= main_~t~0.base main_~a~0.base)))} is VALID [2018-11-23 11:05:30,294 INFO L273 TraceCheckUtils]: 10: Hoare triple {2309#(and (or (= main_~p~0.base main_~a~0.base) (forall ((|v_main_#t~malloc3.base_4| (_ BitVec 32))) (not (= (_ bv0 1) (select |#valid| |v_main_#t~malloc3.base_4|))))) (not (= (select |#valid| main_~a~0.base) (_ bv0 1))) (or (= main_~p~0.offset main_~a~0.offset) (forall ((v_prenex_10 (_ BitVec 32))) (not (= (_ bv0 1) (select |#valid| v_prenex_10))))))} call #t~malloc3.base, #t~malloc3.offset := #Ultimate.alloc(8bv32);~t~0.base, ~t~0.offset := #t~malloc3.base, #t~malloc3.offset; {2302#(and (= main_~p~0.base main_~a~0.base) (= main_~p~0.offset main_~a~0.offset) (not (= main_~t~0.base main_~a~0.base)))} is VALID [2018-11-23 11:05:30,295 INFO L273 TraceCheckUtils]: 9: Hoare triple {2309#(and (or (= main_~p~0.base main_~a~0.base) (forall ((|v_main_#t~malloc3.base_4| (_ BitVec 32))) (not (= (_ bv0 1) (select |#valid| |v_main_#t~malloc3.base_4|))))) (not (= (select |#valid| main_~a~0.base) (_ bv0 1))) (or (= main_~p~0.offset main_~a~0.offset) (forall ((v_prenex_10 (_ BitVec 32))) (not (= (_ bv0 1) (select |#valid| v_prenex_10))))))} assume !(0bv32 != ~flag~0);call write~intINTTYPE4(2bv32, ~p~0.base, ~p~0.offset, 4bv32); {2309#(and (or (= main_~p~0.base main_~a~0.base) (forall ((|v_main_#t~malloc3.base_4| (_ BitVec 32))) (not (= (_ bv0 1) (select |#valid| |v_main_#t~malloc3.base_4|))))) (not (= (select |#valid| main_~a~0.base) (_ bv0 1))) (or (= main_~p~0.offset main_~a~0.offset) (forall ((v_prenex_10 (_ BitVec 32))) (not (= (_ bv0 1) (select |#valid| v_prenex_10))))))} is VALID [2018-11-23 11:05:30,296 INFO L273 TraceCheckUtils]: 8: Hoare triple {2309#(and (or (= main_~p~0.base main_~a~0.base) (forall ((|v_main_#t~malloc3.base_4| (_ BitVec 32))) (not (= (_ bv0 1) (select |#valid| |v_main_#t~malloc3.base_4|))))) (not (= (select |#valid| main_~a~0.base) (_ bv0 1))) (or (= main_~p~0.offset main_~a~0.offset) (forall ((v_prenex_10 (_ BitVec 32))) (not (= (_ bv0 1) (select |#valid| v_prenex_10))))))} assume !!(0bv32 != #t~nondet2);havoc #t~nondet2; {2309#(and (or (= main_~p~0.base main_~a~0.base) (forall ((|v_main_#t~malloc3.base_4| (_ BitVec 32))) (not (= (_ bv0 1) (select |#valid| |v_main_#t~malloc3.base_4|))))) (not (= (select |#valid| main_~a~0.base) (_ bv0 1))) (or (= main_~p~0.offset main_~a~0.offset) (forall ((v_prenex_10 (_ BitVec 32))) (not (= (_ bv0 1) (select |#valid| v_prenex_10))))))} is VALID [2018-11-23 11:05:30,296 INFO L273 TraceCheckUtils]: 7: Hoare triple {2319#(not (= (select |#valid| main_~a~0.base) (_ bv0 1)))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {2309#(and (or (= main_~p~0.base main_~a~0.base) (forall ((|v_main_#t~malloc3.base_4| (_ BitVec 32))) (not (= (_ bv0 1) (select |#valid| |v_main_#t~malloc3.base_4|))))) (not (= (select |#valid| main_~a~0.base) (_ bv0 1))) (or (= main_~p~0.offset main_~a~0.offset) (forall ((v_prenex_10 (_ BitVec 32))) (not (= (_ bv0 1) (select |#valid| v_prenex_10))))))} is VALID [2018-11-23 11:05:30,297 INFO L273 TraceCheckUtils]: 6: Hoare triple {2319#(not (= (select |#valid| main_~a~0.base) (_ bv0 1)))} assume !(~a~0.base == 0bv32 && ~a~0.offset == 0bv32); {2319#(not (= (select |#valid| main_~a~0.base) (_ bv0 1)))} is VALID [2018-11-23 11:05:30,298 INFO L273 TraceCheckUtils]: 5: Hoare triple {2192#true} ~flag~0 := #t~nondet0;havoc #t~nondet0;havoc ~p~0.base, ~p~0.offset;havoc ~a~0.base, ~a~0.offset;havoc ~t~0.base, ~t~0.offset;call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(8bv32);~a~0.base, ~a~0.offset := #t~malloc1.base, #t~malloc1.offset; {2319#(not (= (select |#valid| main_~a~0.base) (_ bv0 1)))} is VALID [2018-11-23 11:05:30,298 INFO L256 TraceCheckUtils]: 4: Hoare triple {2192#true} call #t~ret10 := main(); {2192#true} is VALID [2018-11-23 11:05:30,298 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2192#true} {2192#true} #90#return; {2192#true} is VALID [2018-11-23 11:05:30,299 INFO L273 TraceCheckUtils]: 2: Hoare triple {2192#true} assume true; {2192#true} is VALID [2018-11-23 11:05:30,299 INFO L273 TraceCheckUtils]: 1: Hoare triple {2192#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {2192#true} is VALID [2018-11-23 11:05:30,299 INFO L256 TraceCheckUtils]: 0: Hoare triple {2192#true} call ULTIMATE.init(); {2192#true} is VALID [2018-11-23 11:05:30,302 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:05:30,304 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:05:30,304 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 14 [2018-11-23 11:05:30,304 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 23 [2018-11-23 11:05:30,304 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:05:30,304 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states. [2018-11-23 11:05:30,363 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:05:30,363 INFO L459 AbstractCegarLoop]: Interpolant automaton has 14 states [2018-11-23 11:05:30,363 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2018-11-23 11:05:30,363 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=149, Unknown=0, NotChecked=0, Total=182 [2018-11-23 11:05:30,363 INFO L87 Difference]: Start difference. First operand 36 states and 40 transitions. Second operand 14 states. [2018-11-23 11:05:32,716 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:32,716 INFO L93 Difference]: Finished difference Result 68 states and 75 transitions. [2018-11-23 11:05:32,717 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-11-23 11:05:32,717 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 23 [2018-11-23 11:05:32,717 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:05:32,717 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-11-23 11:05:32,720 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 60 transitions. [2018-11-23 11:05:32,720 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-11-23 11:05:32,721 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 60 transitions. [2018-11-23 11:05:32,721 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 60 transitions. [2018-11-23 11:05:32,863 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:05:32,865 INFO L225 Difference]: With dead ends: 68 [2018-11-23 11:05:32,865 INFO L226 Difference]: Without dead ends: 64 [2018-11-23 11:05:32,866 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 50 GetRequests, 32 SyntacticMatches, 1 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=73, Invalid=269, Unknown=0, NotChecked=0, Total=342 [2018-11-23 11:05:32,867 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2018-11-23 11:05:32,975 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 52. [2018-11-23 11:05:32,976 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:05:32,976 INFO L82 GeneralOperation]: Start isEquivalent. First operand 64 states. Second operand 52 states. [2018-11-23 11:05:32,976 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand 52 states. [2018-11-23 11:05:32,976 INFO L87 Difference]: Start difference. First operand 64 states. Second operand 52 states. [2018-11-23 11:05:32,980 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:32,980 INFO L93 Difference]: Finished difference Result 64 states and 70 transitions. [2018-11-23 11:05:32,980 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 70 transitions. [2018-11-23 11:05:32,980 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:05:32,980 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:05:32,980 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand 64 states. [2018-11-23 11:05:32,981 INFO L87 Difference]: Start difference. First operand 52 states. Second operand 64 states. [2018-11-23 11:05:32,983 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:32,983 INFO L93 Difference]: Finished difference Result 64 states and 70 transitions. [2018-11-23 11:05:32,983 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 70 transitions. [2018-11-23 11:05:32,983 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:05:32,983 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:05:32,984 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:05:32,984 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:05:32,984 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 52 states. [2018-11-23 11:05:32,985 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 58 transitions. [2018-11-23 11:05:32,986 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 58 transitions. Word has length 23 [2018-11-23 11:05:32,986 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:05:32,986 INFO L480 AbstractCegarLoop]: Abstraction has 52 states and 58 transitions. [2018-11-23 11:05:32,986 INFO L481 AbstractCegarLoop]: Interpolant automaton has 14 states. [2018-11-23 11:05:32,986 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 58 transitions. [2018-11-23 11:05:32,987 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2018-11-23 11:05:32,987 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:05:32,987 INFO L402 BasicCegarLoop]: trace histogram [3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:05:32,987 INFO L423 AbstractCegarLoop]: === Iteration 10 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:05:32,987 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:05:32,988 INFO L82 PathProgramCache]: Analyzing trace with hash -2088970235, now seen corresponding path program 2 times [2018-11-23 11:05:32,988 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:05:32,988 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 11 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 11 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:05:33,016 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2018-11-23 11:05:33,097 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 11:05:33,098 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 11:05:33,116 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:05:33,117 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:05:33,148 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2018-11-23 11:05:33,151 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:33,158 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:33,158 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:10, output treesize:9 [2018-11-23 11:05:33,161 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:05:33,161 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#valid_32|]. (and (= |#valid| (store |v_#valid_32| main_~a~0.base (_ bv1 1))) (= main_~a~0.offset (_ bv0 32))) [2018-11-23 11:05:33,161 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= main_~a~0.offset (_ bv0 32)) (= (select |#valid| main_~a~0.base) (_ bv1 1))) [2018-11-23 11:05:33,224 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:05:33,225 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:05:33,226 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 4 [2018-11-23 11:05:33,228 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:33,240 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:33,241 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:22, output treesize:14 [2018-11-23 11:05:33,245 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:05:33,245 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#valid_33|]. (and (= (_ bv0 1) (bvadd (select |v_#valid_33| main_~a~0.base) (_ bv1 1))) (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= main_~a~0.offset main_~p~0.offset) (= (_ bv0 1) (select |v_#valid_33| main_~t~0.base))) [2018-11-23 11:05:33,246 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= main_~a~0.offset main_~p~0.offset) (not (= main_~t~0.base main_~a~0.base))) [2018-11-23 11:05:33,308 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 10 [2018-11-23 11:05:33,316 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 10 treesize of output 9 [2018-11-23 11:05:33,318 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:33,325 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:33,371 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 10 [2018-11-23 11:05:33,379 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 10 treesize of output 9 [2018-11-23 11:05:33,381 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:33,386 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:33,419 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:33,419 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 4 variables, input treesize:52, output treesize:32 [2018-11-23 11:05:33,451 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:05:33,452 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_$Pointer$.base_26|, main_~t~0.base, |v_#memory_$Pointer$.offset_24|, main_~t~0.offset]. (let ((.cse0 (bvadd main_~a~0.offset (_ bv4 32)))) (and (= main_~a~0.offset (_ bv0 32)) (= (store |v_#memory_$Pointer$.base_26| main_~a~0.base (store (select |v_#memory_$Pointer$.base_26| main_~a~0.base) .cse0 main_~t~0.base)) |#memory_$Pointer$.base|) (= (select (select |#memory_$Pointer$.base| main_~a~0.base) .cse0) main_~p~0.base) (= (store |v_#memory_$Pointer$.offset_24| main_~a~0.base (store (select |v_#memory_$Pointer$.offset_24| main_~a~0.base) .cse0 main_~t~0.offset)) |#memory_$Pointer$.offset|) (= main_~p~0.offset (select (select |#memory_$Pointer$.offset| main_~a~0.base) .cse0)) (not (= main_~t~0.base main_~a~0.base)))) [2018-11-23 11:05:33,452 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse1 (bvadd main_~a~0.offset (_ bv4 32)))) (let ((.cse0 (select (select |#memory_$Pointer$.base| main_~a~0.base) .cse1))) (and (= main_~a~0.offset (_ bv0 32)) (not (= .cse0 main_~a~0.base)) (= .cse0 main_~p~0.base) (= main_~p~0.offset (select (select |#memory_$Pointer$.offset| main_~a~0.base) .cse1))))) [2018-11-23 11:05:33,527 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 16 [2018-11-23 11:05:33,535 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 15 [2018-11-23 11:05:33,536 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:33,545 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:33,616 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 94 treesize of output 90 [2018-11-23 11:05:33,623 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 1 [2018-11-23 11:05:33,625 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:33,645 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:33,687 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 51 treesize of output 52 [2018-11-23 11:05:33,692 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 1 [2018-11-23 11:05:33,693 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:33,700 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:33,711 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:33,712 INFO L202 ElimStorePlain]: Needed 7 recursive calls to eliminate 3 variables, input treesize:105, output treesize:27 [2018-11-23 11:05:33,788 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:05:33,788 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_$Pointer$.base_27|, |v_#memory_int_33|, |v_#memory_$Pointer$.offset_25|]. (let ((.cse0 (select (select |v_#memory_$Pointer$.base_27| main_~p~0.base) (_ bv4 32))) (.cse1 (select (select |v_#memory_$Pointer$.offset_25| main_~p~0.base) (_ bv4 32)))) (and (= main_~p~0.offset (_ bv0 32)) (= (store |v_#memory_int_33| .cse0 (store (select |v_#memory_int_33| .cse0) .cse1 (_ bv3 32))) |#memory_int|) (not (= main_~p~0.base .cse0)) (= |#memory_$Pointer$.base| (store |v_#memory_$Pointer$.base_27| .cse0 (store (select |v_#memory_$Pointer$.base_27| .cse0) .cse1 (select (select |#memory_$Pointer$.base| .cse0) .cse1)))) (= |#memory_$Pointer$.offset| (store |v_#memory_$Pointer$.offset_25| .cse0 (store (select |v_#memory_$Pointer$.offset_25| .cse0) .cse1 (select (select |#memory_$Pointer$.offset| .cse0) .cse1)))))) [2018-11-23 11:05:33,788 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32)))) (and (= main_~p~0.offset (_ bv0 32)) (= (select (select |#memory_int| .cse0) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32))) (_ bv3 32)) (not (= .cse0 main_~p~0.base)))) [2018-11-23 11:05:33,840 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 21 [2018-11-23 11:05:33,845 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 13 [2018-11-23 11:05:33,847 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:33,853 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:33,867 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 23 [2018-11-23 11:05:33,878 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 14 [2018-11-23 11:05:33,879 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:33,888 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:33,900 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:33,901 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:40, output treesize:9 [2018-11-23 11:05:33,904 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:05:33,904 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_$Pointer$.base|, v_main_~p~0.base_41, |#memory_$Pointer$.offset|]. (let ((.cse0 (select (select |#memory_$Pointer$.base| v_main_~p~0.base_41) (_ bv4 32))) (.cse1 (select (select |#memory_$Pointer$.offset| v_main_~p~0.base_41) (_ bv4 32)))) (and (= (bvadd (select (select |#memory_int| .cse0) .cse1) (_ bv4294967293 32)) (_ bv0 32)) (= main_~p~0.base .cse0) (not (= v_main_~p~0.base_41 .cse0)) (= main_~p~0.offset .cse1))) [2018-11-23 11:05:33,905 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (= (_ bv0 32) (bvadd (select (select |#memory_int| main_~p~0.base) main_~p~0.offset) (_ bv4294967293 32))) [2018-11-23 11:05:33,930 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2018-11-23 11:05:33,935 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 3 [2018-11-23 11:05:33,936 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:33,938 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:33,939 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:33,939 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:15, output treesize:3 [2018-11-23 11:05:33,943 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:05:33,943 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, main_~p~0.base, main_~p~0.offset]. (let ((.cse0 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))) (and (= (_ bv3 32) .cse0) (= .cse0 |main_#t~mem7|))) [2018-11-23 11:05:33,943 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (= (_ bv3 32) |main_#t~mem7|) [2018-11-23 11:05:33,960 INFO L256 TraceCheckUtils]: 0: Hoare triple {2633#true} call ULTIMATE.init(); {2633#true} is VALID [2018-11-23 11:05:33,961 INFO L273 TraceCheckUtils]: 1: Hoare triple {2633#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {2633#true} is VALID [2018-11-23 11:05:33,961 INFO L273 TraceCheckUtils]: 2: Hoare triple {2633#true} assume true; {2633#true} is VALID [2018-11-23 11:05:33,961 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2633#true} {2633#true} #90#return; {2633#true} is VALID [2018-11-23 11:05:33,961 INFO L256 TraceCheckUtils]: 4: Hoare triple {2633#true} call #t~ret10 := main(); {2633#true} is VALID [2018-11-23 11:05:33,963 INFO L273 TraceCheckUtils]: 5: Hoare triple {2633#true} ~flag~0 := #t~nondet0;havoc #t~nondet0;havoc ~p~0.base, ~p~0.offset;havoc ~a~0.base, ~a~0.offset;havoc ~t~0.base, ~t~0.offset;call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(8bv32);~a~0.base, ~a~0.offset := #t~malloc1.base, #t~malloc1.offset; {2653#(and (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)))} is VALID [2018-11-23 11:05:33,964 INFO L273 TraceCheckUtils]: 6: Hoare triple {2653#(and (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)))} assume !(~a~0.base == 0bv32 && ~a~0.offset == 0bv32); {2653#(and (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)))} is VALID [2018-11-23 11:05:33,965 INFO L273 TraceCheckUtils]: 7: Hoare triple {2653#(and (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {2660#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2018-11-23 11:05:33,966 INFO L273 TraceCheckUtils]: 8: Hoare triple {2660#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)) (= main_~a~0.offset main_~p~0.offset))} assume !!(0bv32 != #t~nondet2);havoc #t~nondet2; {2660#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2018-11-23 11:05:33,968 INFO L273 TraceCheckUtils]: 9: Hoare triple {2660#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)) (= main_~a~0.offset main_~p~0.offset))} assume !(0bv32 != ~flag~0);call write~intINTTYPE4(2bv32, ~p~0.base, ~p~0.offset, 4bv32); {2660#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2018-11-23 11:05:33,970 INFO L273 TraceCheckUtils]: 10: Hoare triple {2660#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)) (= main_~a~0.offset main_~p~0.offset))} call #t~malloc3.base, #t~malloc3.offset := #Ultimate.alloc(8bv32);~t~0.base, ~t~0.offset := #t~malloc3.base, #t~malloc3.offset; {2670#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= main_~a~0.offset main_~p~0.offset) (not (= main_~t~0.base main_~a~0.base)))} is VALID [2018-11-23 11:05:33,971 INFO L273 TraceCheckUtils]: 11: Hoare triple {2670#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= main_~a~0.offset main_~p~0.offset) (not (= main_~t~0.base main_~a~0.base)))} assume !(~t~0.base == 0bv32 && ~t~0.offset == 0bv32); {2670#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= main_~a~0.offset main_~p~0.offset) (not (= main_~t~0.base main_~a~0.base)))} is VALID [2018-11-23 11:05:33,973 INFO L273 TraceCheckUtils]: 12: Hoare triple {2670#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= main_~a~0.offset main_~p~0.offset) (not (= main_~t~0.base main_~a~0.base)))} call write~$Pointer$(~t~0.base, ~t~0.offset, ~p~0.base, ~bvadd32(4bv32, ~p~0.offset), 4bv32);call #t~mem4.base, #t~mem4.offset := read~$Pointer$(~p~0.base, ~bvadd32(4bv32, ~p~0.offset), 4bv32);~p~0.base, ~p~0.offset := #t~mem4.base, #t~mem4.offset;havoc #t~mem4.base, #t~mem4.offset; {2677#(and (= main_~a~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~a~0.base)) (= (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~p~0.base) (= main_~p~0.offset (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))))} is VALID [2018-11-23 11:05:33,973 INFO L273 TraceCheckUtils]: 13: Hoare triple {2677#(and (= main_~a~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~a~0.base)) (= (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~p~0.base) (= main_~p~0.offset (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))))} assume !(0bv32 != #t~nondet2);havoc #t~nondet2; {2677#(and (= main_~a~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~a~0.base)) (= (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~p~0.base) (= main_~p~0.offset (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))))} is VALID [2018-11-23 11:05:33,976 INFO L273 TraceCheckUtils]: 14: Hoare triple {2677#(and (= main_~a~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~a~0.base)) (= (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~p~0.base) (= main_~p~0.offset (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))))} call write~intINTTYPE4(3bv32, ~p~0.base, ~p~0.offset, 4bv32);~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {2684#(and (= main_~p~0.offset (_ bv0 32)) (= (bvadd (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32))) (_ bv4294967293 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32)) main_~p~0.base)))} is VALID [2018-11-23 11:05:33,979 INFO L273 TraceCheckUtils]: 15: Hoare triple {2684#(and (= main_~p~0.offset (_ bv0 32)) (= (bvadd (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32))) (_ bv4294967293 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32)) main_~p~0.base)))} assume !(0bv32 != ~flag~0); {2684#(and (= main_~p~0.offset (_ bv0 32)) (= (bvadd (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32))) (_ bv4294967293 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32)) main_~p~0.base)))} is VALID [2018-11-23 11:05:33,983 INFO L273 TraceCheckUtils]: 16: Hoare triple {2684#(and (= main_~p~0.offset (_ bv0 32)) (= (bvadd (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32))) (_ bv4294967293 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32)) main_~p~0.base)))} call #t~mem7 := read~intINTTYPE4(~p~0.base, ~p~0.offset, 4bv32); {2684#(and (= main_~p~0.offset (_ bv0 32)) (= (bvadd (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32))) (_ bv4294967293 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32)) main_~p~0.base)))} is VALID [2018-11-23 11:05:33,984 INFO L273 TraceCheckUtils]: 17: Hoare triple {2684#(and (= main_~p~0.offset (_ bv0 32)) (= (bvadd (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32))) (_ bv4294967293 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32)) main_~p~0.base)))} assume !!(2bv32 == #t~mem7);havoc #t~mem7;call #t~mem8.base, #t~mem8.offset := read~$Pointer$(~p~0.base, ~bvadd32(4bv32, ~p~0.offset), 4bv32);~p~0.base, ~p~0.offset := #t~mem8.base, #t~mem8.offset;havoc #t~mem8.base, #t~mem8.offset; {2694#(= (_ bv3 32) (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2018-11-23 11:05:33,985 INFO L273 TraceCheckUtils]: 18: Hoare triple {2694#(= (_ bv3 32) (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} call #t~mem7 := read~intINTTYPE4(~p~0.base, ~p~0.offset, 4bv32); {2698#(= (_ bv3 32) |main_#t~mem7|)} is VALID [2018-11-23 11:05:33,985 INFO L273 TraceCheckUtils]: 19: Hoare triple {2698#(= (_ bv3 32) |main_#t~mem7|)} assume !!(2bv32 == #t~mem7);havoc #t~mem7;call #t~mem8.base, #t~mem8.offset := read~$Pointer$(~p~0.base, ~bvadd32(4bv32, ~p~0.offset), 4bv32);~p~0.base, ~p~0.offset := #t~mem8.base, #t~mem8.offset;havoc #t~mem8.base, #t~mem8.offset; {2634#false} is VALID [2018-11-23 11:05:33,986 INFO L273 TraceCheckUtils]: 20: Hoare triple {2634#false} call #t~mem7 := read~intINTTYPE4(~p~0.base, ~p~0.offset, 4bv32); {2634#false} is VALID [2018-11-23 11:05:33,986 INFO L273 TraceCheckUtils]: 21: Hoare triple {2634#false} assume !(2bv32 == #t~mem7);havoc #t~mem7; {2634#false} is VALID [2018-11-23 11:05:33,986 INFO L273 TraceCheckUtils]: 22: Hoare triple {2634#false} call #t~mem9 := read~intINTTYPE4(~p~0.base, ~p~0.offset, 4bv32); {2634#false} is VALID [2018-11-23 11:05:33,986 INFO L273 TraceCheckUtils]: 23: Hoare triple {2634#false} assume 3bv32 != #t~mem9;havoc #t~mem9; {2634#false} is VALID [2018-11-23 11:05:33,986 INFO L273 TraceCheckUtils]: 24: Hoare triple {2634#false} assume !false; {2634#false} is VALID [2018-11-23 11:05:33,988 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 4 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:05:33,988 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 11:05:34,222 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 24 [2018-11-23 11:05:34,237 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 14 treesize of output 1 [2018-11-23 11:05:34,238 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:34,250 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:34,257 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 24 [2018-11-23 11:05:34,267 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 14 treesize of output 1 [2018-11-23 11:05:34,268 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:34,279 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:34,339 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:05:34,349 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:05:34,359 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:34,367 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:34,410 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:34,417 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:34,430 INFO L267 ElimStorePlain]: Start of recursive call 13: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:05:34,438 INFO L267 ElimStorePlain]: Start of recursive call 12: 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:05:34,461 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-2 vars, End of recursive call: 2 dim-0 vars, and 2 xjuncts. [2018-11-23 11:05:34,461 INFO L202 ElimStorePlain]: Needed 13 recursive calls to eliminate 3 variables, input treesize:61, output treesize:35 [2018-11-23 11:05:36,473 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:05:36,474 WARN L384 uantifierElimination]: Input elimination task: ∀ [|#memory_int|, |v_#memory_$Pointer$.base_28|, |v_#memory_$Pointer$.offset_26|]. (or (not (= |v_#memory_$Pointer$.offset_26| (store |#memory_$Pointer$.offset| main_~p~0.base (store (select |#memory_$Pointer$.offset| main_~p~0.base) main_~p~0.offset (select (select |v_#memory_$Pointer$.offset_26| main_~p~0.base) main_~p~0.offset))))) (not (= (_ bv2 32) (let ((.cse0 (bvadd main_~a~0.offset (_ bv4 32)))) (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset (_ bv3 32))) (select (select |v_#memory_$Pointer$.base_28| main_~a~0.base) .cse0)) (select (select |v_#memory_$Pointer$.offset_26| main_~a~0.base) .cse0))))) (not (= |v_#memory_$Pointer$.base_28| (store |#memory_$Pointer$.base| main_~p~0.base (store (select |#memory_$Pointer$.base| main_~p~0.base) main_~p~0.offset (select (select |v_#memory_$Pointer$.base_28| main_~p~0.base) main_~p~0.offset)))))) [2018-11-23 11:05:36,474 WARN L385 uantifierElimination]: ElimStorePlain result: ∀ [v_DerPreprocessor_18, v_DerPreprocessor_24]. (let ((.cse0 (bvadd main_~a~0.offset (_ bv4 32)))) (and (= main_~p~0.base (select (select (store |#memory_$Pointer$.base| main_~p~0.base (store (select |#memory_$Pointer$.base| main_~p~0.base) main_~p~0.offset v_DerPreprocessor_18)) main_~a~0.base) .cse0)) (= main_~p~0.offset (select (select (store |#memory_$Pointer$.offset| main_~p~0.base (store (select |#memory_$Pointer$.offset| main_~p~0.base) main_~p~0.offset v_DerPreprocessor_24)) main_~a~0.base) .cse0)))) [2018-11-23 11:05:36,661 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 29 [2018-11-23 11:05:36,745 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 10 [2018-11-23 11:05:36,747 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:36,836 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 20 treesize of output 24 [2018-11-23 11:05:36,850 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 15 [2018-11-23 11:05:36,854 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:36,896 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 11 [2018-11-23 11:05:36,904 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:36,931 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 3 [2018-11-23 11:05:36,932 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:36,943 INFO L267 ElimStorePlain]: Start of recursive call 4: 3 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 11:05:36,949 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 19 [2018-11-23 11:05:36,956 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 1 [2018-11-23 11:05:36,957 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:36,965 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:37,007 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 7 xjuncts. [2018-11-23 11:05:37,193 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 29 [2018-11-23 11:05:37,279 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 10 [2018-11-23 11:05:37,281 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:37,363 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 20 treesize of output 24 [2018-11-23 11:05:37,384 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 15 [2018-11-23 11:05:37,387 INFO L267 ElimStorePlain]: Start of recursive call 13: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:37,426 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 11 [2018-11-23 11:05:37,432 INFO L267 ElimStorePlain]: Start of recursive call 14: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:37,458 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 3 [2018-11-23 11:05:37,459 INFO L267 ElimStorePlain]: Start of recursive call 15: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:37,470 INFO L267 ElimStorePlain]: Start of recursive call 12: 3 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 11:05:37,475 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 19 [2018-11-23 11:05:37,483 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 1 [2018-11-23 11:05:37,485 INFO L267 ElimStorePlain]: Start of recursive call 17: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:37,492 INFO L267 ElimStorePlain]: Start of recursive call 16: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:37,546 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 7 xjuncts. [2018-11-23 11:05:37,792 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 2 dim-2 vars, End of recursive call: and 5 xjuncts. [2018-11-23 11:05:37,792 INFO L202 ElimStorePlain]: Needed 17 recursive calls to eliminate 6 variables, input treesize:75, output treesize:33 [2018-11-23 11:05:37,813 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:05:37,813 WARN L384 uantifierElimination]: Input elimination task: ∀ [|#memory_$Pointer$.base|, v_prenex_11, v_DerPreprocessor_18, |#memory_$Pointer$.offset|, main_~t~0.offset, v_DerPreprocessor_24]. (let ((.cse1 (bvadd main_~p~0.offset (_ bv4 32))) (.cse2 (bvadd main_~a~0.offset (_ bv4 32)))) (and (= main_~t~0.base (select (select (let ((.cse0 (store |#memory_$Pointer$.base| main_~p~0.base (store (select |#memory_$Pointer$.base| main_~p~0.base) .cse1 main_~t~0.base)))) (store .cse0 main_~t~0.base (store (select .cse0 main_~t~0.base) v_prenex_11 v_DerPreprocessor_18))) main_~a~0.base) .cse2)) (= (select (select (let ((.cse3 (store |#memory_$Pointer$.offset| main_~p~0.base (store (select |#memory_$Pointer$.offset| main_~p~0.base) .cse1 main_~t~0.offset)))) (store .cse3 main_~t~0.base (store (select .cse3 main_~t~0.base) main_~t~0.offset v_DerPreprocessor_24))) main_~a~0.base) .cse2) main_~t~0.offset))) [2018-11-23 11:05:37,813 WARN L385 uantifierElimination]: ElimStorePlain result: ∀ []. (let ((.cse0 (= main_~p~0.base main_~a~0.base)) (.cse1 (= (bvadd main_~p~0.offset (_ bv4 32)) (bvadd main_~a~0.offset (_ bv4 32)))) (.cse2 (= main_~t~0.base main_~a~0.base))) (and .cse0 .cse1 (not .cse2) (or .cse0 .cse2) (or .cse1 .cse2))) [2018-11-23 11:05:38,089 INFO L273 TraceCheckUtils]: 24: Hoare triple {2634#false} assume !false; {2634#false} is VALID [2018-11-23 11:05:38,089 INFO L273 TraceCheckUtils]: 23: Hoare triple {2634#false} assume 3bv32 != #t~mem9;havoc #t~mem9; {2634#false} is VALID [2018-11-23 11:05:38,090 INFO L273 TraceCheckUtils]: 22: Hoare triple {2634#false} call #t~mem9 := read~intINTTYPE4(~p~0.base, ~p~0.offset, 4bv32); {2634#false} is VALID [2018-11-23 11:05:38,090 INFO L273 TraceCheckUtils]: 21: Hoare triple {2634#false} assume !(2bv32 == #t~mem7);havoc #t~mem7; {2634#false} is VALID [2018-11-23 11:05:38,090 INFO L273 TraceCheckUtils]: 20: Hoare triple {2634#false} call #t~mem7 := read~intINTTYPE4(~p~0.base, ~p~0.offset, 4bv32); {2634#false} is VALID [2018-11-23 11:05:38,091 INFO L273 TraceCheckUtils]: 19: Hoare triple {2732#(not (= (_ bv2 32) |main_#t~mem7|))} assume !!(2bv32 == #t~mem7);havoc #t~mem7;call #t~mem8.base, #t~mem8.offset := read~$Pointer$(~p~0.base, ~bvadd32(4bv32, ~p~0.offset), 4bv32);~p~0.base, ~p~0.offset := #t~mem8.base, #t~mem8.offset;havoc #t~mem8.base, #t~mem8.offset; {2634#false} is VALID [2018-11-23 11:05:38,092 INFO L273 TraceCheckUtils]: 18: Hoare triple {2736#(not (= (bvadd (select (select |#memory_int| main_~p~0.base) main_~p~0.offset) (_ bv4294967294 32)) (_ bv0 32)))} call #t~mem7 := read~intINTTYPE4(~p~0.base, ~p~0.offset, 4bv32); {2732#(not (= (_ bv2 32) |main_#t~mem7|))} is VALID [2018-11-23 11:05:38,093 INFO L273 TraceCheckUtils]: 17: Hoare triple {2740#(not (= (bvadd (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (bvadd main_~p~0.offset (_ bv4 32)))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (bvadd main_~p~0.offset (_ bv4 32)))) (_ bv4294967294 32)) (_ bv0 32)))} assume !!(2bv32 == #t~mem7);havoc #t~mem7;call #t~mem8.base, #t~mem8.offset := read~$Pointer$(~p~0.base, ~bvadd32(4bv32, ~p~0.offset), 4bv32);~p~0.base, ~p~0.offset := #t~mem8.base, #t~mem8.offset;havoc #t~mem8.base, #t~mem8.offset; {2736#(not (= (bvadd (select (select |#memory_int| main_~p~0.base) main_~p~0.offset) (_ bv4294967294 32)) (_ bv0 32)))} is VALID [2018-11-23 11:05:38,094 INFO L273 TraceCheckUtils]: 16: Hoare triple {2740#(not (= (bvadd (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (bvadd main_~p~0.offset (_ bv4 32)))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (bvadd main_~p~0.offset (_ bv4 32)))) (_ bv4294967294 32)) (_ bv0 32)))} call #t~mem7 := read~intINTTYPE4(~p~0.base, ~p~0.offset, 4bv32); {2740#(not (= (bvadd (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (bvadd main_~p~0.offset (_ bv4 32)))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (bvadd main_~p~0.offset (_ bv4 32)))) (_ bv4294967294 32)) (_ bv0 32)))} is VALID [2018-11-23 11:05:38,095 INFO L273 TraceCheckUtils]: 15: Hoare triple {2740#(not (= (bvadd (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (bvadd main_~p~0.offset (_ bv4 32)))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (bvadd main_~p~0.offset (_ bv4 32)))) (_ bv4294967294 32)) (_ bv0 32)))} assume !(0bv32 != ~flag~0); {2740#(not (= (bvadd (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (bvadd main_~p~0.offset (_ bv4 32)))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (bvadd main_~p~0.offset (_ bv4 32)))) (_ bv4294967294 32)) (_ bv0 32)))} is VALID [2018-11-23 11:05:38,100 INFO L273 TraceCheckUtils]: 14: Hoare triple {2750#(and (forall ((v_DerPreprocessor_18 (_ BitVec 32))) (= main_~p~0.base (select (select (store |#memory_$Pointer$.base| main_~p~0.base (store (select |#memory_$Pointer$.base| main_~p~0.base) main_~p~0.offset v_DerPreprocessor_18)) main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))))) (forall ((v_DerPreprocessor_24 (_ BitVec 32))) (= main_~p~0.offset (select (select (store |#memory_$Pointer$.offset| main_~p~0.base (store (select |#memory_$Pointer$.offset| main_~p~0.base) main_~p~0.offset v_DerPreprocessor_24)) main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))))))} call write~intINTTYPE4(3bv32, ~p~0.base, ~p~0.offset, 4bv32);~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {2740#(not (= (bvadd (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (bvadd main_~p~0.offset (_ bv4 32)))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (bvadd main_~p~0.offset (_ bv4 32)))) (_ bv4294967294 32)) (_ bv0 32)))} is VALID [2018-11-23 11:05:38,101 INFO L273 TraceCheckUtils]: 13: Hoare triple {2750#(and (forall ((v_DerPreprocessor_18 (_ BitVec 32))) (= main_~p~0.base (select (select (store |#memory_$Pointer$.base| main_~p~0.base (store (select |#memory_$Pointer$.base| main_~p~0.base) main_~p~0.offset v_DerPreprocessor_18)) main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))))) (forall ((v_DerPreprocessor_24 (_ BitVec 32))) (= main_~p~0.offset (select (select (store |#memory_$Pointer$.offset| main_~p~0.base (store (select |#memory_$Pointer$.offset| main_~p~0.base) main_~p~0.offset v_DerPreprocessor_24)) main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))))))} assume !(0bv32 != #t~nondet2);havoc #t~nondet2; {2750#(and (forall ((v_DerPreprocessor_18 (_ BitVec 32))) (= main_~p~0.base (select (select (store |#memory_$Pointer$.base| main_~p~0.base (store (select |#memory_$Pointer$.base| main_~p~0.base) main_~p~0.offset v_DerPreprocessor_18)) main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))))) (forall ((v_DerPreprocessor_24 (_ BitVec 32))) (= main_~p~0.offset (select (select (store |#memory_$Pointer$.offset| main_~p~0.base (store (select |#memory_$Pointer$.offset| main_~p~0.base) main_~p~0.offset v_DerPreprocessor_24)) main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))))))} is VALID [2018-11-23 11:05:38,105 INFO L273 TraceCheckUtils]: 12: Hoare triple {2757#(and (= main_~p~0.base main_~a~0.base) (= main_~p~0.offset main_~a~0.offset) (not (= main_~t~0.base main_~a~0.base)))} call write~$Pointer$(~t~0.base, ~t~0.offset, ~p~0.base, ~bvadd32(4bv32, ~p~0.offset), 4bv32);call #t~mem4.base, #t~mem4.offset := read~$Pointer$(~p~0.base, ~bvadd32(4bv32, ~p~0.offset), 4bv32);~p~0.base, ~p~0.offset := #t~mem4.base, #t~mem4.offset;havoc #t~mem4.base, #t~mem4.offset; {2750#(and (forall ((v_DerPreprocessor_18 (_ BitVec 32))) (= main_~p~0.base (select (select (store |#memory_$Pointer$.base| main_~p~0.base (store (select |#memory_$Pointer$.base| main_~p~0.base) main_~p~0.offset v_DerPreprocessor_18)) main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))))) (forall ((v_DerPreprocessor_24 (_ BitVec 32))) (= main_~p~0.offset (select (select (store |#memory_$Pointer$.offset| main_~p~0.base (store (select |#memory_$Pointer$.offset| main_~p~0.base) main_~p~0.offset v_DerPreprocessor_24)) main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))))))} is VALID [2018-11-23 11:05:38,106 INFO L273 TraceCheckUtils]: 11: Hoare triple {2757#(and (= main_~p~0.base main_~a~0.base) (= main_~p~0.offset main_~a~0.offset) (not (= main_~t~0.base main_~a~0.base)))} assume !(~t~0.base == 0bv32 && ~t~0.offset == 0bv32); {2757#(and (= main_~p~0.base main_~a~0.base) (= main_~p~0.offset main_~a~0.offset) (not (= main_~t~0.base main_~a~0.base)))} is VALID [2018-11-23 11:05:38,108 INFO L273 TraceCheckUtils]: 10: Hoare triple {2764#(and (not (= (select |#valid| main_~a~0.base) (_ bv0 1))) (or (= main_~p~0.base main_~a~0.base) (forall ((v_prenex_14 (_ BitVec 32))) (not (= (select |#valid| v_prenex_14) (_ bv0 1))))) (or (= main_~p~0.offset main_~a~0.offset) (forall ((v_main_~t~0.base_12 (_ BitVec 32))) (not (= (select |#valid| v_main_~t~0.base_12) (_ bv0 1))))))} call #t~malloc3.base, #t~malloc3.offset := #Ultimate.alloc(8bv32);~t~0.base, ~t~0.offset := #t~malloc3.base, #t~malloc3.offset; {2757#(and (= main_~p~0.base main_~a~0.base) (= main_~p~0.offset main_~a~0.offset) (not (= main_~t~0.base main_~a~0.base)))} is VALID [2018-11-23 11:05:38,108 INFO L273 TraceCheckUtils]: 9: Hoare triple {2764#(and (not (= (select |#valid| main_~a~0.base) (_ bv0 1))) (or (= main_~p~0.base main_~a~0.base) (forall ((v_prenex_14 (_ BitVec 32))) (not (= (select |#valid| v_prenex_14) (_ bv0 1))))) (or (= main_~p~0.offset main_~a~0.offset) (forall ((v_main_~t~0.base_12 (_ BitVec 32))) (not (= (select |#valid| v_main_~t~0.base_12) (_ bv0 1))))))} assume !(0bv32 != ~flag~0);call write~intINTTYPE4(2bv32, ~p~0.base, ~p~0.offset, 4bv32); {2764#(and (not (= (select |#valid| main_~a~0.base) (_ bv0 1))) (or (= main_~p~0.base main_~a~0.base) (forall ((v_prenex_14 (_ BitVec 32))) (not (= (select |#valid| v_prenex_14) (_ bv0 1))))) (or (= main_~p~0.offset main_~a~0.offset) (forall ((v_main_~t~0.base_12 (_ BitVec 32))) (not (= (select |#valid| v_main_~t~0.base_12) (_ bv0 1))))))} is VALID [2018-11-23 11:05:38,109 INFO L273 TraceCheckUtils]: 8: Hoare triple {2764#(and (not (= (select |#valid| main_~a~0.base) (_ bv0 1))) (or (= main_~p~0.base main_~a~0.base) (forall ((v_prenex_14 (_ BitVec 32))) (not (= (select |#valid| v_prenex_14) (_ bv0 1))))) (or (= main_~p~0.offset main_~a~0.offset) (forall ((v_main_~t~0.base_12 (_ BitVec 32))) (not (= (select |#valid| v_main_~t~0.base_12) (_ bv0 1))))))} assume !!(0bv32 != #t~nondet2);havoc #t~nondet2; {2764#(and (not (= (select |#valid| main_~a~0.base) (_ bv0 1))) (or (= main_~p~0.base main_~a~0.base) (forall ((v_prenex_14 (_ BitVec 32))) (not (= (select |#valid| v_prenex_14) (_ bv0 1))))) (or (= main_~p~0.offset main_~a~0.offset) (forall ((v_main_~t~0.base_12 (_ BitVec 32))) (not (= (select |#valid| v_main_~t~0.base_12) (_ bv0 1))))))} is VALID [2018-11-23 11:05:38,109 INFO L273 TraceCheckUtils]: 7: Hoare triple {2774#(not (= (select |#valid| main_~a~0.base) (_ bv0 1)))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {2764#(and (not (= (select |#valid| main_~a~0.base) (_ bv0 1))) (or (= main_~p~0.base main_~a~0.base) (forall ((v_prenex_14 (_ BitVec 32))) (not (= (select |#valid| v_prenex_14) (_ bv0 1))))) (or (= main_~p~0.offset main_~a~0.offset) (forall ((v_main_~t~0.base_12 (_ BitVec 32))) (not (= (select |#valid| v_main_~t~0.base_12) (_ bv0 1))))))} is VALID [2018-11-23 11:05:38,110 INFO L273 TraceCheckUtils]: 6: Hoare triple {2774#(not (= (select |#valid| main_~a~0.base) (_ bv0 1)))} assume !(~a~0.base == 0bv32 && ~a~0.offset == 0bv32); {2774#(not (= (select |#valid| main_~a~0.base) (_ bv0 1)))} is VALID [2018-11-23 11:05:38,111 INFO L273 TraceCheckUtils]: 5: Hoare triple {2633#true} ~flag~0 := #t~nondet0;havoc #t~nondet0;havoc ~p~0.base, ~p~0.offset;havoc ~a~0.base, ~a~0.offset;havoc ~t~0.base, ~t~0.offset;call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(8bv32);~a~0.base, ~a~0.offset := #t~malloc1.base, #t~malloc1.offset; {2774#(not (= (select |#valid| main_~a~0.base) (_ bv0 1)))} is VALID [2018-11-23 11:05:38,111 INFO L256 TraceCheckUtils]: 4: Hoare triple {2633#true} call #t~ret10 := main(); {2633#true} is VALID [2018-11-23 11:05:38,111 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2633#true} {2633#true} #90#return; {2633#true} is VALID [2018-11-23 11:05:38,112 INFO L273 TraceCheckUtils]: 2: Hoare triple {2633#true} assume true; {2633#true} is VALID [2018-11-23 11:05:38,112 INFO L273 TraceCheckUtils]: 1: Hoare triple {2633#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {2633#true} is VALID [2018-11-23 11:05:38,112 INFO L256 TraceCheckUtils]: 0: Hoare triple {2633#true} call ULTIMATE.init(); {2633#true} is VALID [2018-11-23 11:05:38,115 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 4 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:05:38,116 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:05:38,117 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 16 [2018-11-23 11:05:38,118 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 25 [2018-11-23 11:05:38,118 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:05:38,118 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states. [2018-11-23 11:05:38,202 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:05:38,202 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2018-11-23 11:05:38,203 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2018-11-23 11:05:38,203 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=201, Unknown=0, NotChecked=0, Total=240 [2018-11-23 11:05:38,203 INFO L87 Difference]: Start difference. First operand 52 states and 58 transitions. Second operand 16 states. [2018-11-23 11:05:41,531 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:41,531 INFO L93 Difference]: Finished difference Result 70 states and 76 transitions. [2018-11-23 11:05:41,531 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2018-11-23 11:05:41,531 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 25 [2018-11-23 11:05:41,532 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:05:41,532 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 11:05:41,534 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 70 transitions. [2018-11-23 11:05:41,534 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 11:05:41,535 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 70 transitions. [2018-11-23 11:05:41,535 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 70 transitions. [2018-11-23 11:05:41,692 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:05:41,694 INFO L225 Difference]: With dead ends: 70 [2018-11-23 11:05:41,694 INFO L226 Difference]: Without dead ends: 58 [2018-11-23 11:05:41,695 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 58 GetRequests, 35 SyntacticMatches, 0 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 64 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=120, Invalid=480, Unknown=0, NotChecked=0, Total=600 [2018-11-23 11:05:41,695 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 58 states. [2018-11-23 11:05:41,771 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 58 to 48. [2018-11-23 11:05:41,771 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:05:41,772 INFO L82 GeneralOperation]: Start isEquivalent. First operand 58 states. Second operand 48 states. [2018-11-23 11:05:41,772 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand 48 states. [2018-11-23 11:05:41,772 INFO L87 Difference]: Start difference. First operand 58 states. Second operand 48 states. [2018-11-23 11:05:41,774 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:41,775 INFO L93 Difference]: Finished difference Result 58 states and 63 transitions. [2018-11-23 11:05:41,775 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 63 transitions. [2018-11-23 11:05:41,775 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:05:41,775 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:05:41,775 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand 58 states. [2018-11-23 11:05:41,775 INFO L87 Difference]: Start difference. First operand 48 states. Second operand 58 states. [2018-11-23 11:05:41,777 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:41,777 INFO L93 Difference]: Finished difference Result 58 states and 63 transitions. [2018-11-23 11:05:41,777 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 63 transitions. [2018-11-23 11:05:41,777 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:05:41,777 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:05:41,778 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:05:41,778 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:05:41,778 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 48 states. [2018-11-23 11:05:41,779 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 53 transitions. [2018-11-23 11:05:41,779 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 53 transitions. Word has length 25 [2018-11-23 11:05:41,779 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:05:41,779 INFO L480 AbstractCegarLoop]: Abstraction has 48 states and 53 transitions. [2018-11-23 11:05:41,779 INFO L481 AbstractCegarLoop]: Interpolant automaton has 16 states. [2018-11-23 11:05:41,779 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 53 transitions. [2018-11-23 11:05:41,780 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2018-11-23 11:05:41,780 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:05:41,780 INFO L402 BasicCegarLoop]: trace histogram [3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:05:41,780 INFO L423 AbstractCegarLoop]: === Iteration 11 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:05:41,781 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:05:41,781 INFO L82 PathProgramCache]: Analyzing trace with hash 1978072342, now seen corresponding path program 1 times [2018-11-23 11:05:41,781 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:05:41,781 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 12 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 12 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:05:41,797 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:05:41,852 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:05:41,878 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:05:41,880 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:05:41,898 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2018-11-23 11:05:41,900 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:41,908 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:41,908 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:10, output treesize:9 [2018-11-23 11:05:41,913 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:05:41,913 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#valid_39|]. (and (= main_~a~0.offset (_ bv0 32)) (= |#valid| (store |v_#valid_39| main_~a~0.base (_ bv1 1)))) [2018-11-23 11:05:41,913 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= main_~a~0.offset (_ bv0 32)) (= (select |#valid| main_~a~0.base) (_ bv1 1))) [2018-11-23 11:05:41,971 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:05:41,973 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:05:41,974 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 4 [2018-11-23 11:05:41,976 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:41,988 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:41,988 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:22, output treesize:14 [2018-11-23 11:05:42,055 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 10 [2018-11-23 11:05:42,061 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 10 treesize of output 9 [2018-11-23 11:05:42,063 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:42,068 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:42,113 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 10 [2018-11-23 11:05:42,118 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 10 treesize of output 9 [2018-11-23 11:05:42,119 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:42,125 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:42,157 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:42,157 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 4 variables, input treesize:52, output treesize:32 [2018-11-23 11:05:42,184 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:05:42,185 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_$Pointer$.offset_29|, main_~t~0.offset, main_~t~0.base, |v_#memory_$Pointer$.base_31|]. (let ((.cse0 (bvadd main_~a~0.offset (_ bv4 32)))) (and (= main_~a~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| main_~a~0.base) .cse0) main_~p~0.base) (= main_~p~0.offset (select (select |#memory_$Pointer$.offset| main_~a~0.base) .cse0)) (not (= main_~t~0.base main_~a~0.base)) (= (store |v_#memory_$Pointer$.offset_29| main_~a~0.base (store (select |v_#memory_$Pointer$.offset_29| main_~a~0.base) .cse0 main_~t~0.offset)) |#memory_$Pointer$.offset|) (= |#memory_$Pointer$.base| (store |v_#memory_$Pointer$.base_31| main_~a~0.base (store (select |v_#memory_$Pointer$.base_31| main_~a~0.base) .cse0 main_~t~0.base))))) [2018-11-23 11:05:42,185 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse1 (bvadd main_~a~0.offset (_ bv4 32)))) (let ((.cse0 (select (select |#memory_$Pointer$.base| main_~a~0.base) .cse1))) (and (= main_~a~0.offset (_ bv0 32)) (not (= .cse0 main_~a~0.base)) (= .cse0 main_~p~0.base) (= main_~p~0.offset (select (select |#memory_$Pointer$.offset| main_~a~0.base) .cse1))))) [2018-11-23 11:05:42,282 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 102 treesize of output 98 [2018-11-23 11:05:42,291 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 1 [2018-11-23 11:05:42,292 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:42,320 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:42,383 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 59 treesize of output 60 [2018-11-23 11:05:42,389 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 1 [2018-11-23 11:05:42,390 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:42,401 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:42,426 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 16 [2018-11-23 11:05:42,430 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 15 [2018-11-23 11:05:42,432 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:42,437 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:42,468 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:42,469 INFO L202 ElimStorePlain]: Needed 7 recursive calls to eliminate 3 variables, input treesize:105, output treesize:27 [2018-11-23 11:05:42,559 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:05:42,560 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_$Pointer$.base_32|, |v_#memory_int_37|, |v_#memory_$Pointer$.offset_30|]. (let ((.cse0 (select (select |v_#memory_$Pointer$.base_32| main_~p~0.base) (_ bv4 32))) (.cse1 (select (select |v_#memory_$Pointer$.offset_30| main_~p~0.base) (_ bv4 32)))) (and (= main_~p~0.offset (_ bv0 32)) (not (= main_~p~0.base .cse0)) (= |#memory_int| (store |v_#memory_int_37| .cse0 (store (select |v_#memory_int_37| .cse0) .cse1 (_ bv3 32)))) (= |#memory_$Pointer$.base| (store |v_#memory_$Pointer$.base_32| .cse0 (store (select |v_#memory_$Pointer$.base_32| .cse0) .cse1 (select (select |#memory_$Pointer$.base| .cse0) .cse1)))) (= (store |v_#memory_$Pointer$.offset_30| .cse0 (store (select |v_#memory_$Pointer$.offset_30| .cse0) .cse1 (select (select |#memory_$Pointer$.offset| .cse0) .cse1))) |#memory_$Pointer$.offset|))) [2018-11-23 11:05:42,560 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32)))) (and (= main_~p~0.offset (_ bv0 32)) (= (select (select |#memory_int| .cse0) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32))) (_ bv3 32)) (not (= .cse0 main_~p~0.base)))) [2018-11-23 11:05:42,611 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 21 [2018-11-23 11:05:42,616 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 13 [2018-11-23 11:05:42,618 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:42,621 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:42,636 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 23 [2018-11-23 11:05:42,641 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 14 [2018-11-23 11:05:42,643 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:42,651 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:42,659 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:42,660 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:40, output treesize:9 [2018-11-23 11:05:42,664 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:05:42,665 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_$Pointer$.base|, v_main_~p~0.base_50, |#memory_$Pointer$.offset|]. (let ((.cse0 (select (select |#memory_$Pointer$.base| v_main_~p~0.base_50) (_ bv4 32))) (.cse1 (select (select |#memory_$Pointer$.offset| v_main_~p~0.base_50) (_ bv4 32)))) (and (= (bvadd (select (select |#memory_int| .cse0) .cse1) (_ bv4294967293 32)) (_ bv0 32)) (not (= v_main_~p~0.base_50 .cse0)) (= main_~p~0.base .cse0) (= main_~p~0.offset .cse1))) [2018-11-23 11:05:42,665 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (= (_ bv0 32) (bvadd (select (select |#memory_int| main_~p~0.base) main_~p~0.offset) (_ bv4294967293 32))) [2018-11-23 11:05:42,694 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2018-11-23 11:05:42,700 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 3 [2018-11-23 11:05:42,701 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:42,703 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:42,705 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:42,705 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:15, output treesize:3 [2018-11-23 11:05:42,708 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:05:42,708 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, main_~p~0.base, main_~p~0.offset]. (let ((.cse0 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))) (and (= (_ bv3 32) .cse0) (= .cse0 |main_#t~mem5|))) [2018-11-23 11:05:42,708 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (= (_ bv3 32) |main_#t~mem5|) [2018-11-23 11:05:42,730 INFO L256 TraceCheckUtils]: 0: Hoare triple {3082#true} call ULTIMATE.init(); {3082#true} is VALID [2018-11-23 11:05:42,730 INFO L273 TraceCheckUtils]: 1: Hoare triple {3082#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {3082#true} is VALID [2018-11-23 11:05:42,730 INFO L273 TraceCheckUtils]: 2: Hoare triple {3082#true} assume true; {3082#true} is VALID [2018-11-23 11:05:42,730 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3082#true} {3082#true} #90#return; {3082#true} is VALID [2018-11-23 11:05:42,730 INFO L256 TraceCheckUtils]: 4: Hoare triple {3082#true} call #t~ret10 := main(); {3082#true} is VALID [2018-11-23 11:05:42,732 INFO L273 TraceCheckUtils]: 5: Hoare triple {3082#true} ~flag~0 := #t~nondet0;havoc #t~nondet0;havoc ~p~0.base, ~p~0.offset;havoc ~a~0.base, ~a~0.offset;havoc ~t~0.base, ~t~0.offset;call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(8bv32);~a~0.base, ~a~0.offset := #t~malloc1.base, #t~malloc1.offset; {3102#(and (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)))} is VALID [2018-11-23 11:05:42,732 INFO L273 TraceCheckUtils]: 6: Hoare triple {3102#(and (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)))} assume !(~a~0.base == 0bv32 && ~a~0.offset == 0bv32); {3102#(and (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)))} is VALID [2018-11-23 11:05:42,733 INFO L273 TraceCheckUtils]: 7: Hoare triple {3102#(and (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {3109#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2018-11-23 11:05:42,734 INFO L273 TraceCheckUtils]: 8: Hoare triple {3109#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)) (= main_~a~0.offset main_~p~0.offset))} assume !!(0bv32 != #t~nondet2);havoc #t~nondet2; {3109#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2018-11-23 11:05:42,736 INFO L273 TraceCheckUtils]: 9: Hoare triple {3109#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)) (= main_~a~0.offset main_~p~0.offset))} assume 0bv32 != ~flag~0;call write~intINTTYPE4(1bv32, ~p~0.base, ~p~0.offset, 4bv32); {3109#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2018-11-23 11:05:42,737 INFO L273 TraceCheckUtils]: 10: Hoare triple {3109#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)) (= main_~a~0.offset main_~p~0.offset))} call #t~malloc3.base, #t~malloc3.offset := #Ultimate.alloc(8bv32);~t~0.base, ~t~0.offset := #t~malloc3.base, #t~malloc3.offset; {3119#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= main_~a~0.offset main_~p~0.offset) (not (= main_~t~0.base main_~a~0.base)))} is VALID [2018-11-23 11:05:42,738 INFO L273 TraceCheckUtils]: 11: Hoare triple {3119#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= main_~a~0.offset main_~p~0.offset) (not (= main_~t~0.base main_~a~0.base)))} assume !(~t~0.base == 0bv32 && ~t~0.offset == 0bv32); {3119#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= main_~a~0.offset main_~p~0.offset) (not (= main_~t~0.base main_~a~0.base)))} is VALID [2018-11-23 11:05:42,742 INFO L273 TraceCheckUtils]: 12: Hoare triple {3119#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= main_~a~0.offset main_~p~0.offset) (not (= main_~t~0.base main_~a~0.base)))} call write~$Pointer$(~t~0.base, ~t~0.offset, ~p~0.base, ~bvadd32(4bv32, ~p~0.offset), 4bv32);call #t~mem4.base, #t~mem4.offset := read~$Pointer$(~p~0.base, ~bvadd32(4bv32, ~p~0.offset), 4bv32);~p~0.base, ~p~0.offset := #t~mem4.base, #t~mem4.offset;havoc #t~mem4.base, #t~mem4.offset; {3126#(and (= main_~a~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~a~0.base)) (= (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~p~0.base) (= main_~p~0.offset (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))))} is VALID [2018-11-23 11:05:42,743 INFO L273 TraceCheckUtils]: 13: Hoare triple {3126#(and (= main_~a~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~a~0.base)) (= (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~p~0.base) (= main_~p~0.offset (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))))} assume !(0bv32 != #t~nondet2);havoc #t~nondet2; {3126#(and (= main_~a~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~a~0.base)) (= (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~p~0.base) (= main_~p~0.offset (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))))} is VALID [2018-11-23 11:05:42,744 INFO L273 TraceCheckUtils]: 14: Hoare triple {3126#(and (= main_~a~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~a~0.base)) (= (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~p~0.base) (= main_~p~0.offset (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))))} call write~intINTTYPE4(3bv32, ~p~0.base, ~p~0.offset, 4bv32);~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {3133#(and (= main_~p~0.offset (_ bv0 32)) (= (bvadd (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32))) (_ bv4294967293 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32)) main_~p~0.base)))} is VALID [2018-11-23 11:05:42,745 INFO L273 TraceCheckUtils]: 15: Hoare triple {3133#(and (= main_~p~0.offset (_ bv0 32)) (= (bvadd (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32))) (_ bv4294967293 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32)) main_~p~0.base)))} assume 0bv32 != ~flag~0; {3133#(and (= main_~p~0.offset (_ bv0 32)) (= (bvadd (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32))) (_ bv4294967293 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32)) main_~p~0.base)))} is VALID [2018-11-23 11:05:42,746 INFO L273 TraceCheckUtils]: 16: Hoare triple {3133#(and (= main_~p~0.offset (_ bv0 32)) (= (bvadd (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32))) (_ bv4294967293 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32)) main_~p~0.base)))} call #t~mem5 := read~intINTTYPE4(~p~0.base, ~p~0.offset, 4bv32); {3133#(and (= main_~p~0.offset (_ bv0 32)) (= (bvadd (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32))) (_ bv4294967293 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32)) main_~p~0.base)))} is VALID [2018-11-23 11:05:42,749 INFO L273 TraceCheckUtils]: 17: Hoare triple {3133#(and (= main_~p~0.offset (_ bv0 32)) (= (bvadd (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32))) (_ bv4294967293 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32)) main_~p~0.base)))} assume !!(1bv32 == #t~mem5);havoc #t~mem5;call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~p~0.base, ~bvadd32(4bv32, ~p~0.offset), 4bv32);~p~0.base, ~p~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset; {3143#(= (_ bv3 32) (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2018-11-23 11:05:42,749 INFO L273 TraceCheckUtils]: 18: Hoare triple {3143#(= (_ bv3 32) (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} call #t~mem5 := read~intINTTYPE4(~p~0.base, ~p~0.offset, 4bv32); {3147#(= (_ bv3 32) |main_#t~mem5|)} is VALID [2018-11-23 11:05:42,750 INFO L273 TraceCheckUtils]: 19: Hoare triple {3147#(= (_ bv3 32) |main_#t~mem5|)} assume !!(1bv32 == #t~mem5);havoc #t~mem5;call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~p~0.base, ~bvadd32(4bv32, ~p~0.offset), 4bv32);~p~0.base, ~p~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset; {3083#false} is VALID [2018-11-23 11:05:42,750 INFO L273 TraceCheckUtils]: 20: Hoare triple {3083#false} call #t~mem5 := read~intINTTYPE4(~p~0.base, ~p~0.offset, 4bv32); {3083#false} is VALID [2018-11-23 11:05:42,750 INFO L273 TraceCheckUtils]: 21: Hoare triple {3083#false} assume !(1bv32 == #t~mem5);havoc #t~mem5; {3083#false} is VALID [2018-11-23 11:05:42,751 INFO L273 TraceCheckUtils]: 22: Hoare triple {3083#false} call #t~mem9 := read~intINTTYPE4(~p~0.base, ~p~0.offset, 4bv32); {3083#false} is VALID [2018-11-23 11:05:42,751 INFO L273 TraceCheckUtils]: 23: Hoare triple {3083#false} assume 3bv32 != #t~mem9;havoc #t~mem9; {3083#false} is VALID [2018-11-23 11:05:42,751 INFO L273 TraceCheckUtils]: 24: Hoare triple {3083#false} assume !false; {3083#false} is VALID [2018-11-23 11:05:42,753 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 4 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:05:42,753 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 11:05:43,258 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:05:43,359 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:05:43,539 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:05:43,634 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:05:43,784 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:05:43,807 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:05:43,819 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:05:43,846 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:05:43,926 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 54 treesize of output 38 [2018-11-23 11:05:43,935 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 20 treesize of output 1 [2018-11-23 11:05:43,936 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:43,945 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:43,950 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 54 treesize of output 38 [2018-11-23 11:05:43,961 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 20 treesize of output 1 [2018-11-23 11:05:43,962 INFO L267 ElimStorePlain]: Start of recursive call 13: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:43,969 INFO L267 ElimStorePlain]: Start of recursive call 12: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:43,991 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-2 vars, End of recursive call: 2 dim-0 vars, and 2 xjuncts. [2018-11-23 11:05:43,991 INFO L202 ElimStorePlain]: Needed 13 recursive calls to eliminate 3 variables, input treesize:61, output treesize:35 [2018-11-23 11:05:44,425 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:05:44,425 WARN L384 uantifierElimination]: Input elimination task: ∀ [|#memory_int|, |v_#memory_$Pointer$.base_33|, |v_#memory_$Pointer$.offset_31|]. (or (not (= |v_#memory_$Pointer$.offset_31| (store |#memory_$Pointer$.offset| main_~p~0.base (store (select |#memory_$Pointer$.offset| main_~p~0.base) main_~p~0.offset (select (select |v_#memory_$Pointer$.offset_31| main_~p~0.base) main_~p~0.offset))))) (not (= |v_#memory_$Pointer$.base_33| (store |#memory_$Pointer$.base| main_~p~0.base (store (select |#memory_$Pointer$.base| main_~p~0.base) main_~p~0.offset (select (select |v_#memory_$Pointer$.base_33| main_~p~0.base) main_~p~0.offset))))) (not (= (_ bv1 32) (let ((.cse0 (bvadd main_~a~0.offset (_ bv4 32)))) (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset (_ bv3 32))) (select (select |v_#memory_$Pointer$.base_33| main_~a~0.base) .cse0)) (select (select |v_#memory_$Pointer$.offset_31| main_~a~0.base) .cse0)))))) [2018-11-23 11:05:44,425 WARN L385 uantifierElimination]: ElimStorePlain result: ∀ [v_DerPreprocessor_28, v_DerPreprocessor_30]. (let ((.cse0 (bvadd main_~a~0.offset (_ bv4 32)))) (and (= (select (select (store |#memory_$Pointer$.offset| main_~p~0.base (store (select |#memory_$Pointer$.offset| main_~p~0.base) main_~p~0.offset v_DerPreprocessor_28)) main_~a~0.base) .cse0) main_~p~0.offset) (= (select (select (store |#memory_$Pointer$.base| main_~p~0.base (store (select |#memory_$Pointer$.base| main_~p~0.base) main_~p~0.offset v_DerPreprocessor_30)) main_~a~0.base) .cse0) main_~p~0.base))) [2018-11-23 11:05:44,617 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 29 [2018-11-23 11:05:44,695 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 10 [2018-11-23 11:05:44,696 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:44,758 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 19 [2018-11-23 11:05:44,766 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 1 [2018-11-23 11:05:44,767 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:44,774 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:44,799 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 20 treesize of output 24 [2018-11-23 11:05:44,809 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 15 [2018-11-23 11:05:44,812 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:44,856 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 11 [2018-11-23 11:05:44,858 INFO L267 ElimStorePlain]: Start of recursive call 8: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:44,886 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 3 [2018-11-23 11:05:44,887 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:44,896 INFO L267 ElimStorePlain]: Start of recursive call 6: 3 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 11:05:44,937 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 7 xjuncts. [2018-11-23 11:05:45,108 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 29 [2018-11-23 11:05:45,210 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 10 [2018-11-23 11:05:45,211 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:45,291 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 20 treesize of output 24 [2018-11-23 11:05:45,299 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 15 [2018-11-23 11:05:45,302 INFO L267 ElimStorePlain]: Start of recursive call 13: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:45,343 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 3 [2018-11-23 11:05:45,347 INFO L267 ElimStorePlain]: Start of recursive call 14: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:45,379 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 11 [2018-11-23 11:05:45,381 INFO L267 ElimStorePlain]: Start of recursive call 15: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:45,391 INFO L267 ElimStorePlain]: Start of recursive call 12: 3 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 11:05:45,396 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 19 [2018-11-23 11:05:45,403 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 1 [2018-11-23 11:05:45,403 INFO L267 ElimStorePlain]: Start of recursive call 17: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:45,412 INFO L267 ElimStorePlain]: Start of recursive call 16: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:45,450 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 7 xjuncts. [2018-11-23 11:05:45,615 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 2 dim-2 vars, End of recursive call: and 5 xjuncts. [2018-11-23 11:05:45,616 INFO L202 ElimStorePlain]: Needed 17 recursive calls to eliminate 6 variables, input treesize:75, output treesize:33 [2018-11-23 11:05:45,666 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:05:45,666 WARN L384 uantifierElimination]: Input elimination task: ∀ [|#memory_$Pointer$.offset|, main_~t~0.offset, v_DerPreprocessor_28, |#memory_$Pointer$.base|, v_prenex_15, v_DerPreprocessor_30]. (let ((.cse1 (bvadd main_~p~0.offset (_ bv4 32))) (.cse2 (bvadd main_~a~0.offset (_ bv4 32)))) (and (= main_~t~0.offset (select (select (let ((.cse0 (store |#memory_$Pointer$.offset| main_~p~0.base (store (select |#memory_$Pointer$.offset| main_~p~0.base) .cse1 main_~t~0.offset)))) (store .cse0 main_~t~0.base (store (select .cse0 main_~t~0.base) main_~t~0.offset v_DerPreprocessor_28))) main_~a~0.base) .cse2)) (= main_~t~0.base (select (select (let ((.cse3 (store |#memory_$Pointer$.base| main_~p~0.base (store (select |#memory_$Pointer$.base| main_~p~0.base) .cse1 main_~t~0.base)))) (store .cse3 main_~t~0.base (store (select .cse3 main_~t~0.base) v_prenex_15 v_DerPreprocessor_30))) main_~a~0.base) .cse2)))) [2018-11-23 11:05:45,666 WARN L385 uantifierElimination]: ElimStorePlain result: ∀ []. (let ((.cse0 (= main_~p~0.base main_~a~0.base)) (.cse1 (= (bvadd main_~p~0.offset (_ bv4 32)) (bvadd main_~a~0.offset (_ bv4 32)))) (.cse2 (= main_~t~0.base main_~a~0.base))) (and .cse0 .cse1 (not .cse2) (or .cse0 .cse2) (or .cse1 .cse2))) [2018-11-23 11:05:45,938 INFO L273 TraceCheckUtils]: 24: Hoare triple {3083#false} assume !false; {3083#false} is VALID [2018-11-23 11:05:45,939 INFO L273 TraceCheckUtils]: 23: Hoare triple {3083#false} assume 3bv32 != #t~mem9;havoc #t~mem9; {3083#false} is VALID [2018-11-23 11:05:45,939 INFO L273 TraceCheckUtils]: 22: Hoare triple {3083#false} call #t~mem9 := read~intINTTYPE4(~p~0.base, ~p~0.offset, 4bv32); {3083#false} is VALID [2018-11-23 11:05:45,939 INFO L273 TraceCheckUtils]: 21: Hoare triple {3083#false} assume !(1bv32 == #t~mem5);havoc #t~mem5; {3083#false} is VALID [2018-11-23 11:05:45,939 INFO L273 TraceCheckUtils]: 20: Hoare triple {3083#false} call #t~mem5 := read~intINTTYPE4(~p~0.base, ~p~0.offset, 4bv32); {3083#false} is VALID [2018-11-23 11:05:45,940 INFO L273 TraceCheckUtils]: 19: Hoare triple {3181#(not (= (_ bv1 32) |main_#t~mem5|))} assume !!(1bv32 == #t~mem5);havoc #t~mem5;call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~p~0.base, ~bvadd32(4bv32, ~p~0.offset), 4bv32);~p~0.base, ~p~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset; {3083#false} is VALID [2018-11-23 11:05:45,941 INFO L273 TraceCheckUtils]: 18: Hoare triple {3185#(not (= (bvadd (select (select |#memory_int| main_~p~0.base) main_~p~0.offset) (_ bv4294967295 32)) (_ bv0 32)))} call #t~mem5 := read~intINTTYPE4(~p~0.base, ~p~0.offset, 4bv32); {3181#(not (= (_ bv1 32) |main_#t~mem5|))} is VALID [2018-11-23 11:05:45,941 INFO L273 TraceCheckUtils]: 17: Hoare triple {3189#(not (= (bvadd (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (bvadd main_~p~0.offset (_ bv4 32)))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (bvadd main_~p~0.offset (_ bv4 32)))) (_ bv4294967295 32)) (_ bv0 32)))} assume !!(1bv32 == #t~mem5);havoc #t~mem5;call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~p~0.base, ~bvadd32(4bv32, ~p~0.offset), 4bv32);~p~0.base, ~p~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset; {3185#(not (= (bvadd (select (select |#memory_int| main_~p~0.base) main_~p~0.offset) (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:05:45,942 INFO L273 TraceCheckUtils]: 16: Hoare triple {3189#(not (= (bvadd (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (bvadd main_~p~0.offset (_ bv4 32)))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (bvadd main_~p~0.offset (_ bv4 32)))) (_ bv4294967295 32)) (_ bv0 32)))} call #t~mem5 := read~intINTTYPE4(~p~0.base, ~p~0.offset, 4bv32); {3189#(not (= (bvadd (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (bvadd main_~p~0.offset (_ bv4 32)))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (bvadd main_~p~0.offset (_ bv4 32)))) (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:05:45,942 INFO L273 TraceCheckUtils]: 15: Hoare triple {3189#(not (= (bvadd (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (bvadd main_~p~0.offset (_ bv4 32)))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (bvadd main_~p~0.offset (_ bv4 32)))) (_ bv4294967295 32)) (_ bv0 32)))} assume 0bv32 != ~flag~0; {3189#(not (= (bvadd (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (bvadd main_~p~0.offset (_ bv4 32)))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (bvadd main_~p~0.offset (_ bv4 32)))) (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:05:45,948 INFO L273 TraceCheckUtils]: 14: Hoare triple {3199#(and (forall ((v_DerPreprocessor_28 (_ BitVec 32))) (= (select (select (store |#memory_$Pointer$.offset| main_~p~0.base (store (select |#memory_$Pointer$.offset| main_~p~0.base) main_~p~0.offset v_DerPreprocessor_28)) main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~p~0.offset)) (forall ((v_DerPreprocessor_30 (_ BitVec 32))) (= (select (select (store |#memory_$Pointer$.base| main_~p~0.base (store (select |#memory_$Pointer$.base| main_~p~0.base) main_~p~0.offset v_DerPreprocessor_30)) main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~p~0.base)))} call write~intINTTYPE4(3bv32, ~p~0.base, ~p~0.offset, 4bv32);~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {3189#(not (= (bvadd (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (bvadd main_~p~0.offset (_ bv4 32)))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (bvadd main_~p~0.offset (_ bv4 32)))) (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:05:45,949 INFO L273 TraceCheckUtils]: 13: Hoare triple {3199#(and (forall ((v_DerPreprocessor_28 (_ BitVec 32))) (= (select (select (store |#memory_$Pointer$.offset| main_~p~0.base (store (select |#memory_$Pointer$.offset| main_~p~0.base) main_~p~0.offset v_DerPreprocessor_28)) main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~p~0.offset)) (forall ((v_DerPreprocessor_30 (_ BitVec 32))) (= (select (select (store |#memory_$Pointer$.base| main_~p~0.base (store (select |#memory_$Pointer$.base| main_~p~0.base) main_~p~0.offset v_DerPreprocessor_30)) main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~p~0.base)))} assume !(0bv32 != #t~nondet2);havoc #t~nondet2; {3199#(and (forall ((v_DerPreprocessor_28 (_ BitVec 32))) (= (select (select (store |#memory_$Pointer$.offset| main_~p~0.base (store (select |#memory_$Pointer$.offset| main_~p~0.base) main_~p~0.offset v_DerPreprocessor_28)) main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~p~0.offset)) (forall ((v_DerPreprocessor_30 (_ BitVec 32))) (= (select (select (store |#memory_$Pointer$.base| main_~p~0.base (store (select |#memory_$Pointer$.base| main_~p~0.base) main_~p~0.offset v_DerPreprocessor_30)) main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~p~0.base)))} is VALID [2018-11-23 11:05:45,951 INFO L273 TraceCheckUtils]: 12: Hoare triple {3206#(and (= main_~p~0.base main_~a~0.base) (= main_~p~0.offset main_~a~0.offset) (not (= main_~t~0.base main_~a~0.base)))} call write~$Pointer$(~t~0.base, ~t~0.offset, ~p~0.base, ~bvadd32(4bv32, ~p~0.offset), 4bv32);call #t~mem4.base, #t~mem4.offset := read~$Pointer$(~p~0.base, ~bvadd32(4bv32, ~p~0.offset), 4bv32);~p~0.base, ~p~0.offset := #t~mem4.base, #t~mem4.offset;havoc #t~mem4.base, #t~mem4.offset; {3199#(and (forall ((v_DerPreprocessor_28 (_ BitVec 32))) (= (select (select (store |#memory_$Pointer$.offset| main_~p~0.base (store (select |#memory_$Pointer$.offset| main_~p~0.base) main_~p~0.offset v_DerPreprocessor_28)) main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~p~0.offset)) (forall ((v_DerPreprocessor_30 (_ BitVec 32))) (= (select (select (store |#memory_$Pointer$.base| main_~p~0.base (store (select |#memory_$Pointer$.base| main_~p~0.base) main_~p~0.offset v_DerPreprocessor_30)) main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~p~0.base)))} is VALID [2018-11-23 11:05:45,953 INFO L273 TraceCheckUtils]: 11: Hoare triple {3206#(and (= main_~p~0.base main_~a~0.base) (= main_~p~0.offset main_~a~0.offset) (not (= main_~t~0.base main_~a~0.base)))} assume !(~t~0.base == 0bv32 && ~t~0.offset == 0bv32); {3206#(and (= main_~p~0.base main_~a~0.base) (= main_~p~0.offset main_~a~0.offset) (not (= main_~t~0.base main_~a~0.base)))} is VALID [2018-11-23 11:05:45,954 INFO L273 TraceCheckUtils]: 10: Hoare triple {3213#(and (or (= main_~p~0.offset main_~a~0.offset) (forall ((|v_main_#t~malloc3.base_6| (_ BitVec 32))) (not (= (_ bv0 1) (select |#valid| |v_main_#t~malloc3.base_6|))))) (not (= (select |#valid| main_~a~0.base) (_ bv0 1))) (or (= main_~p~0.base main_~a~0.base) (forall ((v_prenex_18 (_ BitVec 32))) (not (= (_ bv0 1) (select |#valid| v_prenex_18))))))} call #t~malloc3.base, #t~malloc3.offset := #Ultimate.alloc(8bv32);~t~0.base, ~t~0.offset := #t~malloc3.base, #t~malloc3.offset; {3206#(and (= main_~p~0.base main_~a~0.base) (= main_~p~0.offset main_~a~0.offset) (not (= main_~t~0.base main_~a~0.base)))} is VALID [2018-11-23 11:05:45,955 INFO L273 TraceCheckUtils]: 9: Hoare triple {3213#(and (or (= main_~p~0.offset main_~a~0.offset) (forall ((|v_main_#t~malloc3.base_6| (_ BitVec 32))) (not (= (_ bv0 1) (select |#valid| |v_main_#t~malloc3.base_6|))))) (not (= (select |#valid| main_~a~0.base) (_ bv0 1))) (or (= main_~p~0.base main_~a~0.base) (forall ((v_prenex_18 (_ BitVec 32))) (not (= (_ bv0 1) (select |#valid| v_prenex_18))))))} assume 0bv32 != ~flag~0;call write~intINTTYPE4(1bv32, ~p~0.base, ~p~0.offset, 4bv32); {3213#(and (or (= main_~p~0.offset main_~a~0.offset) (forall ((|v_main_#t~malloc3.base_6| (_ BitVec 32))) (not (= (_ bv0 1) (select |#valid| |v_main_#t~malloc3.base_6|))))) (not (= (select |#valid| main_~a~0.base) (_ bv0 1))) (or (= main_~p~0.base main_~a~0.base) (forall ((v_prenex_18 (_ BitVec 32))) (not (= (_ bv0 1) (select |#valid| v_prenex_18))))))} is VALID [2018-11-23 11:05:45,956 INFO L273 TraceCheckUtils]: 8: Hoare triple {3213#(and (or (= main_~p~0.offset main_~a~0.offset) (forall ((|v_main_#t~malloc3.base_6| (_ BitVec 32))) (not (= (_ bv0 1) (select |#valid| |v_main_#t~malloc3.base_6|))))) (not (= (select |#valid| main_~a~0.base) (_ bv0 1))) (or (= main_~p~0.base main_~a~0.base) (forall ((v_prenex_18 (_ BitVec 32))) (not (= (_ bv0 1) (select |#valid| v_prenex_18))))))} assume !!(0bv32 != #t~nondet2);havoc #t~nondet2; {3213#(and (or (= main_~p~0.offset main_~a~0.offset) (forall ((|v_main_#t~malloc3.base_6| (_ BitVec 32))) (not (= (_ bv0 1) (select |#valid| |v_main_#t~malloc3.base_6|))))) (not (= (select |#valid| main_~a~0.base) (_ bv0 1))) (or (= main_~p~0.base main_~a~0.base) (forall ((v_prenex_18 (_ BitVec 32))) (not (= (_ bv0 1) (select |#valid| v_prenex_18))))))} is VALID [2018-11-23 11:05:45,957 INFO L273 TraceCheckUtils]: 7: Hoare triple {3223#(not (= (select |#valid| main_~a~0.base) (_ bv0 1)))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {3213#(and (or (= main_~p~0.offset main_~a~0.offset) (forall ((|v_main_#t~malloc3.base_6| (_ BitVec 32))) (not (= (_ bv0 1) (select |#valid| |v_main_#t~malloc3.base_6|))))) (not (= (select |#valid| main_~a~0.base) (_ bv0 1))) (or (= main_~p~0.base main_~a~0.base) (forall ((v_prenex_18 (_ BitVec 32))) (not (= (_ bv0 1) (select |#valid| v_prenex_18))))))} is VALID [2018-11-23 11:05:45,958 INFO L273 TraceCheckUtils]: 6: Hoare triple {3223#(not (= (select |#valid| main_~a~0.base) (_ bv0 1)))} assume !(~a~0.base == 0bv32 && ~a~0.offset == 0bv32); {3223#(not (= (select |#valid| main_~a~0.base) (_ bv0 1)))} is VALID [2018-11-23 11:05:45,959 INFO L273 TraceCheckUtils]: 5: Hoare triple {3082#true} ~flag~0 := #t~nondet0;havoc #t~nondet0;havoc ~p~0.base, ~p~0.offset;havoc ~a~0.base, ~a~0.offset;havoc ~t~0.base, ~t~0.offset;call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(8bv32);~a~0.base, ~a~0.offset := #t~malloc1.base, #t~malloc1.offset; {3223#(not (= (select |#valid| main_~a~0.base) (_ bv0 1)))} is VALID [2018-11-23 11:05:45,959 INFO L256 TraceCheckUtils]: 4: Hoare triple {3082#true} call #t~ret10 := main(); {3082#true} is VALID [2018-11-23 11:05:45,960 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3082#true} {3082#true} #90#return; {3082#true} is VALID [2018-11-23 11:05:45,960 INFO L273 TraceCheckUtils]: 2: Hoare triple {3082#true} assume true; {3082#true} is VALID [2018-11-23 11:05:45,960 INFO L273 TraceCheckUtils]: 1: Hoare triple {3082#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {3082#true} is VALID [2018-11-23 11:05:45,961 INFO L256 TraceCheckUtils]: 0: Hoare triple {3082#true} call ULTIMATE.init(); {3082#true} is VALID [2018-11-23 11:05:45,964 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 4 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:05:45,973 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:05:45,973 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 16 [2018-11-23 11:05:45,973 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 25 [2018-11-23 11:05:45,973 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:05:45,974 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states. [2018-11-23 11:05:46,038 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:05:46,039 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2018-11-23 11:05:46,039 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2018-11-23 11:05:46,039 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=201, Unknown=0, NotChecked=0, Total=240 [2018-11-23 11:05:46,040 INFO L87 Difference]: Start difference. First operand 48 states and 53 transitions. Second operand 16 states. [2018-11-23 11:05:48,686 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:48,686 INFO L93 Difference]: Finished difference Result 64 states and 69 transitions. [2018-11-23 11:05:48,686 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2018-11-23 11:05:48,686 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 25 [2018-11-23 11:05:48,687 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:05:48,687 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 11:05:48,688 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 65 transitions. [2018-11-23 11:05:48,688 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 11:05:48,689 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 65 transitions. [2018-11-23 11:05:48,690 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 65 transitions. [2018-11-23 11:05:48,799 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:05:48,801 INFO L225 Difference]: With dead ends: 64 [2018-11-23 11:05:48,801 INFO L226 Difference]: Without dead ends: 52 [2018-11-23 11:05:48,802 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 58 GetRequests, 35 SyntacticMatches, 0 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 65 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=120, Invalid=480, Unknown=0, NotChecked=0, Total=600 [2018-11-23 11:05:48,802 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2018-11-23 11:05:48,880 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 44. [2018-11-23 11:05:48,880 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:05:48,880 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand 44 states. [2018-11-23 11:05:48,880 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand 44 states. [2018-11-23 11:05:48,880 INFO L87 Difference]: Start difference. First operand 52 states. Second operand 44 states. [2018-11-23 11:05:48,882 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:48,882 INFO L93 Difference]: Finished difference Result 52 states and 56 transitions. [2018-11-23 11:05:48,882 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 56 transitions. [2018-11-23 11:05:48,883 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:05:48,883 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:05:48,883 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand 52 states. [2018-11-23 11:05:48,883 INFO L87 Difference]: Start difference. First operand 44 states. Second operand 52 states. [2018-11-23 11:05:48,884 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:05:48,884 INFO L93 Difference]: Finished difference Result 52 states and 56 transitions. [2018-11-23 11:05:48,884 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 56 transitions. [2018-11-23 11:05:48,885 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:05:48,885 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:05:48,885 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:05:48,885 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:05:48,885 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 44 states. [2018-11-23 11:05:48,886 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 48 transitions. [2018-11-23 11:05:48,886 INFO L78 Accepts]: Start accepts. Automaton has 44 states and 48 transitions. Word has length 25 [2018-11-23 11:05:48,887 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:05:48,887 INFO L480 AbstractCegarLoop]: Abstraction has 44 states and 48 transitions. [2018-11-23 11:05:48,887 INFO L481 AbstractCegarLoop]: Interpolant automaton has 16 states. [2018-11-23 11:05:48,887 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 48 transitions. [2018-11-23 11:05:48,887 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2018-11-23 11:05:48,888 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:05:48,888 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:05:48,888 INFO L423 AbstractCegarLoop]: === Iteration 12 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:05:48,888 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:05:48,888 INFO L82 PathProgramCache]: Analyzing trace with hash 1711730543, now seen corresponding path program 3 times [2018-11-23 11:05:48,889 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:05:48,889 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 13 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 13 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:05:48,911 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2018-11-23 11:05:49,009 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2018-11-23 11:05:49,010 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 11:05:49,037 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:05:49,039 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:05:49,061 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2018-11-23 11:05:49,062 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:49,070 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:49,070 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:10, output treesize:9 [2018-11-23 11:05:49,073 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:05:49,074 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#valid_46|]. (and (= main_~a~0.offset (_ bv0 32)) (= |#valid| (store |v_#valid_46| main_~a~0.base (_ bv1 1)))) [2018-11-23 11:05:49,074 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= main_~a~0.offset (_ bv0 32)) (= (select |#valid| main_~a~0.base) (_ bv1 1))) [2018-11-23 11:05:49,152 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:05:49,154 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:05:49,155 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 23 [2018-11-23 11:05:49,157 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:49,179 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:49,180 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:31, output treesize:29 [2018-11-23 11:05:49,185 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:05:49,185 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#valid_47|]. (and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= main_~t~0.offset (_ bv0 32)) (= (select |v_#valid_47| main_~t~0.base) (_ bv0 1)) (= main_~a~0.offset main_~p~0.offset) (= (bvadd (select |v_#valid_47| main_~a~0.base) (_ bv1 1)) (_ bv0 1)) (= |#valid| (store |v_#valid_47| main_~t~0.base (_ bv1 1)))) [2018-11-23 11:05:49,185 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= main_~t~0.offset (_ bv0 32)) (= main_~a~0.offset main_~p~0.offset) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)) (= (select |#valid| main_~t~0.base) (_ bv1 1)) (not (= main_~t~0.base main_~a~0.base))) [2018-11-23 11:05:49,267 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 10 [2018-11-23 11:05:49,298 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 10 treesize of output 9 [2018-11-23 11:05:49,299 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:49,304 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:49,353 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 10 [2018-11-23 11:05:49,359 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 10 treesize of output 9 [2018-11-23 11:05:49,361 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:49,365 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:49,398 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:49,399 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:66, output treesize:61 [2018-11-23 11:05:49,481 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:05:49,481 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_$Pointer$.base_36|, main_~t~0.base, |v_#memory_$Pointer$.offset_34|]. (let ((.cse0 (bvadd main_~a~0.offset (_ bv4 32)))) (and (= main_~a~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| main_~a~0.base) .cse0) main_~p~0.base) (= (store |v_#memory_$Pointer$.base_36| main_~a~0.base (store (select |v_#memory_$Pointer$.base_36| main_~a~0.base) .cse0 main_~t~0.base)) |#memory_$Pointer$.base|) (= (store |v_#memory_$Pointer$.offset_34| main_~a~0.base (store (select |v_#memory_$Pointer$.offset_34| main_~a~0.base) .cse0 (_ bv0 32))) |#memory_$Pointer$.offset|) (= main_~p~0.offset (select (select |#memory_$Pointer$.offset| main_~a~0.base) .cse0)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)) (not (= main_~t~0.base main_~a~0.base)) (= (bvadd (select |#valid| main_~t~0.base) (_ bv1 1)) (_ bv0 1)))) [2018-11-23 11:05:49,482 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse2 (bvadd main_~a~0.offset (_ bv4 32)))) (let ((.cse0 (select (select |#memory_$Pointer$.base| main_~a~0.base) .cse2)) (.cse1 (select (select |#memory_$Pointer$.offset| main_~a~0.base) .cse2))) (and (= main_~a~0.offset (_ bv0 32)) (not (= .cse0 main_~a~0.base)) (= .cse0 main_~p~0.base) (= (_ bv0 32) .cse1) (= (bvadd (select |#valid| .cse0) (_ bv1 1)) (_ bv0 1)) (= main_~p~0.offset .cse1) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1))))) [2018-11-23 11:05:49,578 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:05:49,609 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 34 treesize of output 41 [2018-11-23 11:05:49,619 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 23 [2018-11-23 11:05:49,622 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:49,647 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:49,724 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 14 [2018-11-23 11:05:49,731 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 14 treesize of output 19 [2018-11-23 11:05:49,741 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:49,747 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:49,804 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:05:49,817 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 67 treesize of output 68 [2018-11-23 11:05:49,826 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 17 [2018-11-23 11:05:49,828 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:49,847 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:49,884 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:49,885 INFO L202 ElimStorePlain]: Needed 7 recursive calls to eliminate 3 variables, input treesize:102, output treesize:80 [2018-11-23 11:05:49,991 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:05:49,992 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:05:49,994 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:05:49,995 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 25 [2018-11-23 11:05:49,998 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:50,036 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:50,037 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:88, output treesize:77 [2018-11-23 11:05:50,184 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 69 treesize of output 52 [2018-11-23 11:05:50,200 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:05:50,210 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 52 treesize of output 38 [2018-11-23 11:05:50,213 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:50,230 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:50,341 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:05:50,349 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 4 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 144 treesize of output 155 [2018-11-23 11:05:50,368 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 40 treesize of output 36 [2018-11-23 11:05:50,370 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:50,407 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:50,470 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:05:50,484 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 123 treesize of output 124 [2018-11-23 11:05:50,493 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 21 [2018-11-23 11:05:50,495 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:50,530 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:50,583 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 3 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:50,584 INFO L202 ElimStorePlain]: Needed 7 recursive calls to eliminate 4 variables, input treesize:209, output treesize:145 [2018-11-23 11:05:50,652 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:05:50,653 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_$Pointer$.base_38|, |v_#memory_$Pointer$.offset_36|, main_~t~0.base, |v_#memory_int_42|]. (let ((.cse4 (bvadd main_~a~0.offset (_ bv4 32)))) (let ((.cse3 (select (select |v_#memory_$Pointer$.offset_36| main_~a~0.base) .cse4)) (.cse0 (select (select |v_#memory_$Pointer$.base_38| main_~a~0.base) .cse4))) (let ((.cse2 (select |v_#memory_int_42| .cse0)) (.cse1 (bvadd .cse3 (_ bv4 32)))) (and (not (= main_~t~0.base .cse0)) (= main_~a~0.offset (_ bv0 32)) (= (store |v_#memory_$Pointer$.base_38| .cse0 (store (select |v_#memory_$Pointer$.base_38| .cse0) .cse1 main_~t~0.base)) |#memory_$Pointer$.base|) (= (select (select |#memory_$Pointer$.base| .cse0) .cse1) main_~p~0.base) (= (store |v_#memory_$Pointer$.offset_36| .cse0 (store (select |v_#memory_$Pointer$.offset_36| .cse0) .cse1 (_ bv0 32))) |#memory_$Pointer$.offset|) (not (= main_~t~0.base main_~a~0.base)) (not (= .cse0 main_~a~0.base)) (= |#memory_int| (store |v_#memory_int_42| .cse0 (store .cse2 .cse1 (select (select |#memory_int| .cse0) .cse1)))) (= (select .cse2 .cse3) (_ bv2 32)) (= (_ bv0 32) .cse3) (= main_~p~0.offset (select (select |#memory_$Pointer$.offset| .cse0) .cse1)))))) [2018-11-23 11:05:50,653 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse5 (bvadd main_~a~0.offset (_ bv4 32)))) (let ((.cse1 (select (select |#memory_$Pointer$.offset| main_~a~0.base) .cse5))) (let ((.cse3 (select (select |#memory_$Pointer$.base| main_~a~0.base) .cse5)) (.cse4 (bvadd .cse1 (_ bv4 32)))) (let ((.cse0 (select (select |#memory_$Pointer$.offset| .cse3) .cse4)) (.cse2 (select (select |#memory_$Pointer$.base| .cse3) .cse4))) (and (= main_~a~0.offset (_ bv0 32)) (= (_ bv0 32) .cse0) (= (_ bv0 32) .cse1) (= main_~p~0.offset .cse0) (= main_~p~0.base .cse2) (not (= .cse3 .cse2)) (= (_ bv2 32) (select (select |#memory_int| .cse3) .cse1)) (not (= main_~a~0.base .cse2))))))) [2018-11-23 11:05:50,817 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:05:50,818 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 69 treesize of output 101 [2018-11-23 11:05:50,830 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 64 treesize of output 62 [2018-11-23 11:05:50,832 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:50,866 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:50,958 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:05:50,963 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:05:50,993 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:05:51,013 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 256 treesize of output 255 [2018-11-23 11:05:51,112 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 68 treesize of output 1 [2018-11-23 11:05:51,135 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:51,335 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:51,390 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:05:51,392 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:05:51,421 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 180 treesize of output 196 [2018-11-23 11:05:51,430 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 68 treesize of output 1 [2018-11-23 11:05:51,431 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:51,464 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:51,509 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:51,510 INFO L202 ElimStorePlain]: Needed 7 recursive calls to eliminate 3 variables, input treesize:306, output treesize:98 [2018-11-23 11:05:53,994 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:05:53,994 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_$Pointer$.base_39|, |v_#memory_$Pointer$.offset_37|, |v_#memory_int_43|]. (let ((.cse1 (select (select |v_#memory_$Pointer$.offset_37| main_~p~0.base) (_ bv4 32)))) (let ((.cse0 (select (select |v_#memory_$Pointer$.base_39| main_~p~0.base) (_ bv4 32))) (.cse4 (bvadd .cse1 (_ bv4 32)))) (let ((.cse2 (select (select |v_#memory_$Pointer$.base_39| .cse0) .cse4)) (.cse3 (select (select |v_#memory_$Pointer$.offset_37| .cse0) .cse4))) (and (= main_~p~0.offset (_ bv0 32)) (= (select (select |v_#memory_int_43| .cse0) .cse1) (_ bv2 32)) (= (store |v_#memory_$Pointer$.offset_37| .cse2 (store (select |v_#memory_$Pointer$.offset_37| .cse2) .cse3 (select (select |#memory_$Pointer$.offset| .cse2) .cse3))) |#memory_$Pointer$.offset|) (= (store |v_#memory_int_43| .cse2 (store (select |v_#memory_int_43| .cse2) .cse3 (_ bv3 32))) |#memory_int|) (not (= main_~p~0.base .cse2)) (= (_ bv0 32) .cse1) (not (= .cse0 .cse2)) (= (_ bv0 32) .cse3) (= |#memory_$Pointer$.base| (store |v_#memory_$Pointer$.base_39| .cse2 (store (select |v_#memory_$Pointer$.base_39| .cse2) .cse3 (select (select |#memory_$Pointer$.base| .cse2) .cse3)))))))) [2018-11-23 11:05:53,994 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse2 (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32)))) (let ((.cse3 (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32))) (.cse4 (bvadd .cse2 (_ bv4 32)))) (let ((.cse0 (select (select |#memory_$Pointer$.offset| .cse3) .cse4)) (.cse1 (select (select |#memory_$Pointer$.base| .cse3) .cse4))) (and (= (_ bv0 32) .cse0) (= main_~p~0.offset (_ bv0 32)) (= (bvadd (select (select |#memory_int| .cse1) .cse0) (_ bv4294967293 32)) (_ bv0 32)) (= .cse2 (_ bv0 32)) (= (select (select |#memory_int| .cse3) .cse2) (_ bv2 32)) (not (= main_~p~0.base .cse1)))))) [2018-11-23 11:05:54,249 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:05:54,252 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 104 treesize of output 86 [2018-11-23 11:05:54,273 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 78 treesize of output 61 [2018-11-23 11:05:54,275 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:54,308 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 19 [2018-11-23 11:05:54,310 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:54,325 INFO L267 ElimStorePlain]: Start of recursive call 2: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:54,350 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:05:54,352 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:05:54,353 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 40 treesize of output 40 [2018-11-23 11:05:54,378 INFO L478 Elim1Store]: Elim1 applied some preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 27 treesize of output 28 [2018-11-23 11:05:54,384 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 2 xjuncts. [2018-11-23 11:05:54,412 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2018-11-23 11:05:54,413 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:05:54,426 INFO L267 ElimStorePlain]: Start of recursive call 5: 2 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:05:54,447 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 2 dim-2 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-11-23 11:05:54,448 INFO L202 ElimStorePlain]: Needed 7 recursive calls to eliminate 3 variables, input treesize:118, output treesize:33 [2018-11-23 11:05:54,468 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:05:54,468 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_$Pointer$.base|, v_main_~p~0.base_60, |#memory_$Pointer$.offset|]. (let ((.cse0 (select (select |#memory_$Pointer$.offset| v_main_~p~0.base_60) (_ bv4 32)))) (let ((.cse3 (select (select |#memory_$Pointer$.base| v_main_~p~0.base_60) (_ bv4 32))) (.cse4 (bvadd .cse0 (_ bv4 32)))) (let ((.cse1 (select (select |#memory_$Pointer$.offset| .cse3) .cse4)) (.cse2 (select (select |#memory_$Pointer$.base| .cse3) .cse4))) (and (= main_~p~0.offset .cse0) (= (_ bv0 32) .cse1) (= (bvadd (select (select |#memory_int| .cse2) .cse1) (_ bv4294967293 32)) (_ bv0 32)) (= (_ bv0 32) (bvadd (select (select |#memory_int| .cse3) .cse0) (_ bv4294967294 32))) (not (= v_main_~p~0.base_60 .cse2)) (= (_ bv2 32) (select (select |#memory_int| v_main_~p~0.base_60) (_ bv0 32))) (= (_ bv0 32) .cse0) (= .cse3 main_~p~0.base))))) [2018-11-23 11:05:54,469 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_main_~p~0.base_60, v_arrayElimCell_115]. (and (= (_ bv0 32) (bvadd (select (select |#memory_int| main_~p~0.base) main_~p~0.offset) (_ bv4294967294 32))) (= main_~p~0.offset (_ bv0 32)) (not (= v_main_~p~0.base_60 main_~p~0.base)) (= (_ bv2 32) (select (select |#memory_int| v_main_~p~0.base_60) (_ bv0 32))) (= (_ bv0 32) (bvadd (select (select |#memory_int| v_arrayElimCell_115) (_ bv0 32)) (_ bv4294967293 32)))) [2018-11-23 11:05:54,555 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:05:54,557 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:05:54,560 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:05:54,563 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:05:54,566 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 5 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 43 [2018-11-23 11:05:54,626 INFO L478 Elim1Store]: Elim1 applied some preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 2 disjoint index pairs (out of 3 index pairs), introduced 4 new quantified variables, introduced 3 case distinctions, treesize of input 14 treesize of output 37 [2018-11-23 11:05:54,651 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:54,674 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 5 treesize of output 1 [2018-11-23 11:05:54,676 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:54,695 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 5 [2018-11-23 11:05:54,696 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 11:05:54,708 INFO L267 ElimStorePlain]: Start of recursive call 2: 3 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:54,725 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:05:54,726 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 4 variables, input treesize:35, output treesize:5 [2018-11-23 11:05:54,730 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:05:54,731 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, main_~p~0.base, v_main_~p~0.base_60, v_arrayElimCell_115]. (let ((.cse0 (select (select |#memory_int| main_~p~0.base) (_ bv0 32)))) (and (not (= v_main_~p~0.base_60 main_~p~0.base)) (= (bvadd .cse0 (_ bv4294967294 32)) (_ bv0 32)) (= (_ bv2 32) (select (select |#memory_int| v_main_~p~0.base_60) (_ bv0 32))) (= (_ bv3 32) (select (select |#memory_int| v_arrayElimCell_115) (_ bv0 32))) (= .cse0 |main_#t~mem7|))) [2018-11-23 11:05:54,731 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (= (_ bv0 32) (bvadd |main_#t~mem7| (_ bv4294967294 32))) [2018-11-23 11:05:54,763 INFO L256 TraceCheckUtils]: 0: Hoare triple {3506#true} call ULTIMATE.init(); {3506#true} is VALID [2018-11-23 11:05:54,764 INFO L273 TraceCheckUtils]: 1: Hoare triple {3506#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {3506#true} is VALID [2018-11-23 11:05:54,764 INFO L273 TraceCheckUtils]: 2: Hoare triple {3506#true} assume true; {3506#true} is VALID [2018-11-23 11:05:54,764 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3506#true} {3506#true} #90#return; {3506#true} is VALID [2018-11-23 11:05:54,764 INFO L256 TraceCheckUtils]: 4: Hoare triple {3506#true} call #t~ret10 := main(); {3506#true} is VALID [2018-11-23 11:05:54,766 INFO L273 TraceCheckUtils]: 5: Hoare triple {3506#true} ~flag~0 := #t~nondet0;havoc #t~nondet0;havoc ~p~0.base, ~p~0.offset;havoc ~a~0.base, ~a~0.offset;havoc ~t~0.base, ~t~0.offset;call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(8bv32);~a~0.base, ~a~0.offset := #t~malloc1.base, #t~malloc1.offset; {3526#(and (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)))} is VALID [2018-11-23 11:05:54,767 INFO L273 TraceCheckUtils]: 6: Hoare triple {3526#(and (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)))} assume !(~a~0.base == 0bv32 && ~a~0.offset == 0bv32); {3526#(and (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)))} is VALID [2018-11-23 11:05:54,768 INFO L273 TraceCheckUtils]: 7: Hoare triple {3526#(and (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {3533#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2018-11-23 11:05:54,769 INFO L273 TraceCheckUtils]: 8: Hoare triple {3533#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)) (= main_~a~0.offset main_~p~0.offset))} assume !!(0bv32 != #t~nondet2);havoc #t~nondet2; {3533#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2018-11-23 11:05:54,771 INFO L273 TraceCheckUtils]: 9: Hoare triple {3533#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)) (= main_~a~0.offset main_~p~0.offset))} assume !(0bv32 != ~flag~0);call write~intINTTYPE4(2bv32, ~p~0.base, ~p~0.offset, 4bv32); {3533#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2018-11-23 11:05:54,774 INFO L273 TraceCheckUtils]: 10: Hoare triple {3533#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)) (= main_~a~0.offset main_~p~0.offset))} call #t~malloc3.base, #t~malloc3.offset := #Ultimate.alloc(8bv32);~t~0.base, ~t~0.offset := #t~malloc3.base, #t~malloc3.offset; {3543#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= main_~t~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)) (= main_~a~0.offset main_~p~0.offset) (not (= main_~t~0.base main_~a~0.base)) (= (bvadd (select |#valid| main_~t~0.base) (_ bv1 1)) (_ bv0 1)))} is VALID [2018-11-23 11:05:54,775 INFO L273 TraceCheckUtils]: 11: Hoare triple {3543#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= main_~t~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)) (= main_~a~0.offset main_~p~0.offset) (not (= main_~t~0.base main_~a~0.base)) (= (bvadd (select |#valid| main_~t~0.base) (_ bv1 1)) (_ bv0 1)))} assume !(~t~0.base == 0bv32 && ~t~0.offset == 0bv32); {3543#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= main_~t~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)) (= main_~a~0.offset main_~p~0.offset) (not (= main_~t~0.base main_~a~0.base)) (= (bvadd (select |#valid| main_~t~0.base) (_ bv1 1)) (_ bv0 1)))} is VALID [2018-11-23 11:05:54,779 INFO L273 TraceCheckUtils]: 12: Hoare triple {3543#(and (= main_~p~0.base main_~a~0.base) (= main_~a~0.offset (_ bv0 32)) (= main_~t~0.offset (_ bv0 32)) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)) (= main_~a~0.offset main_~p~0.offset) (not (= main_~t~0.base main_~a~0.base)) (= (bvadd (select |#valid| main_~t~0.base) (_ bv1 1)) (_ bv0 1)))} call write~$Pointer$(~t~0.base, ~t~0.offset, ~p~0.base, ~bvadd32(4bv32, ~p~0.offset), 4bv32);call #t~mem4.base, #t~mem4.offset := read~$Pointer$(~p~0.base, ~bvadd32(4bv32, ~p~0.offset), 4bv32);~p~0.base, ~p~0.offset := #t~mem4.base, #t~mem4.offset;havoc #t~mem4.base, #t~mem4.offset; {3550#(and (= main_~a~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~a~0.base)) (= (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~p~0.base) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (= (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (_ bv1 1)) (_ bv0 1)) (= main_~p~0.offset (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)))} is VALID [2018-11-23 11:05:54,780 INFO L273 TraceCheckUtils]: 13: Hoare triple {3550#(and (= main_~a~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~a~0.base)) (= (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~p~0.base) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (= (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (_ bv1 1)) (_ bv0 1)) (= main_~p~0.offset (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)))} assume !!(0bv32 != #t~nondet2);havoc #t~nondet2; {3550#(and (= main_~a~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~a~0.base)) (= (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~p~0.base) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (= (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (_ bv1 1)) (_ bv0 1)) (= main_~p~0.offset (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)))} is VALID [2018-11-23 11:05:54,783 INFO L273 TraceCheckUtils]: 14: Hoare triple {3550#(and (= main_~a~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~a~0.base)) (= (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~p~0.base) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (= (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (_ bv1 1)) (_ bv0 1)) (= main_~p~0.offset (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)))} assume !(0bv32 != ~flag~0);call write~intINTTYPE4(2bv32, ~p~0.base, ~p~0.offset, 4bv32); {3557#(and (= main_~a~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~a~0.base)) (= (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~p~0.base) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (= (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (_ bv1 1)) (_ bv0 1)) (= main_~p~0.offset (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)) (= (_ bv2 32) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))))))} is VALID [2018-11-23 11:05:54,786 INFO L273 TraceCheckUtils]: 15: Hoare triple {3557#(and (= main_~a~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~a~0.base)) (= (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~p~0.base) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (= (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (_ bv1 1)) (_ bv0 1)) (= main_~p~0.offset (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (= (bvadd (select |#valid| main_~a~0.base) (_ bv1 1)) (_ bv0 1)) (= (_ bv2 32) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))))))} call #t~malloc3.base, #t~malloc3.offset := #Ultimate.alloc(8bv32);~t~0.base, ~t~0.offset := #t~malloc3.base, #t~malloc3.offset; {3561#(and (not (= (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~t~0.base)) (= main_~a~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~a~0.base)) (= (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~p~0.base) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (= main_~p~0.offset (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (= main_~t~0.offset (_ bv0 32)) (not (= main_~t~0.base main_~a~0.base)) (= (_ bv2 32) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))))))} is VALID [2018-11-23 11:05:54,788 INFO L273 TraceCheckUtils]: 16: Hoare triple {3561#(and (not (= (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~t~0.base)) (= main_~a~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~a~0.base)) (= (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~p~0.base) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (= main_~p~0.offset (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (= main_~t~0.offset (_ bv0 32)) (not (= main_~t~0.base main_~a~0.base)) (= (_ bv2 32) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))))))} assume !(~t~0.base == 0bv32 && ~t~0.offset == 0bv32); {3561#(and (not (= (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~t~0.base)) (= main_~a~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~a~0.base)) (= (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~p~0.base) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (= main_~p~0.offset (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (= main_~t~0.offset (_ bv0 32)) (not (= main_~t~0.base main_~a~0.base)) (= (_ bv2 32) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))))))} is VALID [2018-11-23 11:05:54,794 INFO L273 TraceCheckUtils]: 17: Hoare triple {3561#(and (not (= (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~t~0.base)) (= main_~a~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~a~0.base)) (= (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) main_~p~0.base) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (= main_~p~0.offset (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (= main_~t~0.offset (_ bv0 32)) (not (= main_~t~0.base main_~a~0.base)) (= (_ bv2 32) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))))))} call write~$Pointer$(~t~0.base, ~t~0.offset, ~p~0.base, ~bvadd32(4bv32, ~p~0.offset), 4bv32);call #t~mem4.base, #t~mem4.offset := read~$Pointer$(~p~0.base, ~bvadd32(4bv32, ~p~0.offset), 4bv32);~p~0.base, ~p~0.offset := #t~mem4.base, #t~mem4.offset;havoc #t~mem4.base, #t~mem4.offset; {3568#(and (= main_~a~0.offset (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) (_ bv4 32)))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (= main_~p~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) (_ bv4 32)))) (= main_~p~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) (_ bv4 32))))) (= (_ bv2 32) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))))) (not (= main_~a~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) (_ bv4 32))))))} is VALID [2018-11-23 11:05:54,796 INFO L273 TraceCheckUtils]: 18: Hoare triple {3568#(and (= main_~a~0.offset (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) (_ bv4 32)))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (= main_~p~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) (_ bv4 32)))) (= main_~p~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) (_ bv4 32))))) (= (_ bv2 32) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))))) (not (= main_~a~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) (_ bv4 32))))))} assume !(0bv32 != #t~nondet2);havoc #t~nondet2; {3568#(and (= main_~a~0.offset (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) (_ bv4 32)))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (= main_~p~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) (_ bv4 32)))) (= main_~p~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) (_ bv4 32))))) (= (_ bv2 32) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))))) (not (= main_~a~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) (_ bv4 32))))))} is VALID [2018-11-23 11:05:54,801 INFO L273 TraceCheckUtils]: 19: Hoare triple {3568#(and (= main_~a~0.offset (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) (_ bv4 32)))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (= main_~p~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) (_ bv4 32)))) (= main_~p~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) (_ bv4 32))))) (= (_ bv2 32) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))))) (not (= main_~a~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| main_~a~0.base) (bvadd main_~a~0.offset (_ bv4 32))) (_ bv4 32))))))} call write~intINTTYPE4(3bv32, ~p~0.base, ~p~0.offset, 4bv32);~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {3575#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32)) (_ bv4 32)))) (= main_~p~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32)) (_ bv0 32)) (= (bvadd (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32)) (_ bv4 32)))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32)) (_ bv4 32)))) (_ bv4294967293 32)) (_ bv0 32)) (= (bvadd (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32))) (_ bv4294967294 32)) (_ bv0 32)) (not (= main_~p~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32)) (_ bv4 32))))))} is VALID [2018-11-23 11:05:54,802 INFO L273 TraceCheckUtils]: 20: Hoare triple {3575#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32)) (_ bv4 32)))) (= main_~p~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32)) (_ bv0 32)) (= (bvadd (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32)) (_ bv4 32)))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32)) (_ bv4 32)))) (_ bv4294967293 32)) (_ bv0 32)) (= (bvadd (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32))) (_ bv4294967294 32)) (_ bv0 32)) (not (= main_~p~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32)) (_ bv4 32))))))} assume !(0bv32 != ~flag~0); {3575#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32)) (_ bv4 32)))) (= main_~p~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32)) (_ bv0 32)) (= (bvadd (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32)) (_ bv4 32)))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32)) (_ bv4 32)))) (_ bv4294967293 32)) (_ bv0 32)) (= (bvadd (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32))) (_ bv4294967294 32)) (_ bv0 32)) (not (= main_~p~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32)) (_ bv4 32))))))} is VALID [2018-11-23 11:05:54,803 INFO L273 TraceCheckUtils]: 21: Hoare triple {3575#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32)) (_ bv4 32)))) (= main_~p~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32)) (_ bv0 32)) (= (bvadd (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32)) (_ bv4 32)))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32)) (_ bv4 32)))) (_ bv4294967293 32)) (_ bv0 32)) (= (bvadd (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32))) (_ bv4294967294 32)) (_ bv0 32)) (not (= main_~p~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32)) (_ bv4 32))))))} call #t~mem7 := read~intINTTYPE4(~p~0.base, ~p~0.offset, 4bv32); {3582#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32)) (_ bv4 32)))) (= main_~p~0.offset (_ bv0 32)) (= (select (select |#memory_int| main_~p~0.base) main_~p~0.offset) |main_#t~mem7|) (= (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32)) (_ bv0 32)) (= (bvadd (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32)) (_ bv4 32)))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32)) (_ bv4 32)))) (_ bv4294967293 32)) (_ bv0 32)) (= (bvadd (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32))) (_ bv4294967294 32)) (_ bv0 32)) (not (= main_~p~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32)) (_ bv4 32))))))} is VALID [2018-11-23 11:05:54,807 INFO L273 TraceCheckUtils]: 22: Hoare triple {3582#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32)) (_ bv4 32)))) (= main_~p~0.offset (_ bv0 32)) (= (select (select |#memory_int| main_~p~0.base) main_~p~0.offset) |main_#t~mem7|) (= (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32)) (_ bv0 32)) (= (bvadd (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32)) (_ bv4 32)))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32)) (_ bv4 32)))) (_ bv4294967293 32)) (_ bv0 32)) (= (bvadd (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32))) (_ bv4294967294 32)) (_ bv0 32)) (not (= main_~p~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~p~0.base) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| main_~p~0.base) (_ bv4 32)) (_ bv4 32))))))} assume !!(2bv32 == #t~mem7);havoc #t~mem7;call #t~mem8.base, #t~mem8.offset := read~$Pointer$(~p~0.base, ~bvadd32(4bv32, ~p~0.offset), 4bv32);~p~0.base, ~p~0.offset := #t~mem8.base, #t~mem8.offset;havoc #t~mem8.base, #t~mem8.offset; {3586#(and (= main_~p~0.offset (_ bv0 32)) (= (_ bv2 32) (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (exists ((v_main_~p~0.base_60 (_ BitVec 32))) (and (not (= v_main_~p~0.base_60 main_~p~0.base)) (= (_ bv2 32) (select (select |#memory_int| v_main_~p~0.base_60) (_ bv0 32))))) (exists ((v_arrayElimCell_115 (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| v_arrayElimCell_115) (_ bv0 32)))))} is VALID [2018-11-23 11:05:54,808 INFO L273 TraceCheckUtils]: 23: Hoare triple {3586#(and (= main_~p~0.offset (_ bv0 32)) (= (_ bv2 32) (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (exists ((v_main_~p~0.base_60 (_ BitVec 32))) (and (not (= v_main_~p~0.base_60 main_~p~0.base)) (= (_ bv2 32) (select (select |#memory_int| v_main_~p~0.base_60) (_ bv0 32))))) (exists ((v_arrayElimCell_115 (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| v_arrayElimCell_115) (_ bv0 32)))))} call #t~mem7 := read~intINTTYPE4(~p~0.base, ~p~0.offset, 4bv32); {3590#(= (_ bv2 32) |main_#t~mem7|)} is VALID [2018-11-23 11:05:54,808 INFO L273 TraceCheckUtils]: 24: Hoare triple {3590#(= (_ bv2 32) |main_#t~mem7|)} assume !(2bv32 == #t~mem7);havoc #t~mem7; {3507#false} is VALID [2018-11-23 11:05:54,809 INFO L273 TraceCheckUtils]: 25: Hoare triple {3507#false} call #t~mem9 := read~intINTTYPE4(~p~0.base, ~p~0.offset, 4bv32); {3507#false} is VALID [2018-11-23 11:05:54,809 INFO L273 TraceCheckUtils]: 26: Hoare triple {3507#false} assume 3bv32 != #t~mem9;havoc #t~mem9; {3507#false} is VALID [2018-11-23 11:05:54,809 INFO L273 TraceCheckUtils]: 27: Hoare triple {3507#false} assume !false; {3507#false} is VALID [2018-11-23 11:05:54,813 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:05:54,813 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 11:05:55,182 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:05:55,206 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:05:55,304 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:05:55,329 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:05:55,373 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-2 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-11-23 11:05:55,374 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 2 variables, input treesize:78, output treesize:64 [2018-11-23 11:05:55,661 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:05:55,661 WARN L384 uantifierElimination]: Input elimination task: ∀ [|v_#memory_$Pointer$.base_40|, |v_#memory_$Pointer$.offset_38|]. (let ((.cse0 (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset (_ bv3 32))))) (or (not (= |v_#memory_$Pointer$.base_40| (store |#memory_$Pointer$.base| main_~p~0.base (store (select |#memory_$Pointer$.base| main_~p~0.base) main_~p~0.offset (select (select |v_#memory_$Pointer$.base_40| main_~p~0.base) main_~p~0.offset))))) (not (= |v_#memory_$Pointer$.offset_38| (store |#memory_$Pointer$.offset| main_~p~0.base (store (select |#memory_$Pointer$.offset| main_~p~0.base) main_~p~0.offset (select (select |v_#memory_$Pointer$.offset_38| main_~p~0.base) main_~p~0.offset))))) (not (= (bvadd (select (select .cse0 main_~a~0.base) main_~a~0.offset) (_ bv4294967294 32)) (_ bv0 32))) (= (_ bv2 32) (let ((.cse1 (bvadd main_~a~0.offset (_ bv4 32)))) (select (select .cse0 (select (select |v_#memory_$Pointer$.base_40| main_~a~0.base) .cse1)) (select (select |v_#memory_$Pointer$.offset_38| main_~a~0.base) .cse1)))))) [2018-11-23 11:05:55,661 WARN L385 uantifierElimination]: ElimStorePlain result: ∀ [v_DerPreprocessor_34, v_DerPreprocessor_36]. (let ((.cse0 (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset (_ bv3 32))))) (or (= (bvadd (let ((.cse1 (bvadd main_~a~0.offset (_ bv4 32)))) (select (select .cse0 (select (select (store |#memory_$Pointer$.base| main_~p~0.base (store (select |#memory_$Pointer$.base| main_~p~0.base) main_~p~0.offset v_DerPreprocessor_34)) main_~a~0.base) .cse1)) (select (select (store |#memory_$Pointer$.offset| main_~p~0.base (store (select |#memory_$Pointer$.offset| main_~p~0.base) main_~p~0.offset v_DerPreprocessor_36)) main_~a~0.base) .cse1))) (_ bv4294967294 32)) (_ bv0 32)) (not (= (bvadd (select (select .cse0 main_~a~0.base) main_~a~0.offset) (_ bv4294967294 32)) (_ bv0 32))))) [2018-11-23 11:05:56,127 WARN L180 SmtUtils]: Spent 226.00 ms on a formula simplification that was a NOOP. DAG size: 60 [2018-11-23 11:05:56,143 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:05:56,258 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:05:56,278 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:05:56,338 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:05:56,358 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:05:56,445 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:05:56,459 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:05:56,526 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:05:56,987 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 12 dim-0 vars, and 4 xjuncts. [2018-11-23 11:05:56,988 INFO L202 ElimStorePlain]: Needed 9 recursive calls to eliminate 3 variables, input treesize:124, output treesize:419 [2018-11-23 11:05:59,485 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:05:59,486 WARN L384 uantifierElimination]: Input elimination task: ∀ [v_DerPreprocessor_34, |v_#memory_int_45|, v_DerPreprocessor_36]. (let ((.cse0 (store |v_#memory_int_45| main_~t~0.base (store (select |v_#memory_int_45| main_~t~0.base) main_~t~0.offset (_ bv3 32)))) (.cse2 (bvadd main_~p~0.offset (_ bv4 32)))) (or (not (= (bvadd (select (select .cse0 main_~a~0.base) main_~a~0.offset) (_ bv4294967294 32)) (_ bv0 32))) (= (bvadd (let ((.cse3 (bvadd main_~a~0.offset (_ bv4 32)))) (select (select .cse0 (select (select (let ((.cse1 (store |#memory_$Pointer$.base| main_~p~0.base (store (select |#memory_$Pointer$.base| main_~p~0.base) .cse2 main_~t~0.base)))) (store .cse1 main_~t~0.base (store (select .cse1 main_~t~0.base) main_~t~0.offset v_DerPreprocessor_34))) main_~a~0.base) .cse3)) (select (select (let ((.cse4 (store |#memory_$Pointer$.offset| main_~p~0.base (store (select |#memory_$Pointer$.offset| main_~p~0.base) .cse2 main_~t~0.offset)))) (store .cse4 main_~t~0.base (store (select .cse4 main_~t~0.base) main_~t~0.offset v_DerPreprocessor_36))) main_~a~0.base) .cse3))) (_ bv4294967294 32)) (_ bv0 32)) (not (= (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) .cse2 (select (select |v_#memory_int_45| main_~p~0.base) .cse2))) |v_#memory_int_45|)))) [2018-11-23 11:05:59,486 WARN L385 uantifierElimination]: ElimStorePlain result: ∀ [v_prenex_21, v_prenex_22, v_DerPreprocessor_44, v_prenex_23, v_DerPreprocessor_38, v_prenex_24, v_prenex_20, v_DerPreprocessor_42, v_prenex_19, v_DerPreprocessor_34, v_DerPreprocessor_40, v_DerPreprocessor_36]. (let ((.cse6 (bvadd main_~p~0.offset (_ bv4 32)))) (let ((.cse0 (store |#memory_$Pointer$.offset| main_~p~0.base (store (select |#memory_$Pointer$.offset| main_~p~0.base) .cse6 main_~t~0.offset))) (.cse3 (store |#memory_$Pointer$.base| main_~p~0.base (store (select |#memory_$Pointer$.base| main_~p~0.base) .cse6 main_~t~0.base)))) (let ((.cse8 (= main_~a~0.offset main_~t~0.offset)) (.cse4 (select .cse3 main_~t~0.base)) (.cse1 (select .cse0 main_~t~0.base)) (.cse2 (bvadd main_~a~0.offset (_ bv4 32))) (.cse7 (= main_~t~0.base main_~a~0.base)) (.cse5 (select |#memory_int| main_~p~0.base))) (and (or (not (= main_~t~0.offset (select (select (store .cse0 main_~t~0.base (store .cse1 main_~t~0.offset v_prenex_21)) main_~a~0.base) .cse2))) (not (= main_~t~0.base (select (select (store .cse3 main_~t~0.base (store .cse4 main_~t~0.offset v_prenex_22)) main_~a~0.base) .cse2))) (not (= (bvadd (select (select (store |#memory_int| main_~p~0.base (store .cse5 .cse6 v_DerPreprocessor_44)) main_~a~0.base) main_~a~0.offset) (_ bv4294967294 32)) (_ bv0 32))) .cse7) (or .cse8 (not (= (bvadd (select (select (store |#memory_int| main_~p~0.base (store .cse5 .cse6 v_DerPreprocessor_38)) main_~a~0.base) main_~a~0.offset) (_ bv4294967294 32)) (_ bv0 32))) (not (= main_~t~0.offset (select (select (store .cse0 main_~t~0.base (store .cse1 main_~t~0.offset v_prenex_23)) main_~a~0.base) .cse2))) (not (= main_~t~0.base (select (select (store .cse3 main_~t~0.base (store .cse4 main_~t~0.offset v_prenex_24)) main_~a~0.base) .cse2)))) (let ((.cse9 (store |#memory_int| main_~p~0.base (store .cse5 .cse6 v_DerPreprocessor_42)))) (or .cse8 (= (_ bv2 32) (select (select .cse9 (select (select (store .cse3 main_~t~0.base (store .cse4 main_~t~0.offset v_prenex_20)) main_~a~0.base) .cse2)) (select (select (store .cse0 main_~t~0.base (store .cse1 main_~t~0.offset v_prenex_19)) main_~a~0.base) .cse2))) (not (= (bvadd (select (select .cse9 main_~a~0.base) main_~a~0.offset) (_ bv4294967294 32)) (_ bv0 32))))) (let ((.cse10 (store |#memory_int| main_~p~0.base (store .cse5 .cse6 v_DerPreprocessor_40)))) (or (= (_ bv2 32) (select (select .cse10 (select (select (store .cse3 main_~t~0.base (store .cse4 main_~t~0.offset v_DerPreprocessor_34)) main_~a~0.base) .cse2)) (select (select (store .cse0 main_~t~0.base (store .cse1 main_~t~0.offset v_DerPreprocessor_36)) main_~a~0.base) .cse2))) .cse7 (not (= (bvadd (select (select .cse10 main_~a~0.base) main_~a~0.offset) (_ bv4294967294 32)) (_ bv0 32))))))))) [2018-11-23 11:06:00,360 WARN L180 SmtUtils]: Spent 456.00 ms on a formula simplification that was a NOOP. DAG size: 127 [2018-11-23 11:06:22,906 WARN L180 SmtUtils]: Spent 13.52 s on a formula simplification that was a NOOP. DAG size: 156 [2018-11-23 11:06:33,927 WARN L180 SmtUtils]: Spent 8.53 s on a formula simplification that was a NOOP. DAG size: 248 [2018-11-23 11:06:34,105 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 188 treesize of output 190 [2018-11-23 11:06:34,133 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:06:34,135 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 146 treesize of output 183 [2018-11-23 11:06:34,886 WARN L180 SmtUtils]: Spent 712.00 ms on a formula simplification. DAG size of input: 70 DAG size of output: 67 [2018-11-23 11:06:34,946 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 5 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 61 treesize of output 83 [2018-11-23 11:06:34,950 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 11:06:34,964 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 60 treesize of output 53 [2018-11-23 11:06:34,967 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 11:06:35,319 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 3 xjuncts. [2018-11-23 11:06:37,603 INFO L267 ElimStorePlain]: Start of recursive call 2: 3 dim-1 vars, End of recursive call: and 3 xjuncts. [2018-11-23 11:06:37,743 INFO L303 Elim1Store]: Index analysis took 135 ms [2018-11-23 11:06:37,743 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 142 treesize of output 138 [2018-11-23 11:06:37,829 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 1 [2018-11-23 11:06:37,830 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-11-23 11:06:38,171 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 49 treesize of output 53 [2018-11-23 11:06:38,310 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 50 treesize of output 43 [2018-11-23 11:06:38,314 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-11-23 11:06:38,351 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 49 treesize of output 40 [2018-11-23 11:06:38,357 INFO L267 ElimStorePlain]: Start of recursive call 10: End of recursive call: and 1 xjuncts. [2018-11-23 11:06:38,577 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 11:06:38,950 INFO L267 ElimStorePlain]: Start of recursive call 6: 2 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 11:06:39,657 INFO L303 Elim1Store]: Index analysis took 704 ms [2018-11-23 11:06:39,907 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 2 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 179 treesize of output 223 [2018-11-23 11:06:39,999 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 178 treesize of output 181 [2018-11-23 11:06:40,673 WARN L180 SmtUtils]: Spent 602.00 ms on a formula simplification that was a NOOP. DAG size: 76 [2018-11-23 11:06:40,722 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 49 treesize of output 40 [2018-11-23 11:06:40,724 INFO L267 ElimStorePlain]: Start of recursive call 13: End of recursive call: and 1 xjuncts. [2018-11-23 11:06:40,756 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 50 treesize of output 43 [2018-11-23 11:06:40,760 INFO L267 ElimStorePlain]: Start of recursive call 14: End of recursive call: and 1 xjuncts. [2018-11-23 11:06:41,285 INFO L267 ElimStorePlain]: Start of recursive call 12: 1 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 11:06:43,058 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 173 treesize of output 166 [2018-11-23 11:06:43,065 INFO L267 ElimStorePlain]: Start of recursive call 15: End of recursive call: and 1 xjuncts. [2018-11-23 11:06:43,137 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 4 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 207 treesize of output 200 [2018-11-23 11:06:43,144 INFO L267 ElimStorePlain]: Start of recursive call 16: End of recursive call: and 1 xjuncts. [2018-11-23 11:06:44,788 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:06:44,790 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 139 treesize of output 214 [2018-11-23 11:06:45,403 WARN L180 SmtUtils]: Spent 585.00 ms on a formula simplification. DAG size of input: 65 DAG size of output: 61 [2018-11-23 11:06:45,442 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 80 [2018-11-23 11:06:45,446 INFO L267 ElimStorePlain]: Start of recursive call 18: End of recursive call: and 1 xjuncts. [2018-11-23 11:06:45,728 INFO L267 ElimStorePlain]: Start of recursive call 17: 1 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 11:06:47,107 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 213 treesize of output 207 [2018-11-23 11:06:47,113 INFO L267 ElimStorePlain]: Start of recursive call 19: End of recursive call: and 1 xjuncts. [2018-11-23 11:06:48,355 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 207 treesize of output 210 [2018-11-23 11:06:48,998 WARN L180 SmtUtils]: Spent 610.00 ms on a formula simplification that was a NOOP. DAG size: 73 [2018-11-23 11:06:49,037 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 43 [2018-11-23 11:06:49,041 INFO L267 ElimStorePlain]: Start of recursive call 21: End of recursive call: and 1 xjuncts. [2018-11-23 11:06:49,089 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 47 treesize of output 40 [2018-11-23 11:06:49,091 INFO L267 ElimStorePlain]: Start of recursive call 22: End of recursive call: and 1 xjuncts. [2018-11-23 11:06:49,726 INFO L267 ElimStorePlain]: Start of recursive call 20: 1 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 11:06:51,352 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 174 treesize of output 168 [2018-11-23 11:06:51,357 INFO L267 ElimStorePlain]: Start of recursive call 23: End of recursive call: and 1 xjuncts. [2018-11-23 11:06:53,063 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:06:53,065 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 168 treesize of output 208 [2018-11-23 11:06:54,168 WARN L180 SmtUtils]: Spent 1.07 s on a formula simplification. DAG size of input: 69 DAG size of output: 66 [2018-11-23 11:06:54,207 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 41 [2018-11-23 11:06:54,212 INFO L267 ElimStorePlain]: Start of recursive call 25: End of recursive call: and 1 xjuncts. [2018-11-23 11:06:54,719 INFO L267 ElimStorePlain]: Start of recursive call 24: 1 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 11:06:57,143 INFO L267 ElimStorePlain]: Start of recursive call 11: 8 dim-1 vars, End of recursive call: and 4 xjuncts. [2018-11-23 11:06:57,162 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 151 treesize of output 147 [2018-11-23 11:06:57,184 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 64 treesize of output 64 [2018-11-23 11:06:57,404 WARN L180 SmtUtils]: Spent 200.00 ms on a formula simplification that was a NOOP. DAG size: 45 [2018-11-23 11:06:57,437 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 60 treesize of output 55 [2018-11-23 11:06:57,441 INFO L267 ElimStorePlain]: Start of recursive call 28: End of recursive call: and 1 xjuncts. [2018-11-23 11:06:57,499 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:06:57,500 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 60 treesize of output 49 [2018-11-23 11:06:57,503 INFO L267 ElimStorePlain]: Start of recursive call 29: End of recursive call: and 1 xjuncts. [2018-11-23 11:06:57,560 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:06:57,562 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 61 treesize of output 88 [2018-11-23 11:06:57,566 INFO L267 ElimStorePlain]: Start of recursive call 30: End of recursive call: and 1 xjuncts. [2018-11-23 11:06:57,575 WARN L307 Elim1Store]: Array PQE input equivalent to true [2018-11-23 11:06:57,576 INFO L267 ElimStorePlain]: Start of recursive call 31: End of recursive call: and 1 xjuncts. [2018-11-23 11:06:58,149 INFO L267 ElimStorePlain]: Start of recursive call 27: 1 dim-1 vars, End of recursive call: and 3 xjuncts. [2018-11-23 11:06:58,983 INFO L267 ElimStorePlain]: Start of recursive call 26: 1 dim-1 vars, End of recursive call: and 3 xjuncts. [2018-11-23 11:06:59,068 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 174 treesize of output 136 [2018-11-23 11:06:59,103 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 14 treesize of output 18 [2018-11-23 11:06:59,214 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 13 [2018-11-23 11:06:59,215 INFO L267 ElimStorePlain]: Start of recursive call 34: End of recursive call: and 1 xjuncts. [2018-11-23 11:06:59,293 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 5 [2018-11-23 11:06:59,294 INFO L267 ElimStorePlain]: Start of recursive call 35: End of recursive call: and 1 xjuncts. [2018-11-23 11:06:59,445 INFO L267 ElimStorePlain]: Start of recursive call 33: 1 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 11:06:59,804 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 39 treesize of output 3 [2018-11-23 11:06:59,809 INFO L267 ElimStorePlain]: Start of recursive call 36: End of recursive call: and 1 xjuncts. [2018-11-23 11:07:00,059 INFO L267 ElimStorePlain]: Start of recursive call 32: 2 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 11:07:00,229 INFO L303 Elim1Store]: Index analysis took 165 ms [2018-11-23 11:07:00,352 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 165 treesize of output 169 [2018-11-23 11:07:00,395 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 164 treesize of output 128 [2018-11-23 11:07:00,400 INFO L267 ElimStorePlain]: Start of recursive call 38: End of recursive call: and 1 xjuncts. [2018-11-23 11:07:01,057 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 125 treesize of output 119 [2018-11-23 11:07:01,077 INFO L267 ElimStorePlain]: Start of recursive call 39: End of recursive call: and 1 xjuncts. [2018-11-23 11:07:01,668 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 127 treesize of output 122 [2018-11-23 11:07:01,695 INFO L267 ElimStorePlain]: Start of recursive call 40: End of recursive call: and 1 xjuncts. [2018-11-23 11:07:02,257 INFO L267 ElimStorePlain]: Start of recursive call 37: 3 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 11:07:46,327 WARN L521 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:07:46,328 FATAL L292 ToolchainWalker]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.NullPointerException at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.arrays.MultiDimensionalSort.areDimensionsConsistent(MultiDimensionalSort.java:84) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.arrays.MultiDimensionalSelect.classInvariant(MultiDimensionalSelect.java:113) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.arrays.MultiDimensionalSelect.(MultiDimensionalSelect.java:90) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.arrays.MultiDimensionalStore.isCompatibleSelect(MultiDimensionalStore.java:105) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.arrays.MultiDimensionalStore.(MultiDimensionalStore.java:73) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.arrays.MultiDimensionalSelectOverStore.(MultiDimensionalSelectOverStore.java:48) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.arrays.MultiDimensionalSelectOverStore.convert(MultiDimensionalSelectOverStore.java:75) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ArrayQuantifierEliminationUtils.elimAllSos(ArrayQuantifierEliminationUtils.java:57) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ElimStorePlain.doElimAllRec(ElimStorePlain.java:232) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ElimStorePlain.doElimOneRec(ElimStorePlain.java:225) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ElimStorePlain.doElimAllRec(ElimStorePlain.java:247) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ElimStorePlain.elimAllRec(ElimStorePlain.java:199) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.PartialQuantifierElimination.elim(PartialQuantifierElimination.java:293) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.PartialQuantifierElimination.tryToEliminate(PartialQuantifierElimination.java:101) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.IterativePredicateTransformer$QuantifierEliminationPostprocessor.postprocess(IterativePredicateTransformer.java:245) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.IterativePredicateTransformer.applyPostprocessors(IterativePredicateTransformer.java:439) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.IterativePredicateTransformer.computeBackwardSequence(IterativePredicateTransformer.java:418) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.IterativePredicateTransformer.computeWeakestPreconditionSequence(IterativePredicateTransformer.java:290) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.TraceCheckSpWp.computeInterpolantsUsingUnsatCore(TraceCheckSpWp.java:330) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.TraceCheckSpWp.computeInterpolants(TraceCheckSpWp.java:175) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.TraceCheckSpWp.(TraceCheckSpWp.java:162) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.constructForwardBackward(TraceCheckConstructor.java:224) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.constructTraceCheck(TraceCheckConstructor.java:188) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.get(TraceCheckConstructor.java:165) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.MultiTrackRefinementStrategy.getTraceCheck(MultiTrackRefinementStrategy.java:232) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.BaseRefinementStrategy.checkFeasibility(BaseRefinementStrategy.java:223) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.BaseRefinementStrategy.executeStrategy(BaseRefinementStrategy.java:197) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceAbstractionRefinementEngine.(TraceAbstractionRefinementEngine.java:70) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.isCounterexampleFeasible(BasicCegarLoop.java:456) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterateInternal(AbstractCegarLoop.java:434) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:376) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.iterate(TraceAbstractionStarter.java:334) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:174) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:126) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:123) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:316) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) [2018-11-23 11:07:46,332 INFO L168 Benchmark]: Toolchain (without parser) took 170300.63 ms. Allocated memory was 1.5 GB in the beginning and 2.6 GB in the end (delta: 1.1 GB). Free memory was 1.4 GB in the beginning and 1.8 GB in the end (delta: -324.9 MB). Peak memory consumption was 746.2 MB. Max. memory is 7.1 GB. [2018-11-23 11:07:46,333 INFO L168 Benchmark]: CDTParser took 0.22 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. [2018-11-23 11:07:46,333 INFO L168 Benchmark]: CACSL2BoogieTranslator took 695.61 ms. Allocated memory is still 1.5 GB. Free memory was 1.4 GB in the beginning and 1.4 GB in the end (delta: 34.4 MB). Peak memory consumption was 34.4 MB. Max. memory is 7.1 GB. [2018-11-23 11:07:46,333 INFO L168 Benchmark]: Boogie Procedure Inliner took 120.31 ms. Allocated memory was 1.5 GB in the beginning and 2.3 GB in the end (delta: 737.7 MB). Free memory was 1.4 GB in the beginning and 2.2 GB in the end (delta: -819.1 MB). Peak memory consumption was 16.3 MB. Max. memory is 7.1 GB. [2018-11-23 11:07:46,334 INFO L168 Benchmark]: Boogie Preprocessor took 43.79 ms. Allocated memory is still 2.3 GB. Free memory is still 2.2 GB. There was no memory consumed. Max. memory is 7.1 GB. [2018-11-23 11:07:46,334 INFO L168 Benchmark]: RCFGBuilder took 806.89 ms. Allocated memory is still 2.3 GB. Free memory was 2.2 GB in the beginning and 2.2 GB in the end (delta: 35.0 MB). Peak memory consumption was 35.0 MB. Max. memory is 7.1 GB. [2018-11-23 11:07:46,334 INFO L168 Benchmark]: TraceAbstraction took 168628.87 ms. Allocated memory was 2.3 GB in the beginning and 2.6 GB in the end (delta: 333.4 MB). Free memory was 2.2 GB in the beginning and 1.8 GB in the end (delta: 424.8 MB). Peak memory consumption was 758.2 MB. Max. memory is 7.1 GB. [2018-11-23 11:07:46,336 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - GenericResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.22 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. * CACSL2BoogieTranslator took 695.61 ms. Allocated memory is still 1.5 GB. Free memory was 1.4 GB in the beginning and 1.4 GB in the end (delta: 34.4 MB). Peak memory consumption was 34.4 MB. Max. memory is 7.1 GB. * Boogie Procedure Inliner took 120.31 ms. Allocated memory was 1.5 GB in the beginning and 2.3 GB in the end (delta: 737.7 MB). Free memory was 1.4 GB in the beginning and 2.2 GB in the end (delta: -819.1 MB). Peak memory consumption was 16.3 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 43.79 ms. Allocated memory is still 2.3 GB. Free memory is still 2.2 GB. There was no memory consumed. Max. memory is 7.1 GB. * RCFGBuilder took 806.89 ms. Allocated memory is still 2.3 GB. Free memory was 2.2 GB in the beginning and 2.2 GB in the end (delta: 35.0 MB). Peak memory consumption was 35.0 MB. Max. memory is 7.1 GB. * TraceAbstraction took 168628.87 ms. Allocated memory was 2.3 GB in the beginning and 2.6 GB in the end (delta: 333.4 MB). Free memory was 2.2 GB in the beginning and 1.8 GB in the end (delta: 424.8 MB). Peak memory consumption was 758.2 MB. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: NullPointerException: null de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: NullPointerException: null: de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.arrays.MultiDimensionalSort.areDimensionsConsistent(MultiDimensionalSort.java:84) RESULT: Ultimate could not prove your program: Toolchain returned no result. Received shutdown request...