java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata ./data -tc ../../../trunk/examples/toolchains/AbstractInterpretationInline.xml -s ../../../trunk/examples/settings/ai/array-bench/reach_32bit_array_compound_oct_cong.epf -i ../../../trunk/examples/programs/toy/tooDifficultLoopInvariant/PointerIncrement-simplified03.bpl -------------------------------------------------------------------------------- This is Ultimate 0.1.24-b7bd044-m [2019-01-18 15:36:41,685 INFO L170 SettingsManager]: Resetting all preferences to default values... [2019-01-18 15:36:41,689 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2019-01-18 15:36:41,705 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2019-01-18 15:36:41,706 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2019-01-18 15:36:41,707 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2019-01-18 15:36:41,708 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2019-01-18 15:36:41,710 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2019-01-18 15:36:41,711 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2019-01-18 15:36:41,712 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2019-01-18 15:36:41,713 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2019-01-18 15:36:41,713 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2019-01-18 15:36:41,714 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2019-01-18 15:36:41,715 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2019-01-18 15:36:41,716 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2019-01-18 15:36:41,717 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2019-01-18 15:36:41,718 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2019-01-18 15:36:41,720 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2019-01-18 15:36:41,722 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2019-01-18 15:36:41,724 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2019-01-18 15:36:41,725 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2019-01-18 15:36:41,726 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2019-01-18 15:36:41,728 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2019-01-18 15:36:41,729 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2019-01-18 15:36:41,729 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2019-01-18 15:36:41,730 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2019-01-18 15:36:41,731 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2019-01-18 15:36:41,731 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2019-01-18 15:36:41,732 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2019-01-18 15:36:41,733 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2019-01-18 15:36:41,734 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2019-01-18 15:36:41,734 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2019-01-18 15:36:41,735 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2019-01-18 15:36:41,735 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2019-01-18 15:36:41,736 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2019-01-18 15:36:41,737 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2019-01-18 15:36:41,737 INFO L98 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/ai/array-bench/reach_32bit_array_compound_oct_cong.epf [2019-01-18 15:36:41,749 INFO L110 SettingsManager]: Loading preferences was successful [2019-01-18 15:36:41,750 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2019-01-18 15:36:41,750 INFO L131 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2019-01-18 15:36:41,751 INFO L133 SettingsManager]: * Show backtranslation warnings=false [2019-01-18 15:36:41,751 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2019-01-18 15:36:41,751 INFO L133 SettingsManager]: * User list type=DISABLED [2019-01-18 15:36:41,751 INFO L133 SettingsManager]: * Inline calls to unimplemented procedures=true [2019-01-18 15:36:41,751 INFO L131 SettingsManager]: Preferences of Abstract Interpretation differ from their defaults: [2019-01-18 15:36:41,752 INFO L133 SettingsManager]: * Abstract domain for RCFG-of-the-future=PoormanAbstractDomain [2019-01-18 15:36:41,753 INFO L133 SettingsManager]: * Abstract domain=ArrayDomain [2019-01-18 15:36:41,753 INFO L133 SettingsManager]: * Check feasibility of abstract posts with an SMT solver=true [2019-01-18 15:36:41,753 INFO L133 SettingsManager]: * Interval Domain=false [2019-01-18 15:36:41,754 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2019-01-18 15:36:41,754 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2019-01-18 15:36:41,754 INFO L133 SettingsManager]: * Use SBE=true [2019-01-18 15:36:41,755 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2019-01-18 15:36:41,755 INFO L133 SettingsManager]: * sizeof long=4 [2019-01-18 15:36:41,755 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2019-01-18 15:36:41,756 INFO L133 SettingsManager]: * sizeof POINTER=4 [2019-01-18 15:36:41,756 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2019-01-18 15:36:41,756 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2019-01-18 15:36:41,756 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2019-01-18 15:36:41,756 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2019-01-18 15:36:41,756 INFO L133 SettingsManager]: * sizeof long double=12 [2019-01-18 15:36:41,757 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2019-01-18 15:36:41,757 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2019-01-18 15:36:41,757 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2019-01-18 15:36:41,757 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2019-01-18 15:36:41,757 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2019-01-18 15:36:41,758 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2019-01-18 15:36:41,758 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2019-01-18 15:36:41,758 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2019-01-18 15:36:41,758 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2019-01-18 15:36:41,758 INFO L133 SettingsManager]: * Trace refinement strategy=TAIPAN [2019-01-18 15:36:41,759 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2019-01-18 15:36:41,759 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2019-01-18 15:36:41,759 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2019-01-18 15:36:41,759 INFO L133 SettingsManager]: * Abstract interpretation Mode=USE_PREDICATES [2019-01-18 15:36:41,802 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2019-01-18 15:36:41,815 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2019-01-18 15:36:41,821 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2019-01-18 15:36:41,822 INFO L271 PluginConnector]: Initializing Boogie PL CUP Parser... [2019-01-18 15:36:41,823 INFO L276 PluginConnector]: Boogie PL CUP Parser initialized [2019-01-18 15:36:41,824 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/toy/tooDifficultLoopInvariant/PointerIncrement-simplified03.bpl [2019-01-18 15:36:41,824 INFO L111 BoogieParser]: Parsing: '/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/toy/tooDifficultLoopInvariant/PointerIncrement-simplified03.bpl' [2019-01-18 15:36:41,874 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2019-01-18 15:36:41,877 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2019-01-18 15:36:41,877 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2019-01-18 15:36:41,878 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2019-01-18 15:36:41,879 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2019-01-18 15:36:41,897 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "PointerIncrement-simplified03.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 18.01 03:36:41" (1/1) ... [2019-01-18 15:36:41,911 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "PointerIncrement-simplified03.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 18.01 03:36:41" (1/1) ... [2019-01-18 15:36:41,919 WARN L165 Inliner]: Program contained no entry procedure! [2019-01-18 15:36:41,920 WARN L168 Inliner]: Missing entry procedures: [ULTIMATE.start] [2019-01-18 15:36:41,920 WARN L175 Inliner]: Fallback enabled. All procedures will be processed. [2019-01-18 15:36:41,941 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2019-01-18 15:36:41,942 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2019-01-18 15:36:41,942 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2019-01-18 15:36:41,942 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2019-01-18 15:36:41,954 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "PointerIncrement-simplified03.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 18.01 03:36:41" (1/1) ... [2019-01-18 15:36:41,954 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "PointerIncrement-simplified03.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 18.01 03:36:41" (1/1) ... [2019-01-18 15:36:41,957 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "PointerIncrement-simplified03.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 18.01 03:36:41" (1/1) ... [2019-01-18 15:36:41,957 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "PointerIncrement-simplified03.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 18.01 03:36:41" (1/1) ... [2019-01-18 15:36:41,963 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "PointerIncrement-simplified03.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 18.01 03:36:41" (1/1) ... [2019-01-18 15:36:41,970 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "PointerIncrement-simplified03.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 18.01 03:36:41" (1/1) ... [2019-01-18 15:36:41,971 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "PointerIncrement-simplified03.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 18.01 03:36:41" (1/1) ... [2019-01-18 15:36:41,973 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2019-01-18 15:36:41,974 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2019-01-18 15:36:41,974 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2019-01-18 15:36:41,974 INFO L276 PluginConnector]: RCFGBuilder initialized [2019-01-18 15:36:41,977 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "PointerIncrement-simplified03.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 18.01 03:36:41" (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 [2019-01-18 15:36:42,051 INFO L130 BoogieDeclarations]: Found specification of procedure main [2019-01-18 15:36:42,052 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2019-01-18 15:36:42,052 INFO L130 BoogieDeclarations]: Found specification of procedure ~malloc [2019-01-18 15:36:42,477 INFO L278 CfgBuilder]: Using library mode [2019-01-18 15:36:42,478 INFO L286 CfgBuilder]: Removed 3 assue(true) statements. [2019-01-18 15:36:42,479 INFO L202 PluginConnector]: Adding new model PointerIncrement-simplified03.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 18.01 03:36:42 BoogieIcfgContainer [2019-01-18 15:36:42,479 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2019-01-18 15:36:42,480 INFO L113 PluginConnector]: ------------------------Abstract Interpretation---------------------------- [2019-01-18 15:36:42,480 INFO L271 PluginConnector]: Initializing Abstract Interpretation... [2019-01-18 15:36:42,480 INFO L276 PluginConnector]: Abstract Interpretation initialized [2019-01-18 15:36:42,481 INFO L185 PluginConnector]: Executing the observer AbstractInterpretationRcfgObserver from plugin Abstract Interpretation for "PointerIncrement-simplified03.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 18.01 03:36:42" (1/1) ... [2019-01-18 15:36:42,534 INFO L101 FixpointEngine]: Starting fixpoint engine with domain ArrayDomain (maxUnwinding=3, maxParallelStates=2) [2019-01-18 15:36:44,970 WARN L212 ngHoareTripleChecker]: Soundness check inconclusive for the following hoare triple [2019-01-18 15:36:44,971 WARN L217 ngHoareTripleChecker]: Expected: VALID Actual: UNKNOWN [2019-01-18 15:36:44,973 WARN L219 ngHoareTripleChecker]: Solver was "Z3" in version "4.8.3" [2019-01-18 15:36:44,975 WARN L223 ngHoareTripleChecker]: -- [2019-01-18 15:36:44,975 WARN L224 ngHoareTripleChecker]: Pre: {2147483647#(forall ((v_idx_7 Int) (v_idx_8 Int) (v_idx_9 Int) (v_idx_3 Int) (v_idx_10 Int) (v_idx_4 Int) (v_idx_5 Int) (v_idx_6 Int) (v_idx_1 Int) (v_idx_2 Int)) (exists ((v_v_3_1 Bool) (v_v_8_1 Int) (v_v_4_1 Bool) (v_v_0_1 Int) (v_v_7_1 (Array Int Int)) (v_v_1_1 Int) (v_v_5_1 (Array Int Int)) (v_v_2_1 Int) (v_v_9_1 Bool) (v_v_6_1 Int)) (and (= (select |c_#length| v_idx_6) v_v_1_1) (= (select |c_old(#valid)| v_idx_3) v_v_4_1) (= v_v_0_1 (select |c_main_~malloc_old_#length| v_idx_1)) (= (select v_v_5_1 v_idx_10) v_v_6_1) (= v_v_5_1 (select |c_#memory_int| v_idx_4)) (= (select |c_old(#memory_int)| v_idx_5) v_v_7_1) (= v_v_2_1 (select |c_old(#length)| v_idx_7)) (= (select |c_#valid| v_idx_2) v_v_3_1) (= v_v_9_1 (select |c_main_~malloc_old_#valid| v_idx_9)) (= v_v_8_1 (select v_v_7_1 v_idx_8)))))} [2019-01-18 15:36:44,984 WARN L228 ngHoareTripleChecker]: Action: ~malloc_old_#length, ~malloc_old_#valid := #length, #valid;~malloc_~size := 400;havoc ~malloc_#res.base, ~malloc_#res.offset;havoc #valid, #length;assume ~malloc_old_#valid[~malloc_#res.base] == false;assume #valid == ~malloc_old_#valid[~malloc_#res.base := true];assume ~malloc_#res.offset == 0;assume ~malloc_#res.base != 0;assume #length == ~malloc_old_#length[~malloc_#res.base := ~malloc_~size];p.base, p.offset := ~malloc_#res.base, ~malloc_#res.offset;q.base, q.offset := p.base, p.offset; [2019-01-18 15:36:44,986 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (and (not (select |c_main_~malloc_old_#valid_primed| |c_main_~malloc_#res.base_primed|)) (= c_main_p.offset_primed |c_main_~malloc_#res.offset_primed|) (= (store |c_main_~malloc_old_#length_primed| |c_main_~malloc_#res.base_primed| c_main_~malloc_~size_primed) |c_#length_primed|) (= |c_main_~malloc_old_#valid_primed| |c_#valid|) (= c_main_p.base_primed |c_main_~malloc_#res.base_primed|) (= |c_main_~malloc_old_#length_primed| |c_#length|) (= c_main_~malloc_~size_primed 400) (= c_main_q.offset_primed c_main_p.offset_primed) (= c_main_q.base_primed c_main_p.base_primed) (= (store |c_main_~malloc_old_#valid_primed| |c_main_~malloc_#res.base_primed| true) |c_#valid_primed|) (= 0 |c_main_~malloc_#res.offset_primed|) (not (= |c_main_~malloc_#res.base_primed| 0))) [2019-01-18 15:36:44,987 WARN L230 ngHoareTripleChecker]: Post: {2147483646#(forall ((v_idx_14 Int) (v_idx_15 Int) (v_idx_23 Int) (v_idx_12 Int) (v_idx_24 Int) (v_idx_13 Int) (v_idx_21 Int) (v_idx_22 Int) (v_idx_11 Int) (v_idx_20 Int) (v_idx_18 Int) (v_idx_19 Int) (v_idx_16 Int) (v_idx_17 Int)) (exists ((v_v_24_1 Int) (v_v_4_1 Bool) (v_v_26_1 Int) (v_v_8_1 Int) (v_v_19_1 Bool) (v_v_18_1 Bool) (v_v_12_1 Bool) (v_v_7_1 (Array Int Int)) (v_v_1_1 Int) (v_v_2_1 Int) (v_v_5_1 (Array Int Int)) (v_v_6_1 Int) (v_v_20_1 Bool)) (and (= (select |c_old(#valid)| v_idx_12) v_v_4_1) (<= (- c_main_q.offset (- |c_main_~malloc_#res.offset|)) 0) (not (= |c_main_~malloc_#res.base| 0)) (<= (+ |c_main_~malloc_#res.offset| c_main_p.offset) 0) (<= (- (- |c_main_~malloc_#res.offset|) c_main_~malloc_~size) (- 400)) (<= (- |c_main_~malloc_#res.offset| (- c_main_~malloc_~size)) 400) v_v_19_1 (<= c_main_q.offset c_main_p.offset) (= (select |c_main_~malloc_old_#length| v_idx_11) v_v_1_1) (<= (- (- c_main_p.offset) c_main_p.offset) 0) (<= (- c_main_p.offset c_main_q.offset) 0) (or (<= (+ |c_main_~malloc_#res.base| 1) v_idx_14) (= v_v_19_1 (select |c_#valid| v_idx_14)) (< v_idx_14 |c_main_~malloc_#res.base|)) (<= (- (- c_main_p.offset) (- c_main_q.offset)) 0) (= 400 (+ c_main_p.offset 400)) (= c_main_q.offset 0) (= (select |c_main_~malloc_old_#valid| v_idx_23) v_v_12_1) (= c_main_~malloc_~size 400) (<= (- (- |c_main_~malloc_#res.offset|) (- c_main_~malloc_~size)) 400) (<= (- c_main_p.offset c_main_~malloc_~size) (- 400)) (<= (- (- c_main_p.offset) c_main_q.offset) 0) (<= (- c_main_p.offset (- |c_main_~malloc_#res.offset|)) 0) (<= (- (- c_main_p.offset) c_main_~malloc_~size) (- 400)) (<= (- c_main_q.offset (- c_main_~malloc_~size)) 400) (<= (- |c_main_~malloc_#res.offset| c_main_~malloc_~size) (- 400)) (not (= c_main_q.base 0)) (<= 0 (+ |c_main_~malloc_#res.offset| c_main_p.offset)) (<= (- c_main_q.offset (- c_main_q.offset)) 0) (<= (+ c_main_~malloc_~size c_main_p.offset) 400) (<= (- (- c_main_q.offset) (- |c_main_~malloc_#res.offset|)) 0) (<= (+ c_main_q.offset c_main_p.offset) 0) (<= (- (- c_main_q.offset) (- c_main_~malloc_~size)) 400) (<= (- (- |c_main_~malloc_#res.offset|) |c_main_~malloc_#res.offset|) 0) (or (<= |c_main_~malloc_#res.base| v_idx_13) (= (select |c_#valid| v_idx_13) v_v_18_1)) (<= 0 (+ c_main_q.offset c_main_p.offset)) (= |c_main_~malloc_#res.offset| 0) (or (= (select |c_#length| v_idx_20) (+ c_main_p.offset 400)) (< v_idx_20 |c_main_~malloc_#res.base|) (<= (+ |c_main_~malloc_#res.base| 1) v_idx_20)) (<= (- c_main_p.offset (- c_main_~malloc_~size)) 400) (<= (- c_main_~malloc_~size (- c_main_~malloc_~size)) 800) (<= c_main_p.offset |c_main_~malloc_#res.offset|) (<= (- c_main_p.offset (- c_main_p.offset)) 0) (or (< v_idx_21 (+ |c_main_~malloc_#res.base| 1)) (= (select |c_#length| v_idx_21) v_v_26_1)) (<= (* 2 c_main_p.offset) 0) (= v_v_7_1 (select |c_old(#memory_int)| v_idx_17)) (<= c_main_p.offset c_main_q.offset) (<= |c_main_~malloc_#res.offset| c_main_p.offset) (<= (- (- c_main_~malloc_~size) c_main_~malloc_~size) (- 800)) (<= (- (- c_main_p.offset) (- c_main_~malloc_~size)) 400) (<= (- c_main_p.offset |c_main_~malloc_#res.offset|) 0) (<= (+ c_main_p.offset 400) c_main_~malloc_~size) (= v_v_8_1 (select v_v_7_1 v_idx_22)) (<= (- (- c_main_q.offset) |c_main_~malloc_#res.offset|) 0) (or (= v_v_24_1 (select |c_#length| v_idx_19)) (<= |c_main_~malloc_#res.base| v_idx_19)) (<= (- |c_main_~malloc_#res.offset| (- |c_main_~malloc_#res.offset|)) 0) (= (select |c_old(#length)| v_idx_18) v_v_2_1) (= v_v_5_1 (select |c_#memory_int| v_idx_16)) (<= (- (- c_main_p.offset) |c_main_~malloc_#res.offset|) 0) (= c_main_p.offset 0) (or (< v_idx_15 (+ |c_main_~malloc_#res.base| 1)) (= (select |c_#valid| v_idx_15) v_v_20_1)) (<= (- (- c_main_q.offset) c_main_q.offset) 0) (<= (- c_main_q.offset c_main_~malloc_~size) (- 400)) (<= (- c_main_p.offset (- c_main_q.offset)) 0) (<= 0 (* 2 c_main_p.offset)) (<= (- c_main_q.offset |c_main_~malloc_#res.offset|) 0) (not (= c_main_p.base 0)) (<= (- (- c_main_p.offset) (- |c_main_~malloc_#res.offset|)) 0) (<= (- (- c_main_q.offset) c_main_~malloc_~size) (- 400)) (= (select v_v_5_1 v_idx_24) v_v_6_1) (<= c_main_~malloc_~size (+ c_main_p.offset 400)) (<= 400 (+ c_main_~malloc_~size c_main_p.offset)))))} [2019-01-18 15:36:44,987 WARN L263 ngHoareTripleChecker]: unsat core / model generation is disabled, enable it to get more details [2019-01-18 15:36:44,991 WARN L268 ngHoareTripleChecker]: -- [2019-01-18 15:36:44,991 WARN L269 ngHoareTripleChecker]: Simplified triple [2019-01-18 15:36:45,185 WARN L270 ngHoareTripleChecker]: Pre: {2147483647#true} [2019-01-18 15:36:45,186 WARN L274 ngHoareTripleChecker]: Action: ~malloc_old_#length, ~malloc_old_#valid := #length, #valid;~malloc_~size := 400;havoc ~malloc_#res.base, ~malloc_#res.offset;havoc #valid, #length;assume ~malloc_old_#valid[~malloc_#res.base] == false;assume #valid == ~malloc_old_#valid[~malloc_#res.base := true];assume ~malloc_#res.offset == 0;assume ~malloc_#res.base != 0;assume #length == ~malloc_old_#length[~malloc_#res.base := ~malloc_~size];p.base, p.offset := ~malloc_#res.base, ~malloc_#res.offset;q.base, q.offset := p.base, p.offset; [2019-01-18 15:36:45,187 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (and (not (select |c_main_~malloc_old_#valid_primed| |c_main_~malloc_#res.base_primed|)) (= c_main_p.offset_primed |c_main_~malloc_#res.offset_primed|) (= (store |c_main_~malloc_old_#length_primed| |c_main_~malloc_#res.base_primed| c_main_~malloc_~size_primed) |c_#length_primed|) (= |c_main_~malloc_old_#valid_primed| |c_#valid|) (= c_main_p.base_primed |c_main_~malloc_#res.base_primed|) (= |c_main_~malloc_old_#length_primed| |c_#length|) (= c_main_~malloc_~size_primed 400) (= c_main_q.offset_primed c_main_p.offset_primed) (= c_main_q.base_primed c_main_p.base_primed) (= (store |c_main_~malloc_old_#valid_primed| |c_main_~malloc_#res.base_primed| true) |c_#valid_primed|) (= 0 |c_main_~malloc_#res.offset_primed|) (not (= |c_main_~malloc_#res.base_primed| 0))) [2019-01-18 15:36:46,770 WARN L276 ngHoareTripleChecker]: Post: {2147483646#(and (<= (- main_q.offset (- |main_~malloc_#res.offset|)) 0) (not (= |main_~malloc_#res.base| 0)) (<= (+ |main_~malloc_#res.offset| main_p.offset) 0) (<= (- (- |main_~malloc_#res.offset|) main_~malloc_~size) (- 400)) (<= (- |main_~malloc_#res.offset| (- main_~malloc_~size)) 400) (<= main_q.offset main_p.offset) (<= (- (- main_p.offset) main_p.offset) 0) (<= (- main_p.offset main_q.offset) 0) (<= (- (- main_p.offset) (- main_q.offset)) 0) (= 400 (+ main_p.offset 400)) (= main_q.offset 0) (= main_~malloc_~size 400) (<= (- (- |main_~malloc_#res.offset|) (- main_~malloc_~size)) 400) (<= (- main_p.offset main_~malloc_~size) (- 400)) (<= (- (- main_p.offset) main_q.offset) 0) (<= (- main_p.offset (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_p.offset) main_~malloc_~size) (- 400)) (<= (- main_q.offset (- main_~malloc_~size)) 400) (<= (- |main_~malloc_#res.offset| main_~malloc_~size) (- 400)) (not (= main_q.base 0)) (<= 0 (+ |main_~malloc_#res.offset| main_p.offset)) (<= (- main_q.offset (- main_q.offset)) 0) (<= (+ main_~malloc_~size main_p.offset) 400) (<= (- (- main_q.offset) (- |main_~malloc_#res.offset|)) 0) (<= (+ main_q.offset main_p.offset) 0) (<= (- (- main_q.offset) (- main_~malloc_~size)) 400) (<= (- (- |main_~malloc_#res.offset|) |main_~malloc_#res.offset|) 0) (<= 0 (+ main_q.offset main_p.offset)) (= |main_~malloc_#res.offset| 0) (forall ((v_idx_14 Int)) (or (select |#valid| v_idx_14) (<= (+ |main_~malloc_#res.base| 1) v_idx_14) (< v_idx_14 |main_~malloc_#res.base|))) (<= (- main_p.offset (- main_~malloc_~size)) 400) (<= (- main_~malloc_~size (- main_~malloc_~size)) 800) (<= main_p.offset |main_~malloc_#res.offset|) (<= (- main_p.offset (- main_p.offset)) 0) (<= (* 2 main_p.offset) 0) (<= main_p.offset main_q.offset) (<= |main_~malloc_#res.offset| main_p.offset) (<= (- (- main_~malloc_~size) main_~malloc_~size) (- 800)) (<= (- (- main_p.offset) (- main_~malloc_~size)) 400) (<= (- main_p.offset |main_~malloc_#res.offset|) 0) (<= (+ main_p.offset 400) main_~malloc_~size) (<= (- (- main_q.offset) |main_~malloc_#res.offset|) 0) (<= (- |main_~malloc_#res.offset| (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_p.offset) |main_~malloc_#res.offset|) 0) (= main_p.offset 0) (<= (- (- main_q.offset) main_q.offset) 0) (<= (- main_q.offset main_~malloc_~size) (- 400)) (forall ((v_idx_20 Int)) (or (= (select |#length| v_idx_20) (+ main_p.offset 400)) (< v_idx_20 |main_~malloc_#res.base|) (<= (+ |main_~malloc_#res.base| 1) v_idx_20))) (<= (- main_p.offset (- main_q.offset)) 0) (<= 0 (* 2 main_p.offset)) (<= (- main_q.offset |main_~malloc_#res.offset|) 0) (not (= main_p.base 0)) (<= (- (- main_p.offset) (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_q.offset) main_~malloc_~size) (- 400)) (<= main_~malloc_~size (+ main_p.offset 400)) (<= 400 (+ main_~malloc_~size main_p.offset)))} [2019-01-18 15:36:47,709 WARN L212 ngHoareTripleChecker]: Soundness check inconclusive for the following hoare triple [2019-01-18 15:36:47,709 WARN L217 ngHoareTripleChecker]: Expected: VALID Actual: UNKNOWN [2019-01-18 15:36:47,710 WARN L219 ngHoareTripleChecker]: Solver was "Z3" in version "4.8.3" [2019-01-18 15:36:47,710 WARN L223 ngHoareTripleChecker]: -- [2019-01-18 15:36:47,711 WARN L224 ngHoareTripleChecker]: Pre: {2147483645#(forall ((v_idx_25 Int) (v_idx_36 Int) (v_idx_26 Int) (v_idx_37 Int) (v_idx_34 Int) (v_idx_35 Int) (v_idx_32 Int) (v_idx_33 Int) (v_idx_30 Int) (v_idx_31 Int) (v_idx_29 Int) (v_idx_27 Int) (v_idx_38 Int) (v_idx_28 Int)) (exists ((v_v_24_1 Int) (v_v_4_1 Bool) (v_v_26_1 Int) (v_v_8_1 Int) (v_v_19_1 Bool) (v_v_18_1 Bool) (v_v_12_1 Bool) (v_v_7_1 (Array Int Int)) (v_v_1_1 Int) (v_v_5_1 (Array Int Int)) (v_v_2_1 Int) (v_v_6_1 Int) (v_v_20_1 Bool)) (and (<= (- c_main_q.offset (- |c_main_~malloc_#res.offset|)) 0) (or (<= (+ |c_main_~malloc_#res.base| 1) v_idx_34) (< v_idx_34 |c_main_~malloc_#res.base|) (= (select |c_#length| v_idx_34) (+ c_main_p.offset 400))) (or (= (select |c_#valid| v_idx_29) v_v_20_1) (< v_idx_29 (+ |c_main_~malloc_#res.base| 1))) (not (= |c_main_~malloc_#res.base| 0)) (<= (+ |c_main_~malloc_#res.offset| c_main_p.offset) 0) (or (<= |c_main_~malloc_#res.base| v_idx_27) (= (select |c_#valid| v_idx_27) v_v_18_1)) (<= (- (- |c_main_~malloc_#res.offset|) c_main_~malloc_~size) (- 400)) (<= (- |c_main_~malloc_#res.offset| (- c_main_~malloc_~size)) 400) v_v_19_1 (<= c_main_q.offset c_main_p.offset) (= (select |c_old(#valid)| v_idx_26) v_v_4_1) (= (select |c_main_~malloc_old_#valid| v_idx_37) v_v_12_1) (<= (- (- c_main_p.offset) c_main_p.offset) 0) (<= (- c_main_p.offset c_main_q.offset) 0) (<= (- (- c_main_p.offset) (- c_main_q.offset)) 0) (= 400 (+ c_main_p.offset 400)) (= c_main_q.offset 0) (= c_main_~malloc_~size 400) (<= (- (- |c_main_~malloc_#res.offset|) (- c_main_~malloc_~size)) 400) (<= (- c_main_p.offset c_main_~malloc_~size) (- 400)) (<= (- (- c_main_p.offset) c_main_q.offset) 0) (<= (- c_main_p.offset (- |c_main_~malloc_#res.offset|)) 0) (<= (- (- c_main_p.offset) c_main_~malloc_~size) (- 400)) (<= (- c_main_q.offset (- c_main_~malloc_~size)) 400) (<= (- |c_main_~malloc_#res.offset| c_main_~malloc_~size) (- 400)) (not (= c_main_q.base 0)) (<= 0 (+ |c_main_~malloc_#res.offset| c_main_p.offset)) (<= (- c_main_q.offset (- c_main_q.offset)) 0) (<= (+ c_main_~malloc_~size c_main_p.offset) 400) (<= (- (- c_main_q.offset) (- |c_main_~malloc_#res.offset|)) 0) (<= (+ c_main_q.offset c_main_p.offset) 0) (<= (- (- c_main_q.offset) (- c_main_~malloc_~size)) 400) (<= (- (- |c_main_~malloc_#res.offset|) |c_main_~malloc_#res.offset|) 0) (= (select v_v_7_1 v_idx_36) v_v_8_1) (= v_v_6_1 (select v_v_5_1 v_idx_38)) (<= 0 (+ c_main_q.offset c_main_p.offset)) (= |c_main_~malloc_#res.offset| 0) (= (select |c_old(#memory_int)| v_idx_31) v_v_7_1) (= v_v_1_1 (select |c_main_~malloc_old_#length| v_idx_25)) (<= (- c_main_p.offset (- c_main_~malloc_~size)) 400) (<= (- c_main_~malloc_~size (- c_main_~malloc_~size)) 800) (<= c_main_p.offset |c_main_~malloc_#res.offset|) (<= (- c_main_p.offset (- c_main_p.offset)) 0) (<= (* 2 c_main_p.offset) 0) (<= c_main_p.offset c_main_q.offset) (<= |c_main_~malloc_#res.offset| c_main_p.offset) (<= (- (- c_main_~malloc_~size) c_main_~malloc_~size) (- 800)) (<= (- (- c_main_p.offset) (- c_main_~malloc_~size)) 400) (<= (- c_main_p.offset |c_main_~malloc_#res.offset|) 0) (<= (+ c_main_p.offset 400) c_main_~malloc_~size) (= v_v_5_1 (select |c_#memory_int| v_idx_30)) (<= (- (- c_main_q.offset) |c_main_~malloc_#res.offset|) 0) (or (< v_idx_35 (+ |c_main_~malloc_#res.base| 1)) (= (select |c_#length| v_idx_35) v_v_26_1)) (<= (- |c_main_~malloc_#res.offset| (- |c_main_~malloc_#res.offset|)) 0) (= (select |c_old(#length)| v_idx_32) v_v_2_1) (or (<= (+ |c_main_~malloc_#res.base| 1) v_idx_28) (< v_idx_28 |c_main_~malloc_#res.base|) (= (select |c_#valid| v_idx_28) v_v_19_1)) (<= (- (- c_main_p.offset) |c_main_~malloc_#res.offset|) 0) (= c_main_p.offset 0) (<= (- (- c_main_q.offset) c_main_q.offset) 0) (<= (- c_main_q.offset c_main_~malloc_~size) (- 400)) (<= (- c_main_p.offset (- c_main_q.offset)) 0) (<= 0 (* 2 c_main_p.offset)) (<= (- c_main_q.offset |c_main_~malloc_#res.offset|) 0) (not (= c_main_p.base 0)) (<= (- (- c_main_p.offset) (- |c_main_~malloc_#res.offset|)) 0) (<= (- (- c_main_q.offset) c_main_~malloc_~size) (- 400)) (or (<= |c_main_~malloc_#res.base| v_idx_33) (= (select |c_#length| v_idx_33) v_v_24_1)) (<= c_main_~malloc_~size (+ c_main_p.offset 400)) (<= 400 (+ c_main_~malloc_~size c_main_p.offset)))))} [2019-01-18 15:36:47,712 WARN L228 ngHoareTripleChecker]: Action: assume q.offset < p.offset + 400; [2019-01-18 15:36:47,712 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (< c_main_q.offset (+ c_main_p.offset 400)) [2019-01-18 15:36:47,713 WARN L230 ngHoareTripleChecker]: Post: {2147483644#(forall ((v_idx_47 Int) (v_idx_48 Int) (v_idx_45 Int) (v_idx_46 Int) (v_idx_43 Int) (v_idx_44 Int) (v_idx_41 Int) (v_idx_52 Int) (v_idx_42 Int) (v_idx_50 Int) (v_idx_40 Int) (v_idx_51 Int) (v_idx_49 Int) (v_idx_39 Int)) (exists ((v_v_24_1 Int) (v_v_4_1 Bool) (v_v_26_1 Int) (v_v_8_1 Int) (v_v_19_1 Bool) (v_v_18_1 Bool) (v_v_7_1 (Array Int Int)) (v_v_12_1 Bool) (v_v_1_1 Int) (v_v_2_1 Int) (v_v_5_1 (Array Int Int)) (v_v_6_1 Int) (v_v_20_1 Bool)) (and (<= (- c_main_q.offset (- |c_main_~malloc_#res.offset|)) 0) (= (select v_v_7_1 v_idx_50) v_v_8_1) (not (= |c_main_~malloc_#res.base| 0)) (<= (+ |c_main_~malloc_#res.offset| c_main_p.offset) 0) (or (< v_idx_42 |c_main_~malloc_#res.base|) (= (select |c_#valid| v_idx_42) v_v_19_1) (<= (+ |c_main_~malloc_#res.base| 1) v_idx_42)) (or (< v_idx_43 (+ |c_main_~malloc_#res.base| 1)) (= (select |c_#valid| v_idx_43) v_v_20_1)) (<= (- (- |c_main_~malloc_#res.offset|) c_main_~malloc_~size) (- 400)) (<= (- |c_main_~malloc_#res.offset| (- c_main_~malloc_~size)) 400) v_v_19_1 (<= c_main_q.offset c_main_p.offset) (<= (- (- c_main_p.offset) c_main_p.offset) 0) (= (select |c_old(#valid)| v_idx_40) v_v_4_1) (<= (- c_main_p.offset c_main_q.offset) 0) (<= (- (- c_main_p.offset) (- c_main_q.offset)) 0) (= 400 (+ c_main_p.offset 400)) (= c_main_q.offset 0) (or (= (select |c_#valid| v_idx_41) v_v_18_1) (<= |c_main_~malloc_#res.base| v_idx_41)) (= c_main_~malloc_~size 400) (<= (- (- |c_main_~malloc_#res.offset|) (- c_main_~malloc_~size)) 400) (or (= (select |c_#length| v_idx_49) v_v_26_1) (< v_idx_49 (+ |c_main_~malloc_#res.base| 1))) (<= (- c_main_p.offset c_main_~malloc_~size) (- 400)) (<= (- (- c_main_p.offset) c_main_q.offset) 0) (<= (- c_main_p.offset (- |c_main_~malloc_#res.offset|)) 0) (<= (- (- c_main_p.offset) c_main_~malloc_~size) (- 400)) (<= (- c_main_q.offset (- c_main_~malloc_~size)) 400) (<= (- |c_main_~malloc_#res.offset| c_main_~malloc_~size) (- 400)) (not (= c_main_q.base 0)) (<= 0 (+ |c_main_~malloc_#res.offset| c_main_p.offset)) (= v_v_7_1 (select |c_old(#memory_int)| v_idx_45)) (or (= (+ c_main_p.offset 400) (select |c_#length| v_idx_48)) (<= (+ |c_main_~malloc_#res.base| 1) v_idx_48) (< v_idx_48 |c_main_~malloc_#res.base|)) (<= (- c_main_q.offset (- c_main_q.offset)) 0) (<= (+ c_main_~malloc_~size c_main_p.offset) 400) (<= (- (- c_main_q.offset) (- |c_main_~malloc_#res.offset|)) 0) (<= (+ c_main_q.offset c_main_p.offset) 0) (or (= (select |c_#length| v_idx_47) v_v_24_1) (<= |c_main_~malloc_#res.base| v_idx_47)) (<= (- (- c_main_q.offset) (- c_main_~malloc_~size)) 400) (<= (- (- |c_main_~malloc_#res.offset|) |c_main_~malloc_#res.offset|) 0) (= (select |c_main_~malloc_old_#length| v_idx_39) v_v_1_1) (<= 0 (+ c_main_q.offset c_main_p.offset)) (= (select |c_old(#length)| v_idx_46) v_v_2_1) (= |c_main_~malloc_#res.offset| 0) (<= (- c_main_p.offset (- c_main_~malloc_~size)) 400) (<= (- c_main_~malloc_~size (- c_main_~malloc_~size)) 800) (<= c_main_p.offset |c_main_~malloc_#res.offset|) (<= (- c_main_p.offset (- c_main_p.offset)) 0) (<= (* 2 c_main_p.offset) 0) (= (select v_v_5_1 v_idx_52) v_v_6_1) (<= c_main_p.offset c_main_q.offset) (<= |c_main_~malloc_#res.offset| c_main_p.offset) (<= (- (- c_main_~malloc_~size) c_main_~malloc_~size) (- 800)) (<= (- (- c_main_p.offset) (- c_main_~malloc_~size)) 400) (<= (- c_main_p.offset |c_main_~malloc_#res.offset|) 0) (<= (+ c_main_p.offset 400) c_main_~malloc_~size) (<= (- (- c_main_q.offset) |c_main_~malloc_#res.offset|) 0) (= (select |c_main_~malloc_old_#valid| v_idx_51) v_v_12_1) (<= (- |c_main_~malloc_#res.offset| (- |c_main_~malloc_#res.offset|)) 0) (<= (- (- c_main_p.offset) |c_main_~malloc_#res.offset|) 0) (= c_main_p.offset 0) (<= (- (- c_main_q.offset) c_main_q.offset) 0) (<= (- c_main_q.offset c_main_~malloc_~size) (- 400)) (<= (- c_main_p.offset (- c_main_q.offset)) 0) (<= 0 (* 2 c_main_p.offset)) (= v_v_5_1 (select |c_#memory_int| v_idx_44)) (<= (- c_main_q.offset |c_main_~malloc_#res.offset|) 0) (not (= c_main_p.base 0)) (<= (- (- c_main_p.offset) (- |c_main_~malloc_#res.offset|)) 0) (<= (- (- c_main_q.offset) c_main_~malloc_~size) (- 400)) (<= c_main_~malloc_~size (+ c_main_p.offset 400)) (<= 400 (+ c_main_~malloc_~size c_main_p.offset)))))} [2019-01-18 15:36:47,713 WARN L263 ngHoareTripleChecker]: unsat core / model generation is disabled, enable it to get more details [2019-01-18 15:36:47,715 WARN L268 ngHoareTripleChecker]: -- [2019-01-18 15:36:47,715 WARN L269 ngHoareTripleChecker]: Simplified triple [2019-01-18 15:36:48,117 WARN L270 ngHoareTripleChecker]: Pre: {2147483645#(and (<= (- main_q.offset (- |main_~malloc_#res.offset|)) 0) (not (= |main_~malloc_#res.base| 0)) (<= (+ |main_~malloc_#res.offset| main_p.offset) 0) (<= (- (- |main_~malloc_#res.offset|) main_~malloc_~size) (- 400)) (<= (- |main_~malloc_#res.offset| (- main_~malloc_~size)) 400) (<= main_q.offset main_p.offset) (<= (- (- main_p.offset) main_p.offset) 0) (<= (- main_p.offset main_q.offset) 0) (<= (- (- main_p.offset) (- main_q.offset)) 0) (= 400 (+ main_p.offset 400)) (= main_q.offset 0) (= main_~malloc_~size 400) (<= (- (- |main_~malloc_#res.offset|) (- main_~malloc_~size)) 400) (<= (- main_p.offset main_~malloc_~size) (- 400)) (<= (- (- main_p.offset) main_q.offset) 0) (<= (- main_p.offset (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_p.offset) main_~malloc_~size) (- 400)) (<= (- main_q.offset (- main_~malloc_~size)) 400) (<= (- |main_~malloc_#res.offset| main_~malloc_~size) (- 400)) (not (= main_q.base 0)) (<= 0 (+ |main_~malloc_#res.offset| main_p.offset)) (<= (- main_q.offset (- main_q.offset)) 0) (<= (+ main_~malloc_~size main_p.offset) 400) (<= (- (- main_q.offset) (- |main_~malloc_#res.offset|)) 0) (<= (+ main_q.offset main_p.offset) 0) (<= (- (- main_q.offset) (- main_~malloc_~size)) 400) (<= (- (- |main_~malloc_#res.offset|) |main_~malloc_#res.offset|) 0) (<= 0 (+ main_q.offset main_p.offset)) (= |main_~malloc_#res.offset| 0) (forall ((v_idx_34 Int)) (or (<= (+ |main_~malloc_#res.base| 1) v_idx_34) (< v_idx_34 |main_~malloc_#res.base|) (= (select |#length| v_idx_34) (+ main_p.offset 400)))) (<= (- main_p.offset (- main_~malloc_~size)) 400) (<= (- main_~malloc_~size (- main_~malloc_~size)) 800) (<= main_p.offset |main_~malloc_#res.offset|) (<= (- main_p.offset (- main_p.offset)) 0) (<= (* 2 main_p.offset) 0) (<= main_p.offset main_q.offset) (<= |main_~malloc_#res.offset| main_p.offset) (<= (- (- main_~malloc_~size) main_~malloc_~size) (- 800)) (<= (- (- main_p.offset) (- main_~malloc_~size)) 400) (<= (- main_p.offset |main_~malloc_#res.offset|) 0) (<= (+ main_p.offset 400) main_~malloc_~size) (<= (- (- main_q.offset) |main_~malloc_#res.offset|) 0) (forall ((v_idx_28 Int)) (or (select |#valid| v_idx_28) (<= (+ |main_~malloc_#res.base| 1) v_idx_28) (< v_idx_28 |main_~malloc_#res.base|))) (<= (- |main_~malloc_#res.offset| (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_p.offset) |main_~malloc_#res.offset|) 0) (= main_p.offset 0) (<= (- (- main_q.offset) main_q.offset) 0) (<= (- main_q.offset main_~malloc_~size) (- 400)) (<= (- main_p.offset (- main_q.offset)) 0) (<= 0 (* 2 main_p.offset)) (<= (- main_q.offset |main_~malloc_#res.offset|) 0) (not (= main_p.base 0)) (<= (- (- main_p.offset) (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_q.offset) main_~malloc_~size) (- 400)) (<= main_~malloc_~size (+ main_p.offset 400)) (<= 400 (+ main_~malloc_~size main_p.offset)))} [2019-01-18 15:36:48,118 WARN L274 ngHoareTripleChecker]: Action: assume q.offset < p.offset + 400; [2019-01-18 15:36:48,118 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (< c_main_q.offset (+ c_main_p.offset 400)) [2019-01-18 15:36:48,438 WARN L276 ngHoareTripleChecker]: Post: {2147483644#(and (<= (- main_q.offset (- |main_~malloc_#res.offset|)) 0) (not (= |main_~malloc_#res.base| 0)) (<= (+ |main_~malloc_#res.offset| main_p.offset) 0) (<= (- (- |main_~malloc_#res.offset|) main_~malloc_~size) (- 400)) (<= (- |main_~malloc_#res.offset| (- main_~malloc_~size)) 400) (<= main_q.offset main_p.offset) (<= (- (- main_p.offset) main_p.offset) 0) (<= (- main_p.offset main_q.offset) 0) (<= (- (- main_p.offset) (- main_q.offset)) 0) (= 400 (+ main_p.offset 400)) (= main_q.offset 0) (= main_~malloc_~size 400) (<= (- (- |main_~malloc_#res.offset|) (- main_~malloc_~size)) 400) (<= (- main_p.offset main_~malloc_~size) (- 400)) (<= (- (- main_p.offset) main_q.offset) 0) (<= (- main_p.offset (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_p.offset) main_~malloc_~size) (- 400)) (<= (- main_q.offset (- main_~malloc_~size)) 400) (<= (- |main_~malloc_#res.offset| main_~malloc_~size) (- 400)) (not (= main_q.base 0)) (<= 0 (+ |main_~malloc_#res.offset| main_p.offset)) (<= (- main_q.offset (- main_q.offset)) 0) (<= (+ main_~malloc_~size main_p.offset) 400) (<= (- (- main_q.offset) (- |main_~malloc_#res.offset|)) 0) (<= (+ main_q.offset main_p.offset) 0) (<= (- (- main_q.offset) (- main_~malloc_~size)) 400) (<= (- (- |main_~malloc_#res.offset|) |main_~malloc_#res.offset|) 0) (<= 0 (+ main_q.offset main_p.offset)) (= |main_~malloc_#res.offset| 0) (forall ((v_idx_42 Int)) (or (select |#valid| v_idx_42) (< v_idx_42 |main_~malloc_#res.base|) (<= (+ |main_~malloc_#res.base| 1) v_idx_42))) (<= (- main_p.offset (- main_~malloc_~size)) 400) (<= (- main_~malloc_~size (- main_~malloc_~size)) 800) (<= main_p.offset |main_~malloc_#res.offset|) (<= (- main_p.offset (- main_p.offset)) 0) (<= (* 2 main_p.offset) 0) (<= main_p.offset main_q.offset) (<= |main_~malloc_#res.offset| main_p.offset) (<= (- (- main_~malloc_~size) main_~malloc_~size) (- 800)) (<= (- (- main_p.offset) (- main_~malloc_~size)) 400) (<= (- main_p.offset |main_~malloc_#res.offset|) 0) (<= (+ main_p.offset 400) main_~malloc_~size) (<= (- (- main_q.offset) |main_~malloc_#res.offset|) 0) (forall ((v_idx_48 Int)) (or (= (+ main_p.offset 400) (select |#length| v_idx_48)) (<= (+ |main_~malloc_#res.base| 1) v_idx_48) (< v_idx_48 |main_~malloc_#res.base|))) (<= (- |main_~malloc_#res.offset| (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_p.offset) |main_~malloc_#res.offset|) 0) (= main_p.offset 0) (<= (- (- main_q.offset) main_q.offset) 0) (<= (- main_q.offset main_~malloc_~size) (- 400)) (<= (- main_p.offset (- main_q.offset)) 0) (<= 0 (* 2 main_p.offset)) (<= (- main_q.offset |main_~malloc_#res.offset|) 0) (not (= main_p.base 0)) (<= (- (- main_p.offset) (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_q.offset) main_~malloc_~size) (- 400)) (<= main_~malloc_~size (+ main_p.offset 400)) (<= 400 (+ main_~malloc_~size main_p.offset)))} [2019-01-18 15:36:48,952 WARN L212 ngHoareTripleChecker]: Soundness check inconclusive for the following hoare triple [2019-01-18 15:36:48,953 WARN L217 ngHoareTripleChecker]: Expected: VALID Actual: UNKNOWN [2019-01-18 15:36:48,956 WARN L219 ngHoareTripleChecker]: Solver was "Z3" in version "4.8.3" [2019-01-18 15:36:48,956 WARN L223 ngHoareTripleChecker]: -- [2019-01-18 15:36:48,957 WARN L224 ngHoareTripleChecker]: Pre: {2147483639#(forall ((v_idx_89 Int) (v_idx_87 Int) (v_idx_88 Int) (v_idx_85 Int) (v_idx_86 Int) (v_idx_83 Int) (v_idx_94 Int) (v_idx_84 Int) (v_idx_81 Int) (v_idx_92 Int) (v_idx_82 Int) (v_idx_93 Int) (v_idx_90 Int) (v_idx_91 Int)) (exists ((v_v_24_1 Int) (v_v_4_1 Bool) (v_v_26_1 Int) (v_v_8_1 Int) (v_v_19_1 Bool) (v_v_18_1 Bool) (v_v_7_1 (Array Int Int)) (v_v_12_1 Bool) (v_v_1_1 Int) (v_v_5_1 (Array Int Int)) (v_v_2_1 Int) (v_v_6_1 Int) (v_v_20_1 Bool)) (and (<= (- c_main_q.offset (- |c_main_~malloc_#res.offset|)) 0) (not (= |c_main_~malloc_#res.base| 0)) (or (< v_idx_90 |c_main_~malloc_#res.base|) (= (+ c_main_p.offset 400) (select |c_#length| v_idx_90)) (<= (+ |c_main_~malloc_#res.base| 1) v_idx_90)) (<= (+ |c_main_~malloc_#res.offset| c_main_p.offset) 0) (= v_v_1_1 (select |c_main_~malloc_old_#length| v_idx_81)) (= (select |c_old(#valid)| v_idx_82) v_v_4_1) (<= (- (- |c_main_~malloc_#res.offset|) c_main_~malloc_~size) (- 400)) (<= (- |c_main_~malloc_#res.offset| (- c_main_~malloc_~size)) 400) v_v_19_1 (<= c_main_q.offset c_main_p.offset) (<= (- (- c_main_p.offset) c_main_p.offset) 0) (<= (- c_main_p.offset c_main_q.offset) 0) (<= (- (- c_main_p.offset) (- c_main_q.offset)) 0) (= 400 (+ c_main_p.offset 400)) (= c_main_q.offset 0) (= c_main_~malloc_~size 400) (<= (- (- |c_main_~malloc_#res.offset|) (- c_main_~malloc_~size)) 400) (<= (- c_main_p.offset c_main_~malloc_~size) (- 400)) (or (= (select |c_#length| v_idx_91) v_v_26_1) (< v_idx_91 (+ |c_main_~malloc_#res.base| 1))) (<= (- (- c_main_p.offset) c_main_q.offset) 0) (<= (- c_main_p.offset (- |c_main_~malloc_#res.offset|)) 0) (<= (- (- c_main_p.offset) c_main_~malloc_~size) (- 400)) (<= (- c_main_q.offset (- c_main_~malloc_~size)) 400) (<= (- |c_main_~malloc_#res.offset| c_main_~malloc_~size) (- 400)) (not (= c_main_q.base 0)) (<= 0 (+ |c_main_~malloc_#res.offset| c_main_p.offset)) (or (<= (+ |c_main_~malloc_#res.base| 1) v_idx_84) (< v_idx_84 |c_main_~malloc_#res.base|) (= (select |c_#valid| v_idx_84) v_v_19_1)) (<= (- c_main_q.offset (- c_main_q.offset)) 0) (<= (+ c_main_~malloc_~size c_main_p.offset) 400) (<= (- (- c_main_q.offset) (- |c_main_~malloc_#res.offset|)) 0) (<= (+ c_main_q.offset c_main_p.offset) 0) (<= (- (- c_main_q.offset) (- c_main_~malloc_~size)) 400) (<= (- (- |c_main_~malloc_#res.offset|) |c_main_~malloc_#res.offset|) 0) (<= 0 (+ c_main_q.offset c_main_p.offset)) (= |c_main_~malloc_#res.offset| 0) (= v_v_7_1 (select |c_old(#memory_int)| v_idx_87)) (<= (- c_main_p.offset (- c_main_~malloc_~size)) 400) (<= (- c_main_~malloc_~size (- c_main_~malloc_~size)) 800) (<= c_main_p.offset |c_main_~malloc_#res.offset|) (<= (- c_main_p.offset (- c_main_p.offset)) 0) (= v_v_6_1 (select v_v_5_1 v_idx_94)) (<= (* 2 c_main_p.offset) 0) (<= c_main_p.offset c_main_q.offset) (<= |c_main_~malloc_#res.offset| c_main_p.offset) (<= (- (- c_main_~malloc_~size) c_main_~malloc_~size) (- 800)) (<= (- (- c_main_p.offset) (- c_main_~malloc_~size)) 400) (<= (- c_main_p.offset |c_main_~malloc_#res.offset|) 0) (<= (+ c_main_p.offset 400) c_main_~malloc_~size) (<= (- (- c_main_q.offset) |c_main_~malloc_#res.offset|) 0) (<= (- |c_main_~malloc_#res.offset| (- |c_main_~malloc_#res.offset|)) 0) (<= (- (- c_main_p.offset) |c_main_~malloc_#res.offset|) 0) (= c_main_p.offset 0) (<= (- (- c_main_q.offset) c_main_q.offset) 0) (<= (- c_main_q.offset c_main_~malloc_~size) (- 400)) (or (< v_idx_85 (+ |c_main_~malloc_#res.base| 1)) (= (select |c_#valid| v_idx_85) v_v_20_1)) (= (select |c_main_~malloc_old_#valid| v_idx_93) v_v_12_1) (<= (- c_main_p.offset (- c_main_q.offset)) 0) (<= 0 (* 2 c_main_p.offset)) (or (= (select |c_#length| v_idx_89) v_v_24_1) (<= |c_main_~malloc_#res.base| v_idx_89)) (or (= v_v_18_1 (select |c_#valid| v_idx_83)) (<= |c_main_~malloc_#res.base| v_idx_83)) (= v_v_5_1 (select |c_#memory_int| v_idx_86)) (= (select |c_old(#length)| v_idx_88) v_v_2_1) (<= (- c_main_q.offset |c_main_~malloc_#res.offset|) 0) (not (= c_main_p.base 0)) (<= (- (- c_main_p.offset) (- |c_main_~malloc_#res.offset|)) 0) (<= (- (- c_main_q.offset) c_main_~malloc_~size) (- 400)) (= v_v_8_1 (select v_v_7_1 v_idx_92)) (<= c_main_~malloc_~size (+ c_main_p.offset 400)) (<= 400 (+ c_main_~malloc_~size c_main_p.offset)))))} [2019-01-18 15:36:48,957 WARN L228 ngHoareTripleChecker]: Action: assume !(4 + q.offset <= #length[q.base]); [2019-01-18 15:36:48,958 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (not (<= (+ c_main_q.offset 4) (select |c_#length| c_main_q.base))) [2019-01-18 15:36:48,958 WARN L230 ngHoareTripleChecker]: Post: {2147483638#(forall ((v_idx_98 Int) (v_idx_99 Int) (v_idx_96 Int) (v_idx_97 Int) (v_idx_95 Int) (v_idx_104 Int) (v_idx_105 Int) (v_idx_102 Int) (v_idx_103 Int) (v_idx_108 Int) (v_idx_106 Int) (v_idx_107 Int) (v_idx_100 Int) (v_idx_101 Int)) (exists ((v_v_4_1 Bool) (v_v_28_1 Int) (v_v_29_1 Int) (v_v_27_1 Int) (v_v_8_1 Int) (v_v_19_1 Bool) (v_v_18_1 Bool) (v_v_7_1 (Array Int Int)) (v_v_12_1 Bool) (v_v_1_1 Int) (v_v_5_1 (Array Int Int)) (v_v_2_1 Int) (v_v_6_1 Int) (v_v_20_1 Bool)) (and (<= (- |c_main_~malloc_#res.offset| (- v_v_28_1)) 3) (or (< v_idx_98 |c_main_~malloc_#res.base|) (= v_v_19_1 (select |c_#valid| v_idx_98)) (<= (+ |c_main_~malloc_#res.base| 1) v_idx_98)) (<= (- c_main_q.offset (- |c_main_~malloc_#res.offset|)) 0) (not (= |c_main_~malloc_#res.base| 0)) (<= (- c_main_p.offset (- v_v_28_1)) 3) (= (select |c_#memory_int| v_idx_100) v_v_5_1) (<= (- (- |c_main_~malloc_#res.offset|) c_main_~malloc_~size) (- 400)) (<= (- |c_main_~malloc_#res.offset| (- c_main_~malloc_~size)) 400) v_v_19_1 (or (< v_idx_105 (+ c_main_q.base 1)) (= (select |c_#length| v_idx_105) v_v_29_1)) (<= (- (- c_main_p.offset) c_main_p.offset) 0) (<= (- v_v_28_1 (- v_v_28_1)) 6) (<= (- c_main_p.offset c_main_q.offset) 0) (<= (- (- c_main_p.offset) (- c_main_q.offset)) 0) (= (select |c_old(#memory_int)| v_idx_101) v_v_7_1) (<= (- (- c_main_p.offset) (- v_v_28_1)) 3) (<= (- (- c_main_q.offset) (- v_v_28_1)) 3) (= c_main_q.offset 0) (<= (- c_main_q.offset (- v_v_28_1)) 3) (= c_main_~malloc_~size 400) (<= (- (- |c_main_~malloc_#res.offset|) (- c_main_~malloc_~size)) 400) (or (= (select |c_#length| v_idx_104) v_v_28_1) (<= (+ c_main_q.base 1) v_idx_104) (< v_idx_104 c_main_q.base)) (= (select |c_old(#length)| v_idx_102) v_v_2_1) (<= (- c_main_p.offset c_main_~malloc_~size) (- 400)) (<= (- (- c_main_~malloc_~size) (- v_v_28_1)) (- 397)) (<= (- (- c_main_p.offset) c_main_q.offset) 0) (<= (- c_main_p.offset (- |c_main_~malloc_#res.offset|)) 0) (<= (- (- c_main_p.offset) c_main_~malloc_~size) (- 400)) (<= (- c_main_q.offset (- c_main_~malloc_~size)) 400) (not (= c_main_q.base 0)) (<= (- |c_main_~malloc_#res.offset| c_main_~malloc_~size) (- 400)) (<= (- c_main_q.offset (- c_main_q.offset)) 0) (or (<= c_main_q.base v_idx_103) (= v_v_27_1 (select |c_#length| v_idx_103))) (<= (- (- c_main_q.offset) (- |c_main_~malloc_#res.offset|)) 0) (<= (- (- c_main_q.offset) (- c_main_~malloc_~size)) 400) (<= (- c_main_~malloc_~size (- v_v_28_1)) 403) (<= (- (- |c_main_~malloc_#res.offset|) |c_main_~malloc_#res.offset|) 0) (= (select v_v_5_1 v_idx_108) v_v_6_1) (= |c_main_~malloc_#res.offset| 0) (= (select |c_main_~malloc_old_#length| v_idx_95) v_v_1_1) (or (= (select |c_#valid| v_idx_97) v_v_18_1) (<= |c_main_~malloc_#res.base| v_idx_97)) (<= (- c_main_p.offset (- c_main_~malloc_~size)) 400) (<= (- c_main_~malloc_~size (- c_main_~malloc_~size)) 800) (<= (- c_main_p.offset (- c_main_p.offset)) 0) (<= (- (- |c_main_~malloc_#res.offset|) (- v_v_28_1)) 3) (= v_v_12_1 (select |c_main_~malloc_old_#valid| v_idx_107)) (<= (- (- c_main_~malloc_~size) c_main_~malloc_~size) (- 800)) (<= (- (- c_main_p.offset) (- c_main_~malloc_~size)) 400) (<= (- c_main_p.offset |c_main_~malloc_#res.offset|) 0) (<= (- (- c_main_q.offset) |c_main_~malloc_#res.offset|) 0) (or (= (select |c_#valid| v_idx_99) v_v_20_1) (< v_idx_99 (+ |c_main_~malloc_#res.base| 1))) (<= (- |c_main_~malloc_#res.offset| (- |c_main_~malloc_#res.offset|)) 0) (= c_main_p.offset 0) (<= (- (- c_main_p.offset) |c_main_~malloc_#res.offset|) 0) (<= (- (- c_main_q.offset) c_main_q.offset) 0) (<= (- c_main_q.offset c_main_~malloc_~size) (- 400)) (= v_v_8_1 (select v_v_7_1 v_idx_106)) (<= (- c_main_p.offset (- c_main_q.offset)) 0) (not (= c_main_p.base 0)) (<= (- c_main_q.offset |c_main_~malloc_#res.offset|) 0) (<= (- (- c_main_p.offset) (- |c_main_~malloc_#res.offset|)) 0) (<= (- (- c_main_q.offset) c_main_~malloc_~size) (- 400)) (= (select |c_old(#valid)| v_idx_96) v_v_4_1))))} [2019-01-18 15:36:48,959 WARN L263 ngHoareTripleChecker]: unsat core / model generation is disabled, enable it to get more details [2019-01-18 15:36:48,959 WARN L268 ngHoareTripleChecker]: -- [2019-01-18 15:36:48,960 WARN L269 ngHoareTripleChecker]: Simplified triple [2019-01-18 15:36:49,109 WARN L270 ngHoareTripleChecker]: Pre: {2147483639#(and (<= (- main_q.offset (- |main_~malloc_#res.offset|)) 0) (not (= |main_~malloc_#res.base| 0)) (<= (+ |main_~malloc_#res.offset| main_p.offset) 0) (<= (- (- |main_~malloc_#res.offset|) main_~malloc_~size) (- 400)) (<= (- |main_~malloc_#res.offset| (- main_~malloc_~size)) 400) (<= main_q.offset main_p.offset) (<= (- (- main_p.offset) main_p.offset) 0) (<= (- main_p.offset main_q.offset) 0) (<= (- (- main_p.offset) (- main_q.offset)) 0) (= 400 (+ main_p.offset 400)) (= main_q.offset 0) (= main_~malloc_~size 400) (<= (- (- |main_~malloc_#res.offset|) (- main_~malloc_~size)) 400) (<= (- main_p.offset main_~malloc_~size) (- 400)) (<= (- (- main_p.offset) main_q.offset) 0) (<= (- main_p.offset (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_p.offset) main_~malloc_~size) (- 400)) (<= (- main_q.offset (- main_~malloc_~size)) 400) (<= (- |main_~malloc_#res.offset| main_~malloc_~size) (- 400)) (not (= main_q.base 0)) (<= 0 (+ |main_~malloc_#res.offset| main_p.offset)) (forall ((v_idx_90 Int)) (or (< v_idx_90 |main_~malloc_#res.base|) (= (+ main_p.offset 400) (select |#length| v_idx_90)) (<= (+ |main_~malloc_#res.base| 1) v_idx_90))) (<= (- main_q.offset (- main_q.offset)) 0) (<= (+ main_~malloc_~size main_p.offset) 400) (<= (- (- main_q.offset) (- |main_~malloc_#res.offset|)) 0) (<= (+ main_q.offset main_p.offset) 0) (<= (- (- main_q.offset) (- main_~malloc_~size)) 400) (<= (- (- |main_~malloc_#res.offset|) |main_~malloc_#res.offset|) 0) (<= 0 (+ main_q.offset main_p.offset)) (= |main_~malloc_#res.offset| 0) (<= (- main_p.offset (- main_~malloc_~size)) 400) (<= (- main_~malloc_~size (- main_~malloc_~size)) 800) (<= main_p.offset |main_~malloc_#res.offset|) (<= (- main_p.offset (- main_p.offset)) 0) (<= (* 2 main_p.offset) 0) (<= main_p.offset main_q.offset) (<= |main_~malloc_#res.offset| main_p.offset) (<= (- (- main_~malloc_~size) main_~malloc_~size) (- 800)) (<= (- (- main_p.offset) (- main_~malloc_~size)) 400) (<= (- main_p.offset |main_~malloc_#res.offset|) 0) (<= (+ main_p.offset 400) main_~malloc_~size) (<= (- (- main_q.offset) |main_~malloc_#res.offset|) 0) (<= (- |main_~malloc_#res.offset| (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_p.offset) |main_~malloc_#res.offset|) 0) (= main_p.offset 0) (<= (- (- main_q.offset) main_q.offset) 0) (<= (- main_q.offset main_~malloc_~size) (- 400)) (forall ((v_idx_84 Int)) (or (select |#valid| v_idx_84) (<= (+ |main_~malloc_#res.base| 1) v_idx_84) (< v_idx_84 |main_~malloc_#res.base|))) (<= (- main_p.offset (- main_q.offset)) 0) (<= 0 (* 2 main_p.offset)) (<= (- main_q.offset |main_~malloc_#res.offset|) 0) (not (= main_p.base 0)) (<= (- (- main_p.offset) (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_q.offset) main_~malloc_~size) (- 400)) (<= main_~malloc_~size (+ main_p.offset 400)) (<= 400 (+ main_~malloc_~size main_p.offset)))} [2019-01-18 15:36:49,109 WARN L274 ngHoareTripleChecker]: Action: assume !(4 + q.offset <= #length[q.base]); [2019-01-18 15:36:49,109 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (not (<= (+ c_main_q.offset 4) (select |c_#length| c_main_q.base))) [2019-01-18 15:36:49,344 WARN L276 ngHoareTripleChecker]: Post: {2147483638#(and (forall ((v_prenex_8 Int)) (or (<= (* 2 (select |#length| v_prenex_8)) 6) (< v_prenex_8 main_q.base) (<= (+ main_q.base 1) v_prenex_8))) (forall ((v_idx_104 Int)) (or (<= (+ main_q.base 1) v_idx_104) (<= (select |#length| v_idx_104) (+ main_p.offset 3)) (< v_idx_104 main_q.base))) (<= (- main_q.offset (- |main_~malloc_#res.offset|)) 0) (forall ((v_prenex_3 Int)) (or (<= (+ main_q.base 1) v_prenex_3) (<= (+ (select |#length| v_prenex_3) 397) main_~malloc_~size) (< v_prenex_3 main_q.base))) (not (= |main_~malloc_#res.base| 0)) (forall ((v_prenex_1 Int)) (or (< v_prenex_1 main_q.base) (<= (select |#length| v_prenex_1) (+ |main_~malloc_#res.offset| 3)) (<= (+ main_q.base 1) v_prenex_1))) (forall ((v_prenex_7 Int)) (or (<= (+ main_q.base 1) v_prenex_7) (<= (+ |main_~malloc_#res.offset| (select |#length| v_prenex_7)) 3) (< v_prenex_7 main_q.base))) (<= (- (- |main_~malloc_#res.offset|) main_~malloc_~size) (- 400)) (<= (- |main_~malloc_#res.offset| (- main_~malloc_~size)) 400) (<= (- (- main_p.offset) main_p.offset) 0) (<= (- main_p.offset main_q.offset) 0) (forall ((v_prenex_6 Int)) (or (<= (select |#length| v_prenex_6) (+ main_q.offset 3)) (< v_prenex_6 main_q.base) (<= (+ main_q.base 1) v_prenex_6))) (forall ((v_prenex_4 Int)) (or (<= (+ main_q.base 1) v_prenex_4) (<= (+ (select |#length| v_prenex_4) main_q.offset) 3) (< v_prenex_4 main_q.base))) (<= (- (- main_p.offset) (- main_q.offset)) 0) (= main_q.offset 0) (forall ((v_prenex_5 Int)) (or (<= (+ main_q.base 1) v_prenex_5) (<= (+ (select |#length| v_prenex_5) main_~malloc_~size) 403) (< v_prenex_5 main_q.base))) (= main_~malloc_~size 400) (<= (- (- |main_~malloc_#res.offset|) (- main_~malloc_~size)) 400) (<= (- main_p.offset main_~malloc_~size) (- 400)) (<= (- (- main_p.offset) main_q.offset) 0) (<= (- main_p.offset (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_p.offset) main_~malloc_~size) (- 400)) (<= (- main_q.offset (- main_~malloc_~size)) 400) (not (= main_q.base 0)) (<= (- |main_~malloc_#res.offset| main_~malloc_~size) (- 400)) (<= (- main_q.offset (- main_q.offset)) 0) (<= (- (- main_q.offset) (- |main_~malloc_#res.offset|)) 0) (forall ((v_idx_98 Int)) (or (< v_idx_98 |main_~malloc_#res.base|) (select |#valid| v_idx_98) (<= (+ |main_~malloc_#res.base| 1) v_idx_98))) (<= (- (- main_q.offset) (- main_~malloc_~size)) 400) (<= (- (- |main_~malloc_#res.offset|) |main_~malloc_#res.offset|) 0) (= |main_~malloc_#res.offset| 0) (<= (- main_p.offset (- main_~malloc_~size)) 400) (<= (- main_~malloc_~size (- main_~malloc_~size)) 800) (<= (- main_p.offset (- main_p.offset)) 0) (<= (- (- main_~malloc_~size) main_~malloc_~size) (- 800)) (<= (- (- main_p.offset) (- main_~malloc_~size)) 400) (<= (- main_p.offset |main_~malloc_#res.offset|) 0) (<= (- (- main_q.offset) |main_~malloc_#res.offset|) 0) (<= (- |main_~malloc_#res.offset| (- |main_~malloc_#res.offset|)) 0) (= main_p.offset 0) (<= (- (- main_p.offset) |main_~malloc_#res.offset|) 0) (<= (- (- main_q.offset) main_q.offset) 0) (<= (- main_q.offset main_~malloc_~size) (- 400)) (forall ((v_prenex_2 Int)) (or (<= (+ (select |#length| v_prenex_2) main_p.offset) 3) (<= (+ main_q.base 1) v_prenex_2) (< v_prenex_2 main_q.base))) (<= (- main_p.offset (- main_q.offset)) 0) (not (= main_p.base 0)) (<= (- main_q.offset |main_~malloc_#res.offset|) 0) (<= (- (- main_p.offset) (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_q.offset) main_~malloc_~size) (- 400)))} [2019-01-18 15:36:49,523 WARN L212 ngHoareTripleChecker]: Soundness check inconclusive for the following hoare triple [2019-01-18 15:36:49,524 WARN L217 ngHoareTripleChecker]: Expected: VALID Actual: UNKNOWN [2019-01-18 15:36:49,524 WARN L219 ngHoareTripleChecker]: Solver was "Z3" in version "4.8.3" [2019-01-18 15:36:49,524 WARN L223 ngHoareTripleChecker]: -- [2019-01-18 15:36:49,524 WARN L224 ngHoareTripleChecker]: Pre: {2147483637#(forall ((v_idx_115 Int) (v_idx_116 Int) (v_idx_113 Int) (v_idx_114 Int) (v_idx_119 Int) (v_idx_109 Int) (v_idx_117 Int) (v_idx_118 Int) (v_idx_122 Int) (v_idx_111 Int) (v_idx_112 Int) (v_idx_120 Int) (v_idx_121 Int) (v_idx_110 Int)) (exists ((v_v_24_1 Int) (v_v_4_1 Bool) (v_v_26_1 Int) (v_v_8_1 Int) (v_v_19_1 Bool) (v_v_18_1 Bool) (v_v_7_1 (Array Int Int)) (v_v_12_1 Bool) (v_v_1_1 Int) (v_v_5_1 (Array Int Int)) (v_v_2_1 Int) (v_v_6_1 Int) (v_v_20_1 Bool)) (and (<= (- c_main_q.offset (- |c_main_~malloc_#res.offset|)) 0) (not (= |c_main_~malloc_#res.base| 0)) (<= (+ |c_main_~malloc_#res.offset| c_main_p.offset) 0) (<= (- (- |c_main_~malloc_#res.offset|) c_main_~malloc_~size) (- 400)) (<= (- |c_main_~malloc_#res.offset| (- c_main_~malloc_~size)) 400) v_v_19_1 (<= c_main_q.offset c_main_p.offset) (<= (- (- c_main_p.offset) c_main_p.offset) 0) (<= (- c_main_p.offset c_main_q.offset) 0) (<= (- (- c_main_p.offset) (- c_main_q.offset)) 0) (= 400 (+ c_main_p.offset 400)) (= c_main_q.offset 0) (or (= v_v_19_1 (select |c_#valid| v_idx_112)) (< v_idx_112 |c_main_~malloc_#res.base|) (<= (+ |c_main_~malloc_#res.base| 1) v_idx_112)) (= c_main_~malloc_~size 400) (<= (- (- |c_main_~malloc_#res.offset|) (- c_main_~malloc_~size)) 400) (<= (- c_main_p.offset c_main_~malloc_~size) (- 400)) (<= (- (- c_main_p.offset) c_main_q.offset) 0) (<= (- c_main_p.offset (- |c_main_~malloc_#res.offset|)) 0) (<= (- (- c_main_p.offset) c_main_~malloc_~size) (- 400)) (<= (- c_main_q.offset (- c_main_~malloc_~size)) 400) (or (< v_idx_118 |c_main_~malloc_#res.base|) (<= (+ |c_main_~malloc_#res.base| 1) v_idx_118) (= (+ c_main_p.offset 400) (select |c_#length| v_idx_118))) (<= (- |c_main_~malloc_#res.offset| c_main_~malloc_~size) (- 400)) (not (= c_main_q.base 0)) (<= 0 (+ |c_main_~malloc_#res.offset| c_main_p.offset)) (<= (- c_main_q.offset (- c_main_q.offset)) 0) (<= (+ c_main_~malloc_~size c_main_p.offset) 400) (or (= (select |c_#length| v_idx_117) v_v_24_1) (<= |c_main_~malloc_#res.base| v_idx_117)) (<= (- (- c_main_q.offset) (- |c_main_~malloc_#res.offset|)) 0) (<= (+ c_main_q.offset c_main_p.offset) 0) (<= (- (- c_main_q.offset) (- c_main_~malloc_~size)) 400) (<= (- (- |c_main_~malloc_#res.offset|) |c_main_~malloc_#res.offset|) 0) (<= 0 (+ c_main_q.offset c_main_p.offset)) (= |c_main_~malloc_#res.offset| 0) (or (= (select |c_#length| v_idx_119) v_v_26_1) (< v_idx_119 (+ |c_main_~malloc_#res.base| 1))) (= (select |c_old(#valid)| v_idx_110) v_v_4_1) (= (select |c_#memory_int| v_idx_114) v_v_5_1) (or (= (select |c_#valid| v_idx_113) v_v_20_1) (< v_idx_113 (+ |c_main_~malloc_#res.base| 1))) (<= (- c_main_p.offset (- c_main_~malloc_~size)) 400) (<= (- c_main_~malloc_~size (- c_main_~malloc_~size)) 800) (= (select v_v_5_1 v_idx_122) v_v_6_1) (<= c_main_p.offset |c_main_~malloc_#res.offset|) (<= (- c_main_p.offset (- c_main_p.offset)) 0) (<= (* 2 c_main_p.offset) 0) (= (select |c_old(#length)| v_idx_116) v_v_2_1) (<= c_main_p.offset c_main_q.offset) (<= |c_main_~malloc_#res.offset| c_main_p.offset) (<= (- (- c_main_~malloc_~size) c_main_~malloc_~size) (- 800)) (<= (- (- c_main_p.offset) (- c_main_~malloc_~size)) 400) (<= (- c_main_p.offset |c_main_~malloc_#res.offset|) 0) (<= (+ c_main_p.offset 400) c_main_~malloc_~size) (or (<= |c_main_~malloc_#res.base| v_idx_111) (= (select |c_#valid| v_idx_111) v_v_18_1)) (<= (- (- c_main_q.offset) |c_main_~malloc_#res.offset|) 0) (= v_v_7_1 (select |c_old(#memory_int)| v_idx_115)) (<= (- |c_main_~malloc_#res.offset| (- |c_main_~malloc_#res.offset|)) 0) (= v_v_12_1 (select |c_main_~malloc_old_#valid| v_idx_121)) (<= (- (- c_main_p.offset) |c_main_~malloc_#res.offset|) 0) (= c_main_p.offset 0) (<= (- (- c_main_q.offset) c_main_q.offset) 0) (<= (- c_main_q.offset c_main_~malloc_~size) (- 400)) (<= (- c_main_p.offset (- c_main_q.offset)) 0) (= (select |c_main_~malloc_old_#length| v_idx_109) v_v_1_1) (<= 0 (* 2 c_main_p.offset)) (<= (- c_main_q.offset |c_main_~malloc_#res.offset|) 0) (not (= c_main_p.base 0)) (<= (- (- c_main_p.offset) (- |c_main_~malloc_#res.offset|)) 0) (<= (- (- c_main_q.offset) c_main_~malloc_~size) (- 400)) (<= c_main_~malloc_~size (+ c_main_p.offset 400)) (<= 400 (+ c_main_~malloc_~size c_main_p.offset)) (= (select v_v_7_1 v_idx_120) v_v_8_1))))} [2019-01-18 15:36:49,524 WARN L228 ngHoareTripleChecker]: Action: assume 4 + q.offset <= #length[q.base]; [2019-01-18 15:36:49,525 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (<= (+ c_main_q.offset 4) (select |c_#length| c_main_q.base)) [2019-01-18 15:36:49,525 WARN L230 ngHoareTripleChecker]: Post: {2147483636#(forall ((v_idx_126 Int) (v_idx_127 Int) (v_idx_124 Int) (v_idx_135 Int) (v_idx_125 Int) (v_idx_136 Int) (v_idx_128 Int) (v_idx_129 Int) (v_idx_130 Int) (v_idx_133 Int) (v_idx_123 Int) (v_idx_134 Int) (v_idx_131 Int) (v_idx_132 Int)) (exists ((v_v_32_1 Int) (v_v_31_1 Int) (v_v_30_1 Int) (v_v_4_1 Bool) (v_v_8_1 Int) (v_v_19_1 Bool) (v_v_18_1 Bool) (v_v_7_1 (Array Int Int)) (v_v_12_1 Bool) (v_v_1_1 Int) (v_v_5_1 (Array Int Int)) (v_v_2_1 Int) (v_v_6_1 Int) (v_v_20_1 Bool)) (and (<= (- c_main_q.offset (- |c_main_~malloc_#res.offset|)) 0) (not (= |c_main_~malloc_#res.base| 0)) (<= (- (- |c_main_~malloc_#res.offset|) c_main_~malloc_~size) (- 400)) (<= (- |c_main_~malloc_#res.offset| (- c_main_~malloc_~size)) 400) v_v_19_1 (= (select v_v_7_1 v_idx_134) v_v_8_1) (= v_v_7_1 (select |c_old(#memory_int)| v_idx_129)) (<= (- |c_main_~malloc_#res.offset| v_v_31_1) (- 4)) (<= (- (- c_main_p.offset) c_main_p.offset) 0) (<= (- c_main_p.offset c_main_q.offset) 0) (or (<= (+ c_main_q.base 1) v_idx_132) (< v_idx_132 c_main_q.base) (= v_v_31_1 (select |c_#length| v_idx_132))) (<= (- (- c_main_p.offset) (- c_main_q.offset)) 0) (= c_main_q.offset 0) (<= (- c_main_q.offset v_v_31_1) (- 4)) (<= (- (- c_main_~malloc_~size) v_v_31_1) (- 404)) (<= (- c_main_~malloc_~size v_v_31_1) 396) (= c_main_~malloc_~size 400) (<= (- (- |c_main_~malloc_#res.offset|) (- c_main_~malloc_~size)) 400) (= v_v_6_1 (select v_v_5_1 v_idx_136)) (<= (- c_main_p.offset c_main_~malloc_~size) (- 400)) (<= (- (- |c_main_~malloc_#res.offset|) v_v_31_1) (- 4)) (or (= (select |c_#valid| v_idx_125) v_v_18_1) (<= |c_main_~malloc_#res.base| v_idx_125)) (or (= (select |c_#length| v_idx_133) v_v_32_1) (< v_idx_133 (+ c_main_q.base 1))) (<= (- (- c_main_p.offset) c_main_q.offset) 0) (<= (- c_main_p.offset (- |c_main_~malloc_#res.offset|)) 0) (<= (- (- c_main_p.offset) c_main_~malloc_~size) (- 400)) (<= (- c_main_q.offset (- c_main_~malloc_~size)) 400) (= v_v_4_1 (select |c_old(#valid)| v_idx_124)) (or (= (select |c_#valid| v_idx_126) v_v_19_1) (<= (+ |c_main_~malloc_#res.base| 1) v_idx_126) (< v_idx_126 |c_main_~malloc_#res.base|)) (not (= c_main_q.base 0)) (<= (- |c_main_~malloc_#res.offset| c_main_~malloc_~size) (- 400)) (= v_v_2_1 (select |c_old(#length)| v_idx_130)) (<= (- c_main_q.offset (- c_main_q.offset)) 0) (<= (- (- c_main_q.offset) v_v_31_1) (- 4)) (<= (- (- c_main_q.offset) (- |c_main_~malloc_#res.offset|)) 0) (<= (- c_main_p.offset v_v_31_1) (- 4)) (or (= (select |c_#length| v_idx_131) v_v_30_1) (<= c_main_q.base v_idx_131)) (<= (- (- c_main_q.offset) (- c_main_~malloc_~size)) 400) (<= (- (- c_main_p.offset) v_v_31_1) (- 4)) (<= (- (- |c_main_~malloc_#res.offset|) |c_main_~malloc_#res.offset|) 0) (= |c_main_~malloc_#res.offset| 0) (or (< v_idx_127 (+ |c_main_~malloc_#res.base| 1)) (= (select |c_#valid| v_idx_127) v_v_20_1)) (<= (- c_main_p.offset (- c_main_~malloc_~size)) 400) (<= (- c_main_~malloc_~size (- c_main_~malloc_~size)) 800) (<= (- c_main_p.offset (- c_main_p.offset)) 0) (<= (- (- c_main_~malloc_~size) c_main_~malloc_~size) (- 800)) (<= (- (- c_main_p.offset) (- c_main_~malloc_~size)) 400) (<= (- c_main_p.offset |c_main_~malloc_#res.offset|) 0) (<= (- (- c_main_q.offset) |c_main_~malloc_#res.offset|) 0) (<= (- |c_main_~malloc_#res.offset| (- |c_main_~malloc_#res.offset|)) 0) (= v_v_12_1 (select |c_main_~malloc_old_#valid| v_idx_135)) (<= (- (- c_main_p.offset) |c_main_~malloc_#res.offset|) 0) (= c_main_p.offset 0) (<= (- (- c_main_q.offset) c_main_q.offset) 0) (<= (- c_main_q.offset c_main_~malloc_~size) (- 400)) (<= (- (- v_v_31_1) v_v_31_1) (- 8)) (<= (- c_main_p.offset (- c_main_q.offset)) 0) (<= (- c_main_q.offset |c_main_~malloc_#res.offset|) 0) (not (= c_main_p.base 0)) (<= (- (- c_main_p.offset) (- |c_main_~malloc_#res.offset|)) 0) (<= (- (- c_main_q.offset) c_main_~malloc_~size) (- 400)) (= v_v_1_1 (select |c_main_~malloc_old_#length| v_idx_123)) (= (select |c_#memory_int| v_idx_128) v_v_5_1))))} [2019-01-18 15:36:49,525 WARN L263 ngHoareTripleChecker]: unsat core / model generation is disabled, enable it to get more details [2019-01-18 15:36:49,534 WARN L268 ngHoareTripleChecker]: -- [2019-01-18 15:36:49,534 WARN L269 ngHoareTripleChecker]: Simplified triple [2019-01-18 15:36:49,673 WARN L270 ngHoareTripleChecker]: Pre: {2147483637#(and (<= (- main_q.offset (- |main_~malloc_#res.offset|)) 0) (not (= |main_~malloc_#res.base| 0)) (<= (+ |main_~malloc_#res.offset| main_p.offset) 0) (<= (- (- |main_~malloc_#res.offset|) main_~malloc_~size) (- 400)) (<= (- |main_~malloc_#res.offset| (- main_~malloc_~size)) 400) (<= main_q.offset main_p.offset) (<= (- (- main_p.offset) main_p.offset) 0) (forall ((v_idx_112 Int)) (or (< v_idx_112 |main_~malloc_#res.base|) (<= (+ |main_~malloc_#res.base| 1) v_idx_112) (select |#valid| v_idx_112))) (<= (- main_p.offset main_q.offset) 0) (<= (- (- main_p.offset) (- main_q.offset)) 0) (= 400 (+ main_p.offset 400)) (= main_q.offset 0) (= main_~malloc_~size 400) (<= (- (- |main_~malloc_#res.offset|) (- main_~malloc_~size)) 400) (<= (- main_p.offset main_~malloc_~size) (- 400)) (<= (- (- main_p.offset) main_q.offset) 0) (<= (- main_p.offset (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_p.offset) main_~malloc_~size) (- 400)) (<= (- main_q.offset (- main_~malloc_~size)) 400) (<= (- |main_~malloc_#res.offset| main_~malloc_~size) (- 400)) (not (= main_q.base 0)) (<= 0 (+ |main_~malloc_#res.offset| main_p.offset)) (<= (- main_q.offset (- main_q.offset)) 0) (<= (+ main_~malloc_~size main_p.offset) 400) (<= (- (- main_q.offset) (- |main_~malloc_#res.offset|)) 0) (<= (+ main_q.offset main_p.offset) 0) (<= (- (- main_q.offset) (- main_~malloc_~size)) 400) (<= (- (- |main_~malloc_#res.offset|) |main_~malloc_#res.offset|) 0) (<= 0 (+ main_q.offset main_p.offset)) (= |main_~malloc_#res.offset| 0) (<= (- main_p.offset (- main_~malloc_~size)) 400) (<= (- main_~malloc_~size (- main_~malloc_~size)) 800) (<= main_p.offset |main_~malloc_#res.offset|) (<= (- main_p.offset (- main_p.offset)) 0) (<= (* 2 main_p.offset) 0) (<= main_p.offset main_q.offset) (<= |main_~malloc_#res.offset| main_p.offset) (<= (- (- main_~malloc_~size) main_~malloc_~size) (- 800)) (<= (- (- main_p.offset) (- main_~malloc_~size)) 400) (<= (- main_p.offset |main_~malloc_#res.offset|) 0) (<= (+ main_p.offset 400) main_~malloc_~size) (<= (- (- main_q.offset) |main_~malloc_#res.offset|) 0) (<= (- |main_~malloc_#res.offset| (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_p.offset) |main_~malloc_#res.offset|) 0) (= main_p.offset 0) (<= (- (- main_q.offset) main_q.offset) 0) (<= (- main_q.offset main_~malloc_~size) (- 400)) (<= (- main_p.offset (- main_q.offset)) 0) (<= 0 (* 2 main_p.offset)) (forall ((v_idx_118 Int)) (or (< v_idx_118 |main_~malloc_#res.base|) (<= (+ |main_~malloc_#res.base| 1) v_idx_118) (= (+ main_p.offset 400) (select |#length| v_idx_118)))) (<= (- main_q.offset |main_~malloc_#res.offset|) 0) (not (= main_p.base 0)) (<= (- (- main_p.offset) (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_q.offset) main_~malloc_~size) (- 400)) (<= main_~malloc_~size (+ main_p.offset 400)) (<= 400 (+ main_~malloc_~size main_p.offset)))} [2019-01-18 15:36:49,674 WARN L274 ngHoareTripleChecker]: Action: assume 4 + q.offset <= #length[q.base]; [2019-01-18 15:36:49,674 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (<= (+ c_main_q.offset 4) (select |c_#length| c_main_q.base)) [2019-01-18 15:36:49,853 WARN L276 ngHoareTripleChecker]: Post: {2147483636#(and (<= (- main_q.offset (- |main_~malloc_#res.offset|)) 0) (forall ((v_idx_132 Int)) (or (<= (+ main_q.base 1) v_idx_132) (< v_idx_132 main_q.base) (<= (+ main_q.offset 4) (select |#length| v_idx_132)))) (not (= |main_~malloc_#res.base| 0)) (forall ((v_prenex_12 Int)) (or (< v_prenex_12 main_q.base) (<= 8 (* 2 (select |#length| v_prenex_12))) (<= (+ main_q.base 1) v_prenex_12))) (forall ((v_prenex_14 Int)) (or (< v_prenex_14 main_q.base) (<= main_~malloc_~size (+ (select |#length| v_prenex_14) 396)) (<= (+ main_q.base 1) v_prenex_14))) (<= (- (- |main_~malloc_#res.offset|) main_~malloc_~size) (- 400)) (<= (- |main_~malloc_#res.offset| (- main_~malloc_~size)) 400) (forall ((v_prenex_13 Int)) (or (<= (+ main_q.base 1) v_prenex_13) (<= 4 (+ (select |#length| v_prenex_13) main_q.offset)) (< v_prenex_13 main_q.base))) (<= (- (- main_p.offset) main_p.offset) 0) (<= (- main_p.offset main_q.offset) 0) (<= (- (- main_p.offset) (- main_q.offset)) 0) (= main_q.offset 0) (forall ((v_prenex_9 Int)) (or (< v_prenex_9 main_q.base) (<= (+ main_q.base 1) v_prenex_9) (<= 4 (+ (select |#length| v_prenex_9) main_p.offset)))) (= main_~malloc_~size 400) (<= (- (- |main_~malloc_#res.offset|) (- main_~malloc_~size)) 400) (forall ((v_prenex_15 Int)) (or (<= (+ main_p.offset 4) (select |#length| v_prenex_15)) (< v_prenex_15 main_q.base) (<= (+ main_q.base 1) v_prenex_15))) (<= (- main_p.offset main_~malloc_~size) (- 400)) (<= (- (- main_p.offset) main_q.offset) 0) (<= (- main_p.offset (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_p.offset) main_~malloc_~size) (- 400)) (<= (- main_q.offset (- main_~malloc_~size)) 400) (not (= main_q.base 0)) (<= (- |main_~malloc_#res.offset| main_~malloc_~size) (- 400)) (<= (- main_q.offset (- main_q.offset)) 0) (<= (- (- main_q.offset) (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_q.offset) (- main_~malloc_~size)) 400) (<= (- (- |main_~malloc_#res.offset|) |main_~malloc_#res.offset|) 0) (forall ((v_prenex_11 Int)) (or (<= (+ |main_~malloc_#res.offset| 4) (select |#length| v_prenex_11)) (< v_prenex_11 main_q.base) (<= (+ main_q.base 1) v_prenex_11))) (= |main_~malloc_#res.offset| 0) (forall ((v_prenex_10 Int)) (or (<= (+ main_q.base 1) v_prenex_10) (< v_prenex_10 main_q.base) (<= 4 (+ |main_~malloc_#res.offset| (select |#length| v_prenex_10))))) (<= (- main_p.offset (- main_~malloc_~size)) 400) (<= (- main_~malloc_~size (- main_~malloc_~size)) 800) (<= (- main_p.offset (- main_p.offset)) 0) (<= (- (- main_~malloc_~size) main_~malloc_~size) (- 800)) (<= (- (- main_p.offset) (- main_~malloc_~size)) 400) (<= (- main_p.offset |main_~malloc_#res.offset|) 0) (<= (- (- main_q.offset) |main_~malloc_#res.offset|) 0) (<= (- |main_~malloc_#res.offset| (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_p.offset) |main_~malloc_#res.offset|) 0) (= main_p.offset 0) (<= (- (- main_q.offset) main_q.offset) 0) (<= (- main_q.offset main_~malloc_~size) (- 400)) (forall ((v_prenex_16 Int)) (or (<= 404 (+ (select |#length| v_prenex_16) main_~malloc_~size)) (<= (+ main_q.base 1) v_prenex_16) (< v_prenex_16 main_q.base))) (<= (- main_p.offset (- main_q.offset)) 0) (<= (- main_q.offset |main_~malloc_#res.offset|) 0) (not (= main_p.base 0)) (<= (- (- main_p.offset) (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_q.offset) main_~malloc_~size) (- 400)) (forall ((v_idx_126 Int)) (or (select |#valid| v_idx_126) (<= (+ |main_~malloc_#res.base| 1) v_idx_126) (< v_idx_126 |main_~malloc_#res.base|))))} [2019-01-18 15:36:50,014 WARN L212 ngHoareTripleChecker]: Soundness check inconclusive for the following hoare triple [2019-01-18 15:36:50,014 WARN L217 ngHoareTripleChecker]: Expected: VALID Actual: UNKNOWN [2019-01-18 15:36:50,014 WARN L219 ngHoareTripleChecker]: Solver was "Z3" in version "4.8.3" [2019-01-18 15:36:50,015 WARN L223 ngHoareTripleChecker]: -- [2019-01-18 15:36:50,015 WARN L224 ngHoareTripleChecker]: Pre: {2147483635#(forall ((v_idx_148 Int) (v_idx_137 Int) (v_idx_149 Int) (v_idx_138 Int) (v_idx_146 Int) (v_idx_147 Int) (v_idx_139 Int) (v_idx_140 Int) (v_idx_141 Int) (v_idx_150 Int) (v_idx_144 Int) (v_idx_145 Int) (v_idx_142 Int) (v_idx_143 Int)) (exists ((v_v_32_1 Int) (v_v_31_1 Int) (v_v_30_1 Int) (v_v_4_1 Bool) (v_v_8_1 Int) (v_v_19_1 Bool) (v_v_18_1 Bool) (v_v_12_1 Bool) (v_v_7_1 (Array Int Int)) (v_v_1_1 Int) (v_v_2_1 Int) (v_v_5_1 (Array Int Int)) (v_v_6_1 Int) (v_v_20_1 Bool)) (and (<= (- c_main_q.offset (- |c_main_~malloc_#res.offset|)) 0) (or (= (select |c_#length| v_idx_146) v_v_31_1) (<= (+ c_main_q.base 1) v_idx_146) (< v_idx_146 c_main_q.base)) (not (= |c_main_~malloc_#res.base| 0)) (or (<= (+ |c_main_~malloc_#res.base| 1) v_idx_140) (= (select |c_#valid| v_idx_140) v_v_19_1) (< v_idx_140 |c_main_~malloc_#res.base|)) (<= (- (- |c_main_~malloc_#res.offset|) c_main_~malloc_~size) (- 400)) (<= (- |c_main_~malloc_#res.offset| (- c_main_~malloc_~size)) 400) (or (<= |c_main_~malloc_#res.base| v_idx_139) (= v_v_18_1 (select |c_#valid| v_idx_139))) v_v_19_1 (<= (- |c_main_~malloc_#res.offset| v_v_31_1) (- 4)) (<= (- (- c_main_p.offset) c_main_p.offset) 0) (= (select |c_main_~malloc_old_#length| v_idx_137) v_v_1_1) (<= (- c_main_p.offset c_main_q.offset) 0) (<= (- (- c_main_p.offset) (- c_main_q.offset)) 0) (= c_main_q.offset 0) (<= (- c_main_q.offset v_v_31_1) (- 4)) (= v_v_12_1 (select |c_main_~malloc_old_#valid| v_idx_149)) (<= (- (- c_main_~malloc_~size) v_v_31_1) (- 404)) (<= (- c_main_~malloc_~size v_v_31_1) 396) (= c_main_~malloc_~size 400) (<= (- (- |c_main_~malloc_#res.offset|) (- c_main_~malloc_~size)) 400) (= (select v_v_7_1 v_idx_148) v_v_8_1) (or (= (select |c_#length| v_idx_145) v_v_30_1) (<= c_main_q.base v_idx_145)) (<= (- c_main_p.offset c_main_~malloc_~size) (- 400)) (<= (- (- |c_main_~malloc_#res.offset|) v_v_31_1) (- 4)) (<= (- (- c_main_p.offset) c_main_q.offset) 0) (<= (- c_main_p.offset (- |c_main_~malloc_#res.offset|)) 0) (<= (- (- c_main_p.offset) c_main_~malloc_~size) (- 400)) (<= (- c_main_q.offset (- c_main_~malloc_~size)) 400) (not (= c_main_q.base 0)) (<= (- |c_main_~malloc_#res.offset| c_main_~malloc_~size) (- 400)) (<= (- c_main_q.offset (- c_main_q.offset)) 0) (= v_v_4_1 (select |c_old(#valid)| v_idx_138)) (<= (- (- c_main_q.offset) v_v_31_1) (- 4)) (<= (- (- c_main_q.offset) (- |c_main_~malloc_#res.offset|)) 0) (<= (- c_main_p.offset v_v_31_1) (- 4)) (<= (- (- c_main_q.offset) (- c_main_~malloc_~size)) 400) (<= (- (- c_main_p.offset) v_v_31_1) (- 4)) (<= (- (- |c_main_~malloc_#res.offset|) |c_main_~malloc_#res.offset|) 0) (= (select |c_old(#length)| v_idx_144) v_v_2_1) (= |c_main_~malloc_#res.offset| 0) (<= (- c_main_p.offset (- c_main_~malloc_~size)) 400) (<= (- c_main_~malloc_~size (- c_main_~malloc_~size)) 800) (<= (- c_main_p.offset (- c_main_p.offset)) 0) (= (select |c_#memory_int| v_idx_142) v_v_5_1) (<= (- (- c_main_~malloc_~size) c_main_~malloc_~size) (- 800)) (<= (- (- c_main_p.offset) (- c_main_~malloc_~size)) 400) (<= (- c_main_p.offset |c_main_~malloc_#res.offset|) 0) (or (< v_idx_147 (+ c_main_q.base 1)) (= v_v_32_1 (select |c_#length| v_idx_147))) (<= (- (- c_main_q.offset) |c_main_~malloc_#res.offset|) 0) (<= (- |c_main_~malloc_#res.offset| (- |c_main_~malloc_#res.offset|)) 0) (<= (- (- c_main_p.offset) |c_main_~malloc_#res.offset|) 0) (= c_main_p.offset 0) (<= (- (- c_main_q.offset) c_main_q.offset) 0) (<= (- c_main_q.offset c_main_~malloc_~size) (- 400)) (or (= (select |c_#valid| v_idx_141) v_v_20_1) (< v_idx_141 (+ |c_main_~malloc_#res.base| 1))) (<= (- (- v_v_31_1) v_v_31_1) (- 8)) (= v_v_7_1 (select |c_old(#memory_int)| v_idx_143)) (<= (- c_main_p.offset (- c_main_q.offset)) 0) (= v_v_6_1 (select v_v_5_1 v_idx_150)) (<= (- c_main_q.offset |c_main_~malloc_#res.offset|) 0) (not (= c_main_p.base 0)) (<= (- (- c_main_p.offset) (- |c_main_~malloc_#res.offset|)) 0) (<= (- (- c_main_q.offset) c_main_~malloc_~size) (- 400)))))} [2019-01-18 15:36:50,015 WARN L228 ngHoareTripleChecker]: Action: q.base, q.offset := q.base, q.offset + 4; [2019-01-18 15:36:50,015 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (and (= c_main_q.offset_primed (+ c_main_q.offset 4)) (= c_main_q.base_primed c_main_q.base)) [2019-01-18 15:36:50,016 WARN L230 ngHoareTripleChecker]: Post: {2147483634#(forall ((v_idx_159 Int) (v_idx_157 Int) (v_idx_158 Int) (v_idx_162 Int) (v_idx_151 Int) (v_idx_163 Int) (v_idx_152 Int) (v_idx_160 Int) (v_idx_161 Int) (v_idx_155 Int) (v_idx_156 Int) (v_idx_164 Int) (v_idx_153 Int) (v_idx_154 Int)) (exists ((v_v_32_1 Int) (v_v_31_1 Int) (v_v_30_1 Int) (v_v_4_1 Bool) (v_b_12_1 Int) (v_v_8_1 Int) (v_v_19_1 Bool) (v_b_13_1 Int) (v_v_18_1 Bool) (v_v_12_1 Bool) (v_v_7_1 (Array Int Int)) (v_v_1_1 Int) (v_v_2_1 Int) (v_v_5_1 (Array Int Int)) (v_v_6_1 Int) (v_v_20_1 Bool)) (and (<= (- c_main_q.offset v_v_31_1) 0) (= v_v_12_1 (select |c_main_~malloc_old_#valid| v_idx_163)) (not (= |c_main_~malloc_#res.base| 0)) (<= (- (- c_main_q.offset) |c_main_~malloc_#res.offset|) (- 4)) (or (<= v_b_13_1 v_idx_160) (< v_idx_160 v_b_12_1) (= (select |c_#length| v_idx_160) v_v_31_1)) (= (select |c_old(#memory_int)| v_idx_157) v_v_7_1) (= (select |c_old(#length)| v_idx_158) v_v_2_1) (<= (- (- |c_main_~malloc_#res.offset|) c_main_~malloc_~size) (- 400)) (<= (- |c_main_~malloc_#res.offset| (- c_main_~malloc_~size)) 400) v_v_19_1 (<= (- |c_main_~malloc_#res.offset| v_v_31_1) (- 4)) (<= (- (- c_main_p.offset) c_main_p.offset) 0) (not (= v_b_12_1 0)) (<= (- (- c_main_p.offset) c_main_q.offset) (- 4)) (or (< v_idx_155 (+ |c_main_~malloc_#res.base| 1)) (= v_v_20_1 (select |c_#valid| v_idx_155))) (<= (- (- c_main_~malloc_~size) v_v_31_1) (- 404)) (<= (- c_main_~malloc_~size v_v_31_1) 396) (= c_main_q.offset 4) (= c_main_~malloc_~size 400) (<= (- (- |c_main_~malloc_#res.offset|) (- c_main_~malloc_~size)) 400) (<= (- c_main_p.offset c_main_~malloc_~size) (- 400)) (<= (- (- |c_main_~malloc_#res.offset|) v_v_31_1) (- 4)) (<= (- (- v_b_12_1) (- v_b_13_1)) 1) (<= (- c_main_p.offset (- |c_main_~malloc_#res.offset|)) 0) (<= (- (- c_main_p.offset) c_main_~malloc_~size) (- 400)) (<= (- c_main_q.offset (- |c_main_~malloc_#res.offset|)) 4) (<= (- (- c_main_q.offset) v_v_31_1) (- 8)) (not (= c_main_q.base 0)) (<= (- |c_main_~malloc_#res.offset| c_main_~malloc_~size) (- 400)) (or (= (select |c_#valid| v_idx_153) v_v_18_1) (<= |c_main_~malloc_#res.base| v_idx_153)) (<= (- c_main_p.offset v_v_31_1) (- 4)) (<= (- c_main_q.offset |c_main_~malloc_#res.offset|) 4) (<= (- (- c_main_p.offset) v_v_31_1) (- 4)) (<= (- (- |c_main_~malloc_#res.offset|) |c_main_~malloc_#res.offset|) 0) (= |c_main_~malloc_#res.offset| 0) (<= (- c_main_q.offset (- c_main_~malloc_~size)) 404) (<= (- c_main_p.offset (- c_main_q.offset)) 4) (<= (- c_main_p.offset (- c_main_~malloc_~size)) 400) (<= (- c_main_~malloc_~size (- c_main_~malloc_~size)) 800) (= v_v_4_1 (select |c_old(#valid)| v_idx_152)) (<= (- c_main_p.offset (- c_main_p.offset)) 0) (<= (- c_main_q.offset (- c_main_q.offset)) 8) (<= (- (- c_main_q.offset) c_main_~malloc_~size) (- 404)) (<= (- (- c_main_q.offset) c_main_q.offset) (- 8)) (<= (- (- c_main_~malloc_~size) c_main_~malloc_~size) (- 800)) (<= (- (- c_main_p.offset) (- c_main_~malloc_~size)) 400) (<= (- c_main_p.offset |c_main_~malloc_#res.offset|) 0) (= (select |c_main_~malloc_old_#length| v_idx_151) v_v_1_1) (= (select v_v_5_1 v_idx_164) v_v_6_1) (<= (- v_b_12_1 v_b_13_1) (- 1)) (or (= (select |c_#length| v_idx_161) v_v_32_1) (< v_idx_161 v_b_13_1)) (<= (- (- c_main_q.offset) (- |c_main_~malloc_#res.offset|)) (- 4)) (<= (- c_main_p.offset c_main_q.offset) (- 4)) (<= (- |c_main_~malloc_#res.offset| (- |c_main_~malloc_#res.offset|)) 0) (= c_main_p.offset 0) (<= (- (- c_main_p.offset) |c_main_~malloc_#res.offset|) 0) (or (= (select |c_#valid| v_idx_154) v_v_19_1) (< v_idx_154 |c_main_~malloc_#res.base|) (<= (+ |c_main_~malloc_#res.base| 1) v_idx_154)) (<= (- (- c_main_q.offset) (- c_main_~malloc_~size)) 396) (<= (- (- c_main_p.offset) (- c_main_q.offset)) 4) (<= (- (- v_v_31_1) v_v_31_1) (- 8)) (= v_v_5_1 (select |c_#memory_int| v_idx_156)) (or (<= v_b_12_1 v_idx_159) (= v_v_30_1 (select |c_#length| v_idx_159))) (= (select v_v_7_1 v_idx_162) v_v_8_1) (not (= c_main_p.base 0)) (<= (- (- c_main_p.offset) (- |c_main_~malloc_#res.offset|)) 0) (<= (- c_main_q.offset c_main_~malloc_~size) (- 396)))))} [2019-01-18 15:36:50,016 WARN L263 ngHoareTripleChecker]: unsat core / model generation is disabled, enable it to get more details [2019-01-18 15:36:50,017 WARN L268 ngHoareTripleChecker]: -- [2019-01-18 15:36:50,017 WARN L269 ngHoareTripleChecker]: Simplified triple [2019-01-18 15:36:50,174 WARN L270 ngHoareTripleChecker]: Pre: {2147483635#(and (<= (- main_q.offset (- |main_~malloc_#res.offset|)) 0) (not (= |main_~malloc_#res.base| 0)) (forall ((v_prenex_18 Int)) (or (<= (+ |main_~malloc_#res.offset| 4) (select |#length| v_prenex_18)) (< v_prenex_18 main_q.base) (<= (+ main_q.base 1) v_prenex_18))) (forall ((v_idx_146 Int)) (or (<= main_~malloc_~size (+ (select |#length| v_idx_146) 396)) (<= (+ main_q.base 1) v_idx_146) (< v_idx_146 main_q.base))) (<= (- (- |main_~malloc_#res.offset|) main_~malloc_~size) (- 400)) (<= (- |main_~malloc_#res.offset| (- main_~malloc_~size)) 400) (forall ((v_prenex_19 Int)) (or (<= (+ main_q.base 1) v_prenex_19) (< v_prenex_19 main_q.base) (<= 4 (+ (select |#length| v_prenex_19) main_q.offset)))) (<= (- (- main_p.offset) main_p.offset) 0) (<= (- main_p.offset main_q.offset) 0) (<= (- (- main_p.offset) (- main_q.offset)) 0) (= main_q.offset 0) (forall ((v_prenex_21 Int)) (or (< v_prenex_21 main_q.base) (<= (+ main_q.base 1) v_prenex_21) (<= 4 (+ (select |#length| v_prenex_21) |main_~malloc_#res.offset|)))) (= main_~malloc_~size 400) (<= (- (- |main_~malloc_#res.offset|) (- main_~malloc_~size)) 400) (<= (- main_p.offset main_~malloc_~size) (- 400)) (<= (- (- main_p.offset) main_q.offset) 0) (<= (- main_p.offset (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_p.offset) main_~malloc_~size) (- 400)) (<= (- main_q.offset (- main_~malloc_~size)) 400) (not (= main_q.base 0)) (<= (- |main_~malloc_#res.offset| main_~malloc_~size) (- 400)) (forall ((v_prenex_24 Int)) (or (<= (+ main_q.base 1) v_prenex_24) (< v_prenex_24 main_q.base) (<= 404 (+ (select |#length| v_prenex_24) main_~malloc_~size)))) (<= (- main_q.offset (- main_q.offset)) 0) (<= (- (- main_q.offset) (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_q.offset) (- main_~malloc_~size)) 400) (<= (- (- |main_~malloc_#res.offset|) |main_~malloc_#res.offset|) 0) (= |main_~malloc_#res.offset| 0) (<= (- main_p.offset (- main_~malloc_~size)) 400) (<= (- main_~malloc_~size (- main_~malloc_~size)) 800) (forall ((v_prenex_22 Int)) (or (<= 4 (+ (select |#length| v_prenex_22) main_p.offset)) (< v_prenex_22 main_q.base) (<= (+ main_q.base 1) v_prenex_22))) (<= (- main_p.offset (- main_p.offset)) 0) (<= (- (- main_~malloc_~size) main_~malloc_~size) (- 800)) (<= (- (- main_p.offset) (- main_~malloc_~size)) 400) (<= (- main_p.offset |main_~malloc_#res.offset|) 0) (forall ((v_prenex_23 Int)) (or (<= (+ main_p.offset 4) (select |#length| v_prenex_23)) (< v_prenex_23 main_q.base) (<= (+ main_q.base 1) v_prenex_23))) (<= (- (- main_q.offset) |main_~malloc_#res.offset|) 0) (forall ((v_prenex_17 Int)) (or (<= (+ main_q.base 1) v_prenex_17) (<= 8 (* 2 (select |#length| v_prenex_17))) (< v_prenex_17 main_q.base))) (<= (- |main_~malloc_#res.offset| (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_p.offset) |main_~malloc_#res.offset|) 0) (= main_p.offset 0) (<= (- (- main_q.offset) main_q.offset) 0) (<= (- main_q.offset main_~malloc_~size) (- 400)) (forall ((v_idx_140 Int)) (or (<= (+ |main_~malloc_#res.base| 1) v_idx_140) (< v_idx_140 |main_~malloc_#res.base|) (select |#valid| v_idx_140))) (<= (- main_p.offset (- main_q.offset)) 0) (<= (- main_q.offset |main_~malloc_#res.offset|) 0) (not (= main_p.base 0)) (<= (- (- main_p.offset) (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_q.offset) main_~malloc_~size) (- 400)) (forall ((v_prenex_20 Int)) (or (< v_prenex_20 main_q.base) (<= (+ main_q.base 1) v_prenex_20) (<= (+ main_q.offset 4) (select |#length| v_prenex_20)))))} [2019-01-18 15:36:50,175 WARN L274 ngHoareTripleChecker]: Action: q.base, q.offset := q.base, q.offset + 4; [2019-01-18 15:36:50,175 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (and (= c_main_q.offset_primed (+ c_main_q.offset 4)) (= c_main_q.base_primed c_main_q.base)) [2019-01-18 15:36:50,506 WARN L276 ngHoareTripleChecker]: Post: {2147483634#(and (<= (- (- |main_~malloc_#res.offset|) |main_~malloc_#res.offset|) 0) (not (= |main_~malloc_#res.base| 0)) (= |main_~malloc_#res.offset| 0) (<= (- (- main_q.offset) |main_~malloc_#res.offset|) (- 4)) (<= (- main_q.offset (- main_~malloc_~size)) 404) (<= (- (- |main_~malloc_#res.offset|) main_~malloc_~size) (- 400)) (<= (- |main_~malloc_#res.offset| (- main_~malloc_~size)) 400) (<= (- main_p.offset (- main_q.offset)) 4) (<= (- main_p.offset (- main_~malloc_~size)) 400) (<= (- main_~malloc_~size (- main_~malloc_~size)) 800) (<= (- main_p.offset (- main_p.offset)) 0) (<= (- (- main_p.offset) main_p.offset) 0) (<= (- main_q.offset (- main_q.offset)) 8) (<= (- (- main_q.offset) main_~malloc_~size) (- 404)) (<= (- (- main_q.offset) main_q.offset) (- 8)) (<= (- (- main_~malloc_~size) main_~malloc_~size) (- 800)) (<= (- (- main_p.offset) (- main_~malloc_~size)) 400) (<= (- main_p.offset |main_~malloc_#res.offset|) 0) (<= (- (- main_p.offset) main_q.offset) (- 4)) (<= (- (- main_q.offset) (- |main_~malloc_#res.offset|)) (- 4)) (<= (- main_p.offset main_q.offset) (- 4)) (<= (- |main_~malloc_#res.offset| (- |main_~malloc_#res.offset|)) 0) (= main_p.offset 0) (<= (- (- main_p.offset) |main_~malloc_#res.offset|) 0) (= main_q.offset 4) (= main_~malloc_~size 400) (<= (- (- |main_~malloc_#res.offset|) (- main_~malloc_~size)) 400) (<= (- (- main_q.offset) (- main_~malloc_~size)) 396) (<= (- (- main_p.offset) (- main_q.offset)) 4) (<= (- main_p.offset main_~malloc_~size) (- 400)) (<= (- main_p.offset (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_p.offset) main_~malloc_~size) (- 400)) (<= (- main_q.offset (- |main_~malloc_#res.offset|)) 4) (not (= main_q.base 0)) (<= (- |main_~malloc_#res.offset| main_~malloc_~size) (- 400)) (not (= main_p.base 0)) (<= (- (- main_p.offset) (- |main_~malloc_#res.offset|)) 0) (forall ((v_idx_154 Int)) (or (select |#valid| v_idx_154) (< v_idx_154 |main_~malloc_#res.base|) (<= (+ |main_~malloc_#res.base| 1) v_idx_154))) (<= (- main_q.offset main_~malloc_~size) (- 396)) (<= (- main_q.offset |main_~malloc_#res.offset|) 4))}