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/array-tiling/pnr5_true-unreach-call.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-61f4311 [2018-11-23 10:28:56,907 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 10:28:56,909 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 10:28:56,923 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 10:28:56,924 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 10:28:56,925 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 10:28:56,926 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 10:28:56,929 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 10:28:56,934 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 10:28:56,935 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 10:28:56,937 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 10:28:56,938 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 10:28:56,939 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 10:28:56,940 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 10:28:56,941 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 10:28:56,943 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 10:28:56,944 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 10:28:56,946 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 10:28:56,948 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 10:28:56,957 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 10:28:56,958 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 10:28:56,964 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 10:28:56,969 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 10:28:56,969 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 10:28:56,969 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 10:28:56,970 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 10:28:56,971 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 10:28:56,972 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 10:28:56,973 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 10:28:56,973 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 10:28:56,976 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 10:28:56,977 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 10:28:56,977 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 10:28:56,977 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 10:28:56,978 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 10:28:56,981 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 10:28:56,981 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 10:28:57,011 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 10:28:57,011 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 10:28:57,012 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 10:28:57,012 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 10:28:57,012 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 10:28:57,013 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 10:28:57,015 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 10:28:57,015 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 10:28:57,015 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 10:28:57,016 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 10:28:57,016 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 10:28:57,016 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 10:28:57,016 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 10:28:57,016 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 10:28:57,017 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-23 10:28:57,017 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-23 10:28:57,017 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 10:28:57,017 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 10:28:57,017 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 10:28:57,018 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 10:28:57,019 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 10:28:57,019 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 10:28:57,019 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 10:28:57,019 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 10:28:57,020 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 10:28:57,020 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 10:28:57,020 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 10:28:57,020 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 10:28:57,020 INFO L133 SettingsManager]: * Trace refinement strategy=WOLF [2018-11-23 10:28:57,021 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 10:28:57,021 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-23 10:28:57,021 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-23 10:28:57,021 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-23 10:28:57,090 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 10:28:57,109 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 10:28:57,112 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 10:28:57,113 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 10:28:57,113 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 10:28:57,114 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/array-tiling/pnr5_true-unreach-call.i [2018-11-23 10:28:57,173 INFO L221 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/92a007a46/34ca864e8e554a66ae3f1bf02d7a815f/FLAGd523b8328 [2018-11-23 10:28:57,639 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 10:28:57,640 INFO L161 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/array-tiling/pnr5_true-unreach-call.i [2018-11-23 10:28:57,647 INFO L355 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/92a007a46/34ca864e8e554a66ae3f1bf02d7a815f/FLAGd523b8328 [2018-11-23 10:28:58,001 INFO L363 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/92a007a46/34ca864e8e554a66ae3f1bf02d7a815f [2018-11-23 10:28:58,011 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 10:28:58,013 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 10:28:58,014 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 10:28:58,014 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 10:28:58,020 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 10:28:58,022 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 10:28:58" (1/1) ... [2018-11-23 10:28:58,025 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@64cbf194 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:28:58, skipping insertion in model container [2018-11-23 10:28:58,025 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 10:28:58" (1/1) ... [2018-11-23 10:28:58,035 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 10:28:58,065 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 10:28:58,339 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 10:28:58,350 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 10:28:58,397 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 10:28:58,428 INFO L195 MainTranslator]: Completed translation [2018-11-23 10:28:58,429 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:28:58 WrapperNode [2018-11-23 10:28:58,429 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 10:28:58,430 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 10:28:58,430 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 10:28:58,431 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 10:28:58,442 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:28:58" (1/1) ... [2018-11-23 10:28:58,455 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:28:58" (1/1) ... [2018-11-23 10:28:58,464 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 10:28:58,464 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 10:28:58,464 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 10:28:58,465 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 10:28:58,473 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:28:58" (1/1) ... [2018-11-23 10:28:58,474 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:28:58" (1/1) ... [2018-11-23 10:28:58,477 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:28:58" (1/1) ... [2018-11-23 10:28:58,477 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:28:58" (1/1) ... [2018-11-23 10:28:58,494 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:28:58" (1/1) ... [2018-11-23 10:28:58,565 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:28:58" (1/1) ... [2018-11-23 10:28:58,567 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:28:58" (1/1) ... [2018-11-23 10:28:58,570 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 10:28:58,571 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 10:28:58,571 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 10:28:58,571 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 10:28:58,572 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:28:58" (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 10:28:58,629 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 10:28:58,629 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 10:28:58,630 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 10:28:58,630 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-23 10:28:58,630 INFO L130 BoogieDeclarations]: Found specification of procedure ReadFromPort [2018-11-23 10:28:58,630 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 10:28:58,630 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 10:28:58,630 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 10:28:58,630 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 10:28:58,631 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2018-11-23 10:28:58,631 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2018-11-23 10:28:58,631 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-23 10:28:58,631 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 10:28:59,530 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 10:28:59,530 INFO L280 CfgBuilder]: Removed 2 assue(true) statements. [2018-11-23 10:28:59,530 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 10:28:59 BoogieIcfgContainer [2018-11-23 10:28:59,531 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 10:28:59,531 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 10:28:59,532 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 10:28:59,535 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 10:28:59,535 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 10:28:58" (1/3) ... [2018-11-23 10:28:59,536 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@518cbef and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 10:28:59, skipping insertion in model container [2018-11-23 10:28:59,536 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:28:58" (2/3) ... [2018-11-23 10:28:59,537 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@518cbef and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 10:28:59, skipping insertion in model container [2018-11-23 10:28:59,537 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 10:28:59" (3/3) ... [2018-11-23 10:28:59,538 INFO L112 eAbstractionObserver]: Analyzing ICFG pnr5_true-unreach-call.i [2018-11-23 10:28:59,548 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 10:28:59,555 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 10:28:59,572 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 10:28:59,604 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 10:28:59,605 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 10:28:59,605 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 10:28:59,606 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 10:28:59,606 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 10:28:59,606 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 10:28:59,606 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 10:28:59,606 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 10:28:59,607 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 10:28:59,623 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states. [2018-11-23 10:28:59,629 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2018-11-23 10:28:59,630 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:28:59,631 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:28:59,633 INFO L423 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:28:59,639 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:28:59,640 INFO L82 PathProgramCache]: Analyzing trace with hash -112349599, now seen corresponding path program 1 times [2018-11-23 10:28:59,644 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:28:59,645 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 10:28:59,668 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 10:28:59,888 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:28:59,929 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:28:59,937 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:29:00,231 WARN L180 SmtUtils]: Spent 106.00 ms on a formula simplification that was a NOOP. DAG size: 12 [2018-11-23 10:29:00,281 INFO L256 TraceCheckUtils]: 0: Hoare triple {39#true} call ULTIMATE.init(); {39#true} is VALID [2018-11-23 10:29:00,285 INFO L273 TraceCheckUtils]: 1: Hoare triple {39#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {39#true} is VALID [2018-11-23 10:29:00,286 INFO L273 TraceCheckUtils]: 2: Hoare triple {39#true} assume true; {39#true} is VALID [2018-11-23 10:29:00,286 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {39#true} {39#true} #93#return; {39#true} is VALID [2018-11-23 10:29:00,286 INFO L256 TraceCheckUtils]: 4: Hoare triple {39#true} call #t~ret10 := main(); {39#true} is VALID [2018-11-23 10:29:00,287 INFO L273 TraceCheckUtils]: 5: Hoare triple {39#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {39#true} is VALID [2018-11-23 10:29:00,288 INFO L273 TraceCheckUtils]: 6: Hoare triple {39#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;havoc ~value~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~DEFAULTVAL~0 := 0bv32;~FIXEDVAL~0 := 10bv32; {62#(bvsgt ~SIZE~0 (_ bv1 32))} is VALID [2018-11-23 10:29:00,289 INFO L273 TraceCheckUtils]: 7: Hoare triple {62#(bvsgt ~SIZE~0 (_ bv1 32))} assume !(0bv32 != ~bvsrem32(~SIZE~0, 5bv32));assume 0bv32 != (if 0bv32 == ~bvsrem32(~SIZE~0, 5bv32) then 1bv32 else 0bv32);~i~0 := 1bv32; {66#(and (= (bvsrem ~SIZE~0 (_ bv5 32)) (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:29:00,305 INFO L273 TraceCheckUtils]: 8: Hoare triple {66#(and (= (bvsrem ~SIZE~0 (_ bv5 32)) (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume !~bvsle32(~i~0, ~bvsdiv32(~SIZE~0, 5bv32)); {40#false} is VALID [2018-11-23 10:29:00,306 INFO L273 TraceCheckUtils]: 9: Hoare triple {40#false} ~i~0 := 0bv32; {40#false} is VALID [2018-11-23 10:29:00,306 INFO L273 TraceCheckUtils]: 10: Hoare triple {40#false} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem9 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {40#false} is VALID [2018-11-23 10:29:00,306 INFO L256 TraceCheckUtils]: 11: Hoare triple {40#false} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1bv32 else 0bv32)); {40#false} is VALID [2018-11-23 10:29:00,307 INFO L273 TraceCheckUtils]: 12: Hoare triple {40#false} ~cond := #in~cond; {40#false} is VALID [2018-11-23 10:29:00,307 INFO L273 TraceCheckUtils]: 13: Hoare triple {40#false} assume 0bv32 == ~cond; {40#false} is VALID [2018-11-23 10:29:00,307 INFO L273 TraceCheckUtils]: 14: Hoare triple {40#false} assume !false; {40#false} is VALID [2018-11-23 10:29:00,311 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 10:29:00,311 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 10:29:00,317 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 10:29:00,318 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-23 10:29:00,323 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 15 [2018-11-23 10:29:00,325 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:29:00,329 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-23 10:29:00,405 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 10:29:00,405 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-23 10:29:00,413 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 10:29:00,413 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-23 10:29:00,416 INFO L87 Difference]: Start difference. First operand 36 states. Second operand 4 states. [2018-11-23 10:29:02,832 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:29:02,832 INFO L93 Difference]: Finished difference Result 69 states and 89 transitions. [2018-11-23 10:29:02,832 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-23 10:29:02,833 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 15 [2018-11-23 10:29:02,833 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:29:02,834 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 10:29:02,846 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 89 transitions. [2018-11-23 10:29:02,846 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 10:29:02,852 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 89 transitions. [2018-11-23 10:29:02,852 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 89 transitions. [2018-11-23 10:29:03,333 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:29:03,346 INFO L225 Difference]: With dead ends: 69 [2018-11-23 10:29:03,347 INFO L226 Difference]: Without dead ends: 41 [2018-11-23 10:29:03,350 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 12 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-23 10:29:03,365 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2018-11-23 10:29:03,444 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 31. [2018-11-23 10:29:03,445 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:29:03,446 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand 31 states. [2018-11-23 10:29:03,446 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 31 states. [2018-11-23 10:29:03,447 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 31 states. [2018-11-23 10:29:03,453 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:29:03,454 INFO L93 Difference]: Finished difference Result 41 states and 52 transitions. [2018-11-23 10:29:03,454 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 52 transitions. [2018-11-23 10:29:03,455 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:29:03,455 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:29:03,455 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 41 states. [2018-11-23 10:29:03,455 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 41 states. [2018-11-23 10:29:03,465 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:29:03,465 INFO L93 Difference]: Finished difference Result 41 states and 52 transitions. [2018-11-23 10:29:03,466 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 52 transitions. [2018-11-23 10:29:03,466 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:29:03,466 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:29:03,467 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:29:03,467 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:29:03,467 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2018-11-23 10:29:03,470 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 37 transitions. [2018-11-23 10:29:03,472 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 37 transitions. Word has length 15 [2018-11-23 10:29:03,472 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:29:03,472 INFO L480 AbstractCegarLoop]: Abstraction has 31 states and 37 transitions. [2018-11-23 10:29:03,472 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-23 10:29:03,472 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 37 transitions. [2018-11-23 10:29:03,473 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2018-11-23 10:29:03,474 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:29:03,474 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, 1, 1, 1, 1, 1] [2018-11-23 10:29:03,474 INFO L423 AbstractCegarLoop]: === Iteration 2 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:29:03,475 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:29:03,475 INFO L82 PathProgramCache]: Analyzing trace with hash 230035635, now seen corresponding path program 1 times [2018-11-23 10:29:03,475 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:29:03,476 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 10:29:03,497 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 10:29:03,669 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:29:03,712 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:29:03,714 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:29:03,883 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 16 treesize of output 13 [2018-11-23 10:29:03,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 13 treesize of output 12 [2018-11-23 10:29:03,895 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:29:03,918 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:29:03,943 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 10:29:03,944 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:32, output treesize:25 [2018-11-23 10:29:03,957 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:29:03,957 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_24|, main_~value~0]. (and (= (store |v_#memory_int_24| |main_~#a~0.base| (store (select |v_#memory_int_24| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32)) main_~value~0)) |#memory_int|) (not (= main_~value~0 main_~DEFAULTVAL~0)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))) [2018-11-23 10:29:03,958 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32))))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))) [2018-11-23 10:29:04,061 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 30 treesize of output 25 [2018-11-23 10:29:04,096 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:29:04,100 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 40 [2018-11-23 10:29:04,108 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:29:04,138 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:29:04,184 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 10:29:04,184 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:41, output treesize:25 [2018-11-23 10:29:04,201 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:29:04,201 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_25|, main_~FIXEDVAL~0]. (let ((.cse0 (select |v_#memory_int_25| |main_~#a~0.base|)) (.cse1 (bvmul (_ bv20 32) main_~i~0))) (and (not (= main_~DEFAULTVAL~0 (select .cse0 (bvadd |main_~#a~0.offset| .cse1 (_ bv4294967276 32))))) (= |#memory_int| (store |v_#memory_int_25| |main_~#a~0.base| (store .cse0 (bvadd |main_~#a~0.offset| .cse1 (_ bv4294967280 32)) main_~FIXEDVAL~0))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))) [2018-11-23 10:29:04,202 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32))))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))) [2018-11-23 10:29:04,287 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 30 treesize of output 25 [2018-11-23 10:29:04,300 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:29:04,305 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 40 [2018-11-23 10:29:04,316 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:29:04,336 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:29:04,371 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 10:29:04,372 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:41, output treesize:25 [2018-11-23 10:29:04,395 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:29:04,395 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_26|, main_~value~0]. (let ((.cse0 (select |v_#memory_int_26| |main_~#a~0.base|)) (.cse1 (bvmul (_ bv20 32) main_~i~0))) (and (not (= main_~DEFAULTVAL~0 (select .cse0 (bvadd |main_~#a~0.offset| .cse1 (_ bv4294967276 32))))) (= (store |v_#memory_int_26| |main_~#a~0.base| (store .cse0 (bvadd |main_~#a~0.offset| .cse1 (_ bv4294967284 32)) main_~value~0)) |#memory_int|) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))) [2018-11-23 10:29:04,395 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32))))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))) [2018-11-23 10:29:04,442 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 30 treesize of output 25 [2018-11-23 10:29:04,460 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:29:04,465 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 40 [2018-11-23 10:29:04,471 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:29:04,496 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:29:04,520 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 10:29:04,520 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:41, output treesize:25 [2018-11-23 10:29:04,543 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:29:04,543 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_27|, main_~value~0]. (let ((.cse0 (select |v_#memory_int_27| |main_~#a~0.base|)) (.cse1 (bvmul (_ bv20 32) main_~i~0))) (and (= |#memory_int| (store |v_#memory_int_27| |main_~#a~0.base| (store .cse0 (bvadd |main_~#a~0.offset| .cse1 (_ bv4294967288 32)) main_~value~0))) (not (= (select .cse0 (bvadd |main_~#a~0.offset| .cse1 (_ bv4294967276 32))) main_~DEFAULTVAL~0)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))) [2018-11-23 10:29:04,544 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32))))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))) [2018-11-23 10:29:04,573 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 22 treesize of output 17 [2018-11-23 10:29:04,641 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:29:04,645 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 24 [2018-11-23 10:29:04,648 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:29:04,659 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:29:04,676 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 10:29:04,677 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:28, output treesize:15 [2018-11-23 10:29:04,689 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:29:04,690 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_28|, main_~value~0]. (let ((.cse0 (select |v_#memory_int_28| |main_~#a~0.base|))) (and (not (= main_~DEFAULTVAL~0 (select .cse0 |main_~#a~0.offset|))) (= |#memory_int| (store |v_#memory_int_28| |main_~#a~0.base| (store .cse0 (bvadd |main_~#a~0.offset| (_ bv16 32)) main_~value~0))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))) [2018-11-23 10:29:04,690 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32))) [2018-11-23 10:29:04,806 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 16 treesize of output 12 [2018-11-23 10:29:04,812 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 12 treesize of output 4 [2018-11-23 10:29:04,813 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:29:04,816 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:29:04,822 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 10:29:04,823 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:19, output treesize:8 [2018-11-23 10:29:04,827 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:29:04,828 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|]. (let ((.cse0 (select (select |#memory_int| |main_~#a~0.base|) (_ bv0 32)))) (and (= .cse0 |main_#t~mem9|) (not (= main_~DEFAULTVAL~0 .cse0)) (= main_~DEFAULTVAL~0 (_ bv0 32)))) [2018-11-23 10:29:04,828 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (not (= main_~DEFAULTVAL~0 |main_#t~mem9|)) (= main_~DEFAULTVAL~0 (_ bv0 32))) [2018-11-23 10:29:04,880 INFO L256 TraceCheckUtils]: 0: Hoare triple {290#true} call ULTIMATE.init(); {290#true} is VALID [2018-11-23 10:29:04,881 INFO L273 TraceCheckUtils]: 1: Hoare triple {290#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {290#true} is VALID [2018-11-23 10:29:04,882 INFO L273 TraceCheckUtils]: 2: Hoare triple {290#true} assume true; {290#true} is VALID [2018-11-23 10:29:04,882 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {290#true} {290#true} #93#return; {290#true} is VALID [2018-11-23 10:29:04,882 INFO L256 TraceCheckUtils]: 4: Hoare triple {290#true} call #t~ret10 := main(); {290#true} is VALID [2018-11-23 10:29:04,883 INFO L273 TraceCheckUtils]: 5: Hoare triple {290#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {290#true} is VALID [2018-11-23 10:29:04,884 INFO L273 TraceCheckUtils]: 6: Hoare triple {290#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;havoc ~value~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~DEFAULTVAL~0 := 0bv32;~FIXEDVAL~0 := 10bv32; {313#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} is VALID [2018-11-23 10:29:04,888 INFO L273 TraceCheckUtils]: 7: Hoare triple {313#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} assume !(0bv32 != ~bvsrem32(~SIZE~0, 5bv32));assume 0bv32 != (if 0bv32 == ~bvsrem32(~SIZE~0, 5bv32) then 1bv32 else 0bv32);~i~0 := 1bv32; {317#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:29:04,889 INFO L273 TraceCheckUtils]: 8: Hoare triple {317#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume !!~bvsle32(~i~0, ~bvsdiv32(~SIZE~0, 5bv32));call #t~ret3 := ReadFromPort();~value~0 := #t~ret3;havoc #t~ret3; {317#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:29:04,890 INFO L273 TraceCheckUtils]: 9: Hoare triple {317#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume ~value~0 != ~DEFAULTVAL~0;call write~intINTTYPE4(~value~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 5bv32))), 4bv32); {324#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32))))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:29:04,893 INFO L273 TraceCheckUtils]: 10: Hoare triple {324#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32))))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} call #t~ret4 := ReadFromPort();~value~0 := #t~ret4;havoc #t~ret4; {324#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32))))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:29:04,897 INFO L273 TraceCheckUtils]: 11: Hoare triple {324#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32))))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume !(~value~0 != ~DEFAULTVAL~0);call write~intINTTYPE4(~FIXEDVAL~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 4bv32))), 4bv32); {324#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32))))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:29:04,899 INFO L273 TraceCheckUtils]: 12: Hoare triple {324#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32))))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} call #t~ret5 := ReadFromPort();~value~0 := #t~ret5;havoc #t~ret5; {324#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32))))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:29:04,902 INFO L273 TraceCheckUtils]: 13: Hoare triple {324#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32))))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume ~value~0 != ~DEFAULTVAL~0;call write~intINTTYPE4(~value~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 3bv32))), 4bv32); {324#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32))))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:29:04,906 INFO L273 TraceCheckUtils]: 14: Hoare triple {324#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32))))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} call #t~ret6 := ReadFromPort();~value~0 := #t~ret6;havoc #t~ret6; {324#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32))))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:29:04,909 INFO L273 TraceCheckUtils]: 15: Hoare triple {324#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32))))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume ~value~0 != ~DEFAULTVAL~0;call write~intINTTYPE4(~value~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 2bv32))), 4bv32); {324#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32))))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:29:04,911 INFO L273 TraceCheckUtils]: 16: Hoare triple {324#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32))))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} call #t~ret7 := ReadFromPort();~value~0 := #t~ret7;havoc #t~ret7; {324#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32))))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:29:04,912 INFO L273 TraceCheckUtils]: 17: Hoare triple {324#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32))))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume ~value~0 != ~DEFAULTVAL~0;call write~intINTTYPE4(~value~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 1bv32))), 4bv32); {349#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} is VALID [2018-11-23 10:29:04,913 INFO L273 TraceCheckUtils]: 18: Hoare triple {349#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {349#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} is VALID [2018-11-23 10:29:04,914 INFO L273 TraceCheckUtils]: 19: Hoare triple {349#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} assume !~bvsle32(~i~0, ~bvsdiv32(~SIZE~0, 5bv32)); {349#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} is VALID [2018-11-23 10:29:04,915 INFO L273 TraceCheckUtils]: 20: Hoare triple {349#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} ~i~0 := 0bv32; {359#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} is VALID [2018-11-23 10:29:04,917 INFO L273 TraceCheckUtils]: 21: Hoare triple {359#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem9 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {363#(and (not (= main_~DEFAULTVAL~0 |main_#t~mem9|)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} is VALID [2018-11-23 10:29:04,919 INFO L256 TraceCheckUtils]: 22: Hoare triple {363#(and (not (= main_~DEFAULTVAL~0 |main_#t~mem9|)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1bv32 else 0bv32)); {367#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:29:04,920 INFO L273 TraceCheckUtils]: 23: Hoare triple {367#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} ~cond := #in~cond; {371#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:29:04,922 INFO L273 TraceCheckUtils]: 24: Hoare triple {371#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} assume 0bv32 == ~cond; {291#false} is VALID [2018-11-23 10:29:04,922 INFO L273 TraceCheckUtils]: 25: Hoare triple {291#false} assume !false; {291#false} is VALID [2018-11-23 10:29:04,929 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 10:29:04,929 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:29:05,518 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 48 treesize of output 46 [2018-11-23 10:29:05,544 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 50 [2018-11-23 10:29:05,561 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:05,564 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 50 treesize of output 66 [2018-11-23 10:29:05,579 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:05,579 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:05,580 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:05,593 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 53 treesize of output 95 [2018-11-23 10:29:05,621 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:05,621 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:05,622 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:05,622 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:05,623 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:05,625 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:05,649 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 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 56 treesize of output 137 [2018-11-23 10:29:05,802 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:05,803 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:05,804 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:05,804 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:05,805 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:05,805 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:05,826 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 57 treesize of output 91 [2018-11-23 10:29:05,831 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-11-23 10:29:05,853 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:05,854 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:05,892 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:05,893 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:05,893 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:05,900 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:05,907 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:05,919 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:05,972 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 8 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 3 case distinctions, treesize of input 58 treesize of output 136 [2018-11-23 10:29:06,002 INFO L267 ElimStorePlain]: Start of recursive call 8: End of recursive call: and 8 xjuncts. [2018-11-23 10:29:06,278 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 5 xjuncts. [2018-11-23 10:29:06,416 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 5 xjuncts. [2018-11-23 10:29:06,548 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 5 xjuncts. [2018-11-23 10:29:06,653 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 5 xjuncts. [2018-11-23 10:29:06,811 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 5 xjuncts. [2018-11-23 10:29:06,915 INFO L267 ElimStorePlain]: Start of recursive call 1: 6 dim-0 vars, 1 dim-2 vars, End of recursive call: and 5 xjuncts. [2018-11-23 10:29:06,916 INFO L202 ElimStorePlain]: Needed 8 recursive calls to eliminate 7 variables, input treesize:52, output treesize:145 [2018-11-23 10:29:06,932 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:29:06,932 WARN L384 uantifierElimination]: Input elimination task: ∀ [|#memory_int|, |main_~#a~0.base|, main_~value~0, main_~FIXEDVAL~0, v_subst_3, v_subst_2, v_subst_1]. (or (= main_~value~0 main_~DEFAULTVAL~0) (not (= main_~DEFAULTVAL~0 (select (let ((.cse0 (bvmul (_ bv20 32) main_~i~0))) (store (store (store (store (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| .cse0 (_ bv4294967276 32)) main_~value~0) (bvadd |main_~#a~0.offset| .cse0 (_ bv4294967280 32)) main_~FIXEDVAL~0) (bvadd |main_~#a~0.offset| .cse0 (_ bv4294967284 32)) v_subst_3) (bvadd |main_~#a~0.offset| .cse0 (_ bv4294967288 32)) v_subst_2) (bvadd |main_~#a~0.offset| .cse0 (_ bv4294967292 32)) v_subst_1)) |main_~#a~0.offset|)))) [2018-11-23 10:29:06,933 WARN L385 uantifierElimination]: ElimStorePlain result: ∀ []. (let ((.cse5 (bvmul (_ bv20 32) main_~i~0))) (let ((.cse1 (= |main_~#a~0.offset| (bvadd |main_~#a~0.offset| .cse5 (_ bv4294967288 32)))) (.cse0 (= |main_~#a~0.offset| (bvadd |main_~#a~0.offset| .cse5 (_ bv4294967280 32)))) (.cse4 (= |main_~#a~0.offset| (bvadd |main_~#a~0.offset| .cse5 (_ bv4294967284 32)))) (.cse2 (= (bvadd .cse5 (_ bv4294967292 32)) (_ bv0 32))) (.cse3 (= |main_~#a~0.offset| (bvadd |main_~#a~0.offset| .cse5 (_ bv4294967276 32))))) (and (or .cse0 .cse1 .cse2 .cse3) (or .cse1 .cse4 .cse2 .cse3) (not .cse2) (or .cse0 .cse1 .cse4 .cse2 .cse3) (or .cse0 .cse4 .cse2 .cse3)))) [2018-11-23 10:29:07,027 INFO L273 TraceCheckUtils]: 25: Hoare triple {291#false} assume !false; {291#false} is VALID [2018-11-23 10:29:07,028 INFO L273 TraceCheckUtils]: 24: Hoare triple {381#(not (= (_ bv0 32) __VERIFIER_assert_~cond))} assume 0bv32 == ~cond; {291#false} is VALID [2018-11-23 10:29:07,028 INFO L273 TraceCheckUtils]: 23: Hoare triple {385#(not (= |__VERIFIER_assert_#in~cond| (_ bv0 32)))} ~cond := #in~cond; {381#(not (= (_ bv0 32) __VERIFIER_assert_~cond))} is VALID [2018-11-23 10:29:07,030 INFO L256 TraceCheckUtils]: 22: Hoare triple {389#(not (= main_~DEFAULTVAL~0 |main_#t~mem9|))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1bv32 else 0bv32)); {385#(not (= |__VERIFIER_assert_#in~cond| (_ bv0 32)))} is VALID [2018-11-23 10:29:07,039 INFO L273 TraceCheckUtils]: 21: Hoare triple {393#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0)))))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem9 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {389#(not (= main_~DEFAULTVAL~0 |main_#t~mem9|))} is VALID [2018-11-23 10:29:07,040 INFO L273 TraceCheckUtils]: 20: Hoare triple {397#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)))} ~i~0 := 0bv32; {393#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0)))))} is VALID [2018-11-23 10:29:07,048 INFO L273 TraceCheckUtils]: 19: Hoare triple {397#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)))} assume !~bvsle32(~i~0, ~bvsdiv32(~SIZE~0, 5bv32)); {397#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)))} is VALID [2018-11-23 10:29:07,049 INFO L273 TraceCheckUtils]: 18: Hoare triple {397#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {397#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)))} is VALID [2018-11-23 10:29:07,060 INFO L273 TraceCheckUtils]: 17: Hoare triple {407#(forall ((main_~value~0 (_ BitVec 32))) (not (= main_~DEFAULTVAL~0 (select (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) main_~value~0) |main_~#a~0.offset|))))} assume ~value~0 != ~DEFAULTVAL~0;call write~intINTTYPE4(~value~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 1bv32))), 4bv32); {397#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)))} is VALID [2018-11-23 10:29:07,060 INFO L273 TraceCheckUtils]: 16: Hoare triple {407#(forall ((main_~value~0 (_ BitVec 32))) (not (= main_~DEFAULTVAL~0 (select (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) main_~value~0) |main_~#a~0.offset|))))} call #t~ret7 := ReadFromPort();~value~0 := #t~ret7;havoc #t~ret7; {407#(forall ((main_~value~0 (_ BitVec 32))) (not (= main_~DEFAULTVAL~0 (select (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) main_~value~0) |main_~#a~0.offset|))))} is VALID [2018-11-23 10:29:07,068 INFO L273 TraceCheckUtils]: 15: Hoare triple {414#(forall ((main_~value~0 (_ BitVec 32)) (v_subst_1 (_ BitVec 32))) (not (= main_~DEFAULTVAL~0 (select (store (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32)) main_~value~0) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) v_subst_1) |main_~#a~0.offset|))))} assume ~value~0 != ~DEFAULTVAL~0;call write~intINTTYPE4(~value~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 2bv32))), 4bv32); {407#(forall ((main_~value~0 (_ BitVec 32))) (not (= main_~DEFAULTVAL~0 (select (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) main_~value~0) |main_~#a~0.offset|))))} is VALID [2018-11-23 10:29:07,069 INFO L273 TraceCheckUtils]: 14: Hoare triple {414#(forall ((main_~value~0 (_ BitVec 32)) (v_subst_1 (_ BitVec 32))) (not (= main_~DEFAULTVAL~0 (select (store (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32)) main_~value~0) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) v_subst_1) |main_~#a~0.offset|))))} call #t~ret6 := ReadFromPort();~value~0 := #t~ret6;havoc #t~ret6; {414#(forall ((main_~value~0 (_ BitVec 32)) (v_subst_1 (_ BitVec 32))) (not (= main_~DEFAULTVAL~0 (select (store (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32)) main_~value~0) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) v_subst_1) |main_~#a~0.offset|))))} is VALID [2018-11-23 10:29:07,077 INFO L273 TraceCheckUtils]: 13: Hoare triple {421#(forall ((main_~value~0 (_ BitVec 32)) (v_subst_1 (_ BitVec 32)) (v_subst_2 (_ BitVec 32))) (not (= main_~DEFAULTVAL~0 (select (store (store (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32)) main_~value~0) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32)) v_subst_2) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) v_subst_1) |main_~#a~0.offset|))))} assume ~value~0 != ~DEFAULTVAL~0;call write~intINTTYPE4(~value~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 3bv32))), 4bv32); {414#(forall ((main_~value~0 (_ BitVec 32)) (v_subst_1 (_ BitVec 32))) (not (= main_~DEFAULTVAL~0 (select (store (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32)) main_~value~0) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) v_subst_1) |main_~#a~0.offset|))))} is VALID [2018-11-23 10:29:07,077 INFO L273 TraceCheckUtils]: 12: Hoare triple {421#(forall ((main_~value~0 (_ BitVec 32)) (v_subst_1 (_ BitVec 32)) (v_subst_2 (_ BitVec 32))) (not (= main_~DEFAULTVAL~0 (select (store (store (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32)) main_~value~0) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32)) v_subst_2) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) v_subst_1) |main_~#a~0.offset|))))} call #t~ret5 := ReadFromPort();~value~0 := #t~ret5;havoc #t~ret5; {421#(forall ((main_~value~0 (_ BitVec 32)) (v_subst_1 (_ BitVec 32)) (v_subst_2 (_ BitVec 32))) (not (= main_~DEFAULTVAL~0 (select (store (store (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32)) main_~value~0) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32)) v_subst_2) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) v_subst_1) |main_~#a~0.offset|))))} is VALID [2018-11-23 10:29:07,092 INFO L273 TraceCheckUtils]: 11: Hoare triple {428#(forall ((main_~value~0 (_ BitVec 32)) (main_~FIXEDVAL~0 (_ BitVec 32)) (v_subst_1 (_ BitVec 32)) (v_subst_2 (_ BitVec 32))) (not (= (select (store (store (store (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967280 32)) main_~FIXEDVAL~0) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32)) main_~value~0) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32)) v_subst_2) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) v_subst_1) |main_~#a~0.offset|) main_~DEFAULTVAL~0)))} assume !(~value~0 != ~DEFAULTVAL~0);call write~intINTTYPE4(~FIXEDVAL~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 4bv32))), 4bv32); {421#(forall ((main_~value~0 (_ BitVec 32)) (v_subst_1 (_ BitVec 32)) (v_subst_2 (_ BitVec 32))) (not (= main_~DEFAULTVAL~0 (select (store (store (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32)) main_~value~0) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32)) v_subst_2) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) v_subst_1) |main_~#a~0.offset|))))} is VALID [2018-11-23 10:29:07,093 INFO L273 TraceCheckUtils]: 10: Hoare triple {428#(forall ((main_~value~0 (_ BitVec 32)) (main_~FIXEDVAL~0 (_ BitVec 32)) (v_subst_1 (_ BitVec 32)) (v_subst_2 (_ BitVec 32))) (not (= (select (store (store (store (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967280 32)) main_~FIXEDVAL~0) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32)) main_~value~0) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32)) v_subst_2) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) v_subst_1) |main_~#a~0.offset|) main_~DEFAULTVAL~0)))} call #t~ret4 := ReadFromPort();~value~0 := #t~ret4;havoc #t~ret4; {428#(forall ((main_~value~0 (_ BitVec 32)) (main_~FIXEDVAL~0 (_ BitVec 32)) (v_subst_1 (_ BitVec 32)) (v_subst_2 (_ BitVec 32))) (not (= (select (store (store (store (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967280 32)) main_~FIXEDVAL~0) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32)) main_~value~0) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32)) v_subst_2) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) v_subst_1) |main_~#a~0.offset|) main_~DEFAULTVAL~0)))} is VALID [2018-11-23 10:29:07,095 INFO L273 TraceCheckUtils]: 9: Hoare triple {435#(= (_ bv20 32) (bvmul (_ bv20 32) main_~i~0))} assume ~value~0 != ~DEFAULTVAL~0;call write~intINTTYPE4(~value~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 5bv32))), 4bv32); {428#(forall ((main_~value~0 (_ BitVec 32)) (main_~FIXEDVAL~0 (_ BitVec 32)) (v_subst_1 (_ BitVec 32)) (v_subst_2 (_ BitVec 32))) (not (= (select (store (store (store (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967280 32)) main_~FIXEDVAL~0) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32)) main_~value~0) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32)) v_subst_2) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) v_subst_1) |main_~#a~0.offset|) main_~DEFAULTVAL~0)))} is VALID [2018-11-23 10:29:07,096 INFO L273 TraceCheckUtils]: 8: Hoare triple {435#(= (_ bv20 32) (bvmul (_ bv20 32) main_~i~0))} assume !!~bvsle32(~i~0, ~bvsdiv32(~SIZE~0, 5bv32));call #t~ret3 := ReadFromPort();~value~0 := #t~ret3;havoc #t~ret3; {435#(= (_ bv20 32) (bvmul (_ bv20 32) main_~i~0))} is VALID [2018-11-23 10:29:07,096 INFO L273 TraceCheckUtils]: 7: Hoare triple {290#true} assume !(0bv32 != ~bvsrem32(~SIZE~0, 5bv32));assume 0bv32 != (if 0bv32 == ~bvsrem32(~SIZE~0, 5bv32) then 1bv32 else 0bv32);~i~0 := 1bv32; {435#(= (_ bv20 32) (bvmul (_ bv20 32) main_~i~0))} is VALID [2018-11-23 10:29:07,096 INFO L273 TraceCheckUtils]: 6: Hoare triple {290#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;havoc ~value~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~DEFAULTVAL~0 := 0bv32;~FIXEDVAL~0 := 10bv32; {290#true} is VALID [2018-11-23 10:29:07,097 INFO L273 TraceCheckUtils]: 5: Hoare triple {290#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {290#true} is VALID [2018-11-23 10:29:07,097 INFO L256 TraceCheckUtils]: 4: Hoare triple {290#true} call #t~ret10 := main(); {290#true} is VALID [2018-11-23 10:29:07,098 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {290#true} {290#true} #93#return; {290#true} is VALID [2018-11-23 10:29:07,098 INFO L273 TraceCheckUtils]: 2: Hoare triple {290#true} assume true; {290#true} is VALID [2018-11-23 10:29:07,099 INFO L273 TraceCheckUtils]: 1: Hoare triple {290#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {290#true} is VALID [2018-11-23 10:29:07,099 INFO L256 TraceCheckUtils]: 0: Hoare triple {290#true} call ULTIMATE.init(); {290#true} is VALID [2018-11-23 10:29:07,103 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 10:29:07,110 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:29:07,110 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 12] total 20 [2018-11-23 10:29:07,112 INFO L78 Accepts]: Start accepts. Automaton has 20 states. Word has length 26 [2018-11-23 10:29:07,112 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:29:07,113 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states. [2018-11-23 10:29:07,323 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:29:07,324 INFO L459 AbstractCegarLoop]: Interpolant automaton has 20 states [2018-11-23 10:29:07,324 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2018-11-23 10:29:07,324 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=309, Unknown=0, NotChecked=0, Total=380 [2018-11-23 10:29:07,325 INFO L87 Difference]: Start difference. First operand 31 states and 37 transitions. Second operand 20 states. [2018-11-23 10:29:13,370 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:29:13,371 INFO L93 Difference]: Finished difference Result 110 states and 146 transitions. [2018-11-23 10:29:13,371 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2018-11-23 10:29:13,371 INFO L78 Accepts]: Start accepts. Automaton has 20 states. Word has length 26 [2018-11-23 10:29:13,371 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:29:13,371 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2018-11-23 10:29:13,377 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 146 transitions. [2018-11-23 10:29:13,377 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2018-11-23 10:29:13,383 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 146 transitions. [2018-11-23 10:29:13,383 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 146 transitions. [2018-11-23 10:29:13,890 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 146 edges. 146 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:29:13,896 INFO L225 Difference]: With dead ends: 110 [2018-11-23 10:29:13,896 INFO L226 Difference]: Without dead ends: 108 [2018-11-23 10:29:13,897 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 56 GetRequests, 33 SyntacticMatches, 0 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 127 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=123, Invalid=477, Unknown=0, NotChecked=0, Total=600 [2018-11-23 10:29:13,898 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 108 states. [2018-11-23 10:29:13,994 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 108 to 69. [2018-11-23 10:29:13,995 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:29:13,995 INFO L82 GeneralOperation]: Start isEquivalent. First operand 108 states. Second operand 69 states. [2018-11-23 10:29:13,995 INFO L74 IsIncluded]: Start isIncluded. First operand 108 states. Second operand 69 states. [2018-11-23 10:29:13,995 INFO L87 Difference]: Start difference. First operand 108 states. Second operand 69 states. [2018-11-23 10:29:14,004 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:29:14,004 INFO L93 Difference]: Finished difference Result 108 states and 144 transitions. [2018-11-23 10:29:14,004 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 144 transitions. [2018-11-23 10:29:14,005 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:29:14,006 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:29:14,006 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand 108 states. [2018-11-23 10:29:14,006 INFO L87 Difference]: Start difference. First operand 69 states. Second operand 108 states. [2018-11-23 10:29:14,013 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:29:14,013 INFO L93 Difference]: Finished difference Result 108 states and 144 transitions. [2018-11-23 10:29:14,014 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 144 transitions. [2018-11-23 10:29:14,015 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:29:14,015 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:29:14,015 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:29:14,015 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:29:14,016 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 69 states. [2018-11-23 10:29:14,019 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 69 states to 69 states and 92 transitions. [2018-11-23 10:29:14,019 INFO L78 Accepts]: Start accepts. Automaton has 69 states and 92 transitions. Word has length 26 [2018-11-23 10:29:14,020 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:29:14,020 INFO L480 AbstractCegarLoop]: Abstraction has 69 states and 92 transitions. [2018-11-23 10:29:14,020 INFO L481 AbstractCegarLoop]: Interpolant automaton has 20 states. [2018-11-23 10:29:14,020 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 92 transitions. [2018-11-23 10:29:14,021 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2018-11-23 10:29:14,021 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:29:14,021 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, 1, 1, 1, 1, 1] [2018-11-23 10:29:14,022 INFO L423 AbstractCegarLoop]: === Iteration 3 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:29:14,022 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:29:14,022 INFO L82 PathProgramCache]: Analyzing trace with hash -1358312267, now seen corresponding path program 1 times [2018-11-23 10:29:14,022 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:29:14,023 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 10:29:14,054 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 10:29:14,206 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:29:14,249 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:29:14,251 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:29:14,435 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 16 treesize of output 13 [2018-11-23 10:29:14,440 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 13 treesize of output 12 [2018-11-23 10:29:14,442 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:29:14,445 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:29:14,462 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:29:14,463 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:33, output treesize:29 [2018-11-23 10:29:14,530 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 29 treesize of output 24 [2018-11-23 10:29:14,539 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:29:14,541 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 24 treesize of output 39 [2018-11-23 10:29:14,543 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:29:14,552 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:29:14,570 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:29:14,571 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:40, output treesize:36 [2018-11-23 10:29:14,653 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 43 treesize of output 36 [2018-11-23 10:29:14,664 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:29:14,666 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:29:14,668 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:29:14,675 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 81 [2018-11-23 10:29:14,678 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:29:14,696 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:29:14,725 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 10:29:14,725 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:54, output treesize:38 [2018-11-23 10:29:14,740 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:29:14,740 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_36|, main_~value~0]. (let ((.cse0 (select |v_#memory_int_36| |main_~#a~0.base|)) (.cse1 (bvmul (_ bv20 32) main_~i~0))) (and (= (select .cse0 (bvadd |main_~#a~0.offset| .cse1 (_ bv4294967276 32))) (_ bv10 32)) (= (bvadd (select .cse0 (bvadd |main_~#a~0.offset| .cse1 (_ bv4294967280 32))) (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= (store |v_#memory_int_36| |main_~#a~0.base| (store .cse0 (bvadd |main_~#a~0.offset| .cse1 (_ bv4294967284 32)) main_~value~0)) |#memory_int|) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))) [2018-11-23 10:29:14,740 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|)) (.cse1 (bvmul (_ bv20 32) main_~i~0))) (and (= (_ bv0 32) (bvadd (select .cse0 (bvadd |main_~#a~0.offset| .cse1 (_ bv4294967280 32))) (_ bv4294967286 32))) (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv10 32) (select .cse0 (bvadd |main_~#a~0.offset| .cse1 (_ bv4294967276 32)))) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))) [2018-11-23 10:29:14,816 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 43 treesize of output 36 [2018-11-23 10:29:14,827 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:29:14,829 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:29:14,831 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:29:14,839 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 81 [2018-11-23 10:29:14,844 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:29:14,861 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:29:14,889 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 10:29:14,890 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:54, output treesize:38 [2018-11-23 10:29:14,903 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:29:14,904 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_37|, main_~value~0]. (let ((.cse0 (select |v_#memory_int_37| |main_~#a~0.base|)) (.cse1 (bvmul (_ bv20 32) main_~i~0))) (and (= (bvadd (select .cse0 (bvadd |main_~#a~0.offset| .cse1 (_ bv4294967280 32))) (_ bv4294967286 32)) (_ bv0 32)) (= (select .cse0 (bvadd |main_~#a~0.offset| .cse1 (_ bv4294967276 32))) (_ bv10 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= (store |v_#memory_int_37| |main_~#a~0.base| (store .cse0 (bvadd |main_~#a~0.offset| .cse1 (_ bv4294967288 32)) main_~value~0)) |#memory_int|) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))) [2018-11-23 10:29:14,904 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|)) (.cse1 (bvmul (_ bv20 32) main_~i~0))) (and (= (_ bv0 32) (bvadd (select .cse0 (bvadd |main_~#a~0.offset| .cse1 (_ bv4294967280 32))) (_ bv4294967286 32))) (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv10 32) (select .cse0 (bvadd |main_~#a~0.offset| .cse1 (_ bv4294967276 32)))) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))) [2018-11-23 10:29:14,953 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 32 treesize of output 25 [2018-11-23 10:29:14,962 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:29:14,964 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:29:14,965 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:29:14,971 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 48 [2018-11-23 10:29:14,974 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:29:14,988 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:29:15,007 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 10:29:15,008 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:38, output treesize:25 [2018-11-23 10:29:15,018 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:29:15,018 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_38|, main_~value~0]. (let ((.cse0 (select |v_#memory_int_38| |main_~#a~0.base|))) (and (= (bvadd (select .cse0 (bvadd |main_~#a~0.offset| (_ bv4 32))) (_ bv4294967286 32)) (_ bv0 32)) (= (store |v_#memory_int_38| |main_~#a~0.base| (store .cse0 (bvadd |main_~#a~0.offset| (_ bv16 32)) main_~value~0)) |#memory_int|) (= |main_~#a~0.offset| (_ bv0 32)) (= (select .cse0 |main_~#a~0.offset|) (_ bv10 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))) [2018-11-23 10:29:15,019 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|))) (and (= (_ bv0 32) (bvadd (select .cse0 (bvadd |main_~#a~0.offset| (_ bv4 32))) (_ bv4294967286 32))) (= (select .cse0 |main_~#a~0.offset|) (_ bv10 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))) [2018-11-23 10:29:15,100 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 22 treesize of output 16 [2018-11-23 10:29:15,105 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 3 [2018-11-23 10:29:15,107 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:29:15,110 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:29:15,115 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 10:29:15,116 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:25, output treesize:7 [2018-11-23 10:29:15,121 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:29:15,121 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|]. (let ((.cse1 (select |#memory_int| |main_~#a~0.base|))) (let ((.cse0 (select .cse1 (_ bv0 32)))) (and (= .cse0 |main_#t~mem9|) (= (_ bv10 32) .cse0) (= (_ bv10 32) (select .cse1 (_ bv4 32))) (= main_~DEFAULTVAL~0 (_ bv0 32))))) [2018-11-23 10:29:15,121 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (_ bv10 32) |main_#t~mem9|) (= main_~DEFAULTVAL~0 (_ bv0 32))) [2018-11-23 10:29:15,210 INFO L256 TraceCheckUtils]: 0: Hoare triple {904#true} call ULTIMATE.init(); {904#true} is VALID [2018-11-23 10:29:15,211 INFO L273 TraceCheckUtils]: 1: Hoare triple {904#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {904#true} is VALID [2018-11-23 10:29:15,211 INFO L273 TraceCheckUtils]: 2: Hoare triple {904#true} assume true; {904#true} is VALID [2018-11-23 10:29:15,211 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {904#true} {904#true} #93#return; {904#true} is VALID [2018-11-23 10:29:15,211 INFO L256 TraceCheckUtils]: 4: Hoare triple {904#true} call #t~ret10 := main(); {904#true} is VALID [2018-11-23 10:29:15,211 INFO L273 TraceCheckUtils]: 5: Hoare triple {904#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {904#true} is VALID [2018-11-23 10:29:15,212 INFO L273 TraceCheckUtils]: 6: Hoare triple {904#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;havoc ~value~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~DEFAULTVAL~0 := 0bv32;~FIXEDVAL~0 := 10bv32; {927#(and (= (bvadd main_~FIXEDVAL~0 (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} is VALID [2018-11-23 10:29:15,213 INFO L273 TraceCheckUtils]: 7: Hoare triple {927#(and (= (bvadd main_~FIXEDVAL~0 (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} assume !(0bv32 != ~bvsrem32(~SIZE~0, 5bv32));assume 0bv32 != (if 0bv32 == ~bvsrem32(~SIZE~0, 5bv32) then 1bv32 else 0bv32);~i~0 := 1bv32; {931#(and (= (bvadd main_~FIXEDVAL~0 (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:29:15,213 INFO L273 TraceCheckUtils]: 8: Hoare triple {931#(and (= (bvadd main_~FIXEDVAL~0 (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume !!~bvsle32(~i~0, ~bvsdiv32(~SIZE~0, 5bv32));call #t~ret3 := ReadFromPort();~value~0 := #t~ret3;havoc #t~ret3; {931#(and (= (bvadd main_~FIXEDVAL~0 (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:29:15,215 INFO L273 TraceCheckUtils]: 9: Hoare triple {931#(and (= (bvadd main_~FIXEDVAL~0 (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume !(~value~0 != ~DEFAULTVAL~0);call write~intINTTYPE4(~FIXEDVAL~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 5bv32))), 4bv32); {938#(and (= main_~FIXEDVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32)))) (= (bvadd main_~FIXEDVAL~0 (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:29:15,215 INFO L273 TraceCheckUtils]: 10: Hoare triple {938#(and (= main_~FIXEDVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32)))) (= (bvadd main_~FIXEDVAL~0 (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} call #t~ret4 := ReadFromPort();~value~0 := #t~ret4;havoc #t~ret4; {938#(and (= main_~FIXEDVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32)))) (= (bvadd main_~FIXEDVAL~0 (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:29:15,220 INFO L273 TraceCheckUtils]: 11: Hoare triple {938#(and (= main_~FIXEDVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32)))) (= (bvadd main_~FIXEDVAL~0 (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume !(~value~0 != ~DEFAULTVAL~0);call write~intINTTYPE4(~FIXEDVAL~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 4bv32))), 4bv32); {945#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967280 32))) (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv10 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32)))) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:29:15,221 INFO L273 TraceCheckUtils]: 12: Hoare triple {945#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967280 32))) (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv10 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32)))) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} call #t~ret5 := ReadFromPort();~value~0 := #t~ret5;havoc #t~ret5; {945#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967280 32))) (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv10 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32)))) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:29:15,226 INFO L273 TraceCheckUtils]: 13: Hoare triple {945#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967280 32))) (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv10 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32)))) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume ~value~0 != ~DEFAULTVAL~0;call write~intINTTYPE4(~value~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 3bv32))), 4bv32); {945#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967280 32))) (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv10 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32)))) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:29:15,226 INFO L273 TraceCheckUtils]: 14: Hoare triple {945#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967280 32))) (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv10 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32)))) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} call #t~ret6 := ReadFromPort();~value~0 := #t~ret6;havoc #t~ret6; {945#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967280 32))) (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv10 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32)))) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:29:15,230 INFO L273 TraceCheckUtils]: 15: Hoare triple {945#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967280 32))) (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv10 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32)))) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume ~value~0 != ~DEFAULTVAL~0;call write~intINTTYPE4(~value~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 2bv32))), 4bv32); {945#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967280 32))) (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv10 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32)))) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:29:15,231 INFO L273 TraceCheckUtils]: 16: Hoare triple {945#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967280 32))) (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv10 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32)))) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} call #t~ret7 := ReadFromPort();~value~0 := #t~ret7;havoc #t~ret7; {945#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967280 32))) (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv10 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32)))) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:29:15,232 INFO L273 TraceCheckUtils]: 17: Hoare triple {945#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967280 32))) (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv10 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32)))) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume ~value~0 != ~DEFAULTVAL~0;call write~intINTTYPE4(~value~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 1bv32))), 4bv32); {964#(and (= (_ bv10 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32)))) (= |main_~#a~0.offset| (_ bv0 32)) (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (_ bv4294967286 32)) (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} is VALID [2018-11-23 10:29:15,233 INFO L273 TraceCheckUtils]: 18: Hoare triple {964#(and (= (_ bv10 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32)))) (= |main_~#a~0.offset| (_ bv0 32)) (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (_ bv4294967286 32)) (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {964#(and (= (_ bv10 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32)))) (= |main_~#a~0.offset| (_ bv0 32)) (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (_ bv4294967286 32)) (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} is VALID [2018-11-23 10:29:15,234 INFO L273 TraceCheckUtils]: 19: Hoare triple {964#(and (= (_ bv10 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32)))) (= |main_~#a~0.offset| (_ bv0 32)) (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (_ bv4294967286 32)) (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} assume !~bvsle32(~i~0, ~bvsdiv32(~SIZE~0, 5bv32)); {964#(and (= (_ bv10 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32)))) (= |main_~#a~0.offset| (_ bv0 32)) (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (_ bv4294967286 32)) (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} is VALID [2018-11-23 10:29:15,235 INFO L273 TraceCheckUtils]: 20: Hoare triple {964#(and (= (_ bv10 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32)))) (= |main_~#a~0.offset| (_ bv0 32)) (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (_ bv4294967286 32)) (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} ~i~0 := 0bv32; {974#(and (= (_ bv10 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32)))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)) (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (_ bv4294967286 32)) (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} is VALID [2018-11-23 10:29:15,236 INFO L273 TraceCheckUtils]: 21: Hoare triple {974#(and (= (_ bv10 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32)))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)) (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (_ bv4294967286 32)) (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem9 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {978#(and (= (_ bv10 32) |main_#t~mem9|) (= main_~DEFAULTVAL~0 (_ bv0 32)))} is VALID [2018-11-23 10:29:15,237 INFO L256 TraceCheckUtils]: 22: Hoare triple {978#(and (= (_ bv10 32) |main_#t~mem9|) (= main_~DEFAULTVAL~0 (_ bv0 32)))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1bv32 else 0bv32)); {982#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:29:15,238 INFO L273 TraceCheckUtils]: 23: Hoare triple {982#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} ~cond := #in~cond; {986#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:29:15,239 INFO L273 TraceCheckUtils]: 24: Hoare triple {986#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} assume 0bv32 == ~cond; {905#false} is VALID [2018-11-23 10:29:15,239 INFO L273 TraceCheckUtils]: 25: Hoare triple {905#false} assume !false; {905#false} is VALID [2018-11-23 10:29:15,243 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 10:29:15,244 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:29:15,762 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 48 treesize of output 46 [2018-11-23 10:29:15,788 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 46 treesize of output 50 [2018-11-23 10:29:15,815 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:15,816 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 50 treesize of output 66 [2018-11-23 10:29:15,831 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:15,831 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:15,831 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:15,839 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 53 treesize of output 95 [2018-11-23 10:29:15,857 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:15,858 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:15,858 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:15,859 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:15,859 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:15,860 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:15,881 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 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 56 treesize of output 137 [2018-11-23 10:29:16,193 WARN L180 SmtUtils]: Spent 186.00 ms on a formula simplification that was a NOOP. DAG size: 43 [2018-11-23 10:29:16,266 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:16,270 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:16,270 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:16,271 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:16,271 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:16,271 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:16,289 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 57 treesize of output 91 [2018-11-23 10:29:16,292 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-11-23 10:29:16,382 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:16,391 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:16,412 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:16,414 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:16,418 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:16,423 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:16,460 INFO L303 Elim1Store]: Index analysis took 104 ms [2018-11-23 10:29:16,495 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 6 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 4 case distinctions, treesize of input 58 treesize of output 138 [2018-11-23 10:29:16,507 INFO L267 ElimStorePlain]: Start of recursive call 8: End of recursive call: and 8 xjuncts. [2018-11-23 10:29:16,737 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 5 xjuncts. [2018-11-23 10:29:16,859 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 5 xjuncts. [2018-11-23 10:29:17,016 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 5 xjuncts. [2018-11-23 10:29:17,105 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 5 xjuncts. [2018-11-23 10:29:17,189 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 5 xjuncts. [2018-11-23 10:29:17,276 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-2 vars, End of recursive call: and 5 xjuncts. [2018-11-23 10:29:17,276 INFO L202 ElimStorePlain]: Needed 8 recursive calls to eliminate 5 variables, input treesize:48, output treesize:141 [2018-11-23 10:29:17,286 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:29:17,286 WARN L384 uantifierElimination]: Input elimination task: ∀ [|#memory_int|, |main_~#a~0.base|, main_~value~0, v_subst_5, v_subst_4]. (not (= main_~DEFAULTVAL~0 (select (let ((.cse0 (bvmul (_ bv20 32) main_~i~0))) (store (store (store (store (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| .cse0 (_ bv4294967276 32)) main_~FIXEDVAL~0) (bvadd |main_~#a~0.offset| .cse0 (_ bv4294967280 32)) main_~FIXEDVAL~0) (bvadd |main_~#a~0.offset| .cse0 (_ bv4294967284 32)) main_~value~0) (bvadd |main_~#a~0.offset| .cse0 (_ bv4294967288 32)) v_subst_5) (bvadd |main_~#a~0.offset| .cse0 (_ bv4294967292 32)) v_subst_4)) |main_~#a~0.offset|))) [2018-11-23 10:29:17,286 WARN L385 uantifierElimination]: ElimStorePlain result: ∀ []. (let ((.cse5 (bvmul (_ bv20 32) main_~i~0))) (let ((.cse1 (= |main_~#a~0.offset| (bvadd |main_~#a~0.offset| .cse5 (_ bv4294967288 32)))) (.cse0 (= |main_~#a~0.offset| (bvadd |main_~#a~0.offset| .cse5 (_ bv4294967280 32)))) (.cse4 (= |main_~#a~0.offset| (bvadd |main_~#a~0.offset| .cse5 (_ bv4294967284 32)))) (.cse2 (= (bvadd .cse5 (_ bv4294967292 32)) (_ bv0 32))) (.cse3 (= |main_~#a~0.offset| (bvadd |main_~#a~0.offset| .cse5 (_ bv4294967276 32))))) (and (or .cse0 .cse1 .cse2 .cse3) (not .cse2) (or .cse0 .cse1 .cse4 .cse2 .cse3) (or .cse1 .cse4 .cse2 (not (= main_~DEFAULTVAL~0 main_~FIXEDVAL~0))) (or .cse0 .cse4 .cse2 .cse3)))) [2018-11-23 10:29:17,441 INFO L273 TraceCheckUtils]: 25: Hoare triple {905#false} assume !false; {905#false} is VALID [2018-11-23 10:29:17,442 INFO L273 TraceCheckUtils]: 24: Hoare triple {996#(not (= (_ bv0 32) __VERIFIER_assert_~cond))} assume 0bv32 == ~cond; {905#false} is VALID [2018-11-23 10:29:17,443 INFO L273 TraceCheckUtils]: 23: Hoare triple {1000#(not (= |__VERIFIER_assert_#in~cond| (_ bv0 32)))} ~cond := #in~cond; {996#(not (= (_ bv0 32) __VERIFIER_assert_~cond))} is VALID [2018-11-23 10:29:17,451 INFO L256 TraceCheckUtils]: 22: Hoare triple {1004#(not (= main_~DEFAULTVAL~0 |main_#t~mem9|))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1bv32 else 0bv32)); {1000#(not (= |__VERIFIER_assert_#in~cond| (_ bv0 32)))} is VALID [2018-11-23 10:29:17,452 INFO L273 TraceCheckUtils]: 21: Hoare triple {1008#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0)))))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem9 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1004#(not (= main_~DEFAULTVAL~0 |main_#t~mem9|))} is VALID [2018-11-23 10:29:17,453 INFO L273 TraceCheckUtils]: 20: Hoare triple {1012#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)))} ~i~0 := 0bv32; {1008#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0)))))} is VALID [2018-11-23 10:29:17,453 INFO L273 TraceCheckUtils]: 19: Hoare triple {1012#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)))} assume !~bvsle32(~i~0, ~bvsdiv32(~SIZE~0, 5bv32)); {1012#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)))} is VALID [2018-11-23 10:29:17,454 INFO L273 TraceCheckUtils]: 18: Hoare triple {1012#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {1012#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)))} is VALID [2018-11-23 10:29:17,465 INFO L273 TraceCheckUtils]: 17: Hoare triple {1022#(forall ((main_~value~0 (_ BitVec 32))) (not (= main_~DEFAULTVAL~0 (select (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) main_~value~0) |main_~#a~0.offset|))))} assume ~value~0 != ~DEFAULTVAL~0;call write~intINTTYPE4(~value~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 1bv32))), 4bv32); {1012#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)))} is VALID [2018-11-23 10:29:17,466 INFO L273 TraceCheckUtils]: 16: Hoare triple {1022#(forall ((main_~value~0 (_ BitVec 32))) (not (= main_~DEFAULTVAL~0 (select (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) main_~value~0) |main_~#a~0.offset|))))} call #t~ret7 := ReadFromPort();~value~0 := #t~ret7;havoc #t~ret7; {1022#(forall ((main_~value~0 (_ BitVec 32))) (not (= main_~DEFAULTVAL~0 (select (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) main_~value~0) |main_~#a~0.offset|))))} is VALID [2018-11-23 10:29:17,471 INFO L273 TraceCheckUtils]: 15: Hoare triple {1029#(forall ((main_~value~0 (_ BitVec 32)) (v_subst_4 (_ BitVec 32))) (not (= main_~DEFAULTVAL~0 (select (store (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32)) main_~value~0) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) v_subst_4) |main_~#a~0.offset|))))} assume ~value~0 != ~DEFAULTVAL~0;call write~intINTTYPE4(~value~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 2bv32))), 4bv32); {1022#(forall ((main_~value~0 (_ BitVec 32))) (not (= main_~DEFAULTVAL~0 (select (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) main_~value~0) |main_~#a~0.offset|))))} is VALID [2018-11-23 10:29:17,472 INFO L273 TraceCheckUtils]: 14: Hoare triple {1029#(forall ((main_~value~0 (_ BitVec 32)) (v_subst_4 (_ BitVec 32))) (not (= main_~DEFAULTVAL~0 (select (store (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32)) main_~value~0) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) v_subst_4) |main_~#a~0.offset|))))} call #t~ret6 := ReadFromPort();~value~0 := #t~ret6;havoc #t~ret6; {1029#(forall ((main_~value~0 (_ BitVec 32)) (v_subst_4 (_ BitVec 32))) (not (= main_~DEFAULTVAL~0 (select (store (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32)) main_~value~0) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) v_subst_4) |main_~#a~0.offset|))))} is VALID [2018-11-23 10:29:17,476 INFO L273 TraceCheckUtils]: 13: Hoare triple {1036#(forall ((main_~value~0 (_ BitVec 32)) (v_subst_5 (_ BitVec 32)) (v_subst_4 (_ BitVec 32))) (not (= main_~DEFAULTVAL~0 (select (store (store (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32)) main_~value~0) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32)) v_subst_5) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) v_subst_4) |main_~#a~0.offset|))))} assume ~value~0 != ~DEFAULTVAL~0;call write~intINTTYPE4(~value~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 3bv32))), 4bv32); {1029#(forall ((main_~value~0 (_ BitVec 32)) (v_subst_4 (_ BitVec 32))) (not (= main_~DEFAULTVAL~0 (select (store (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32)) main_~value~0) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) v_subst_4) |main_~#a~0.offset|))))} is VALID [2018-11-23 10:29:17,480 INFO L273 TraceCheckUtils]: 12: Hoare triple {1036#(forall ((main_~value~0 (_ BitVec 32)) (v_subst_5 (_ BitVec 32)) (v_subst_4 (_ BitVec 32))) (not (= main_~DEFAULTVAL~0 (select (store (store (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32)) main_~value~0) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32)) v_subst_5) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) v_subst_4) |main_~#a~0.offset|))))} call #t~ret5 := ReadFromPort();~value~0 := #t~ret5;havoc #t~ret5; {1036#(forall ((main_~value~0 (_ BitVec 32)) (v_subst_5 (_ BitVec 32)) (v_subst_4 (_ BitVec 32))) (not (= main_~DEFAULTVAL~0 (select (store (store (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32)) main_~value~0) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32)) v_subst_5) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) v_subst_4) |main_~#a~0.offset|))))} is VALID [2018-11-23 10:29:17,507 INFO L273 TraceCheckUtils]: 11: Hoare triple {1043#(forall ((main_~value~0 (_ BitVec 32)) (v_subst_5 (_ BitVec 32)) (v_subst_4 (_ BitVec 32))) (not (= main_~DEFAULTVAL~0 (select (store (store (store (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967280 32)) main_~FIXEDVAL~0) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32)) main_~value~0) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32)) v_subst_5) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) v_subst_4) |main_~#a~0.offset|))))} assume !(~value~0 != ~DEFAULTVAL~0);call write~intINTTYPE4(~FIXEDVAL~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 4bv32))), 4bv32); {1036#(forall ((main_~value~0 (_ BitVec 32)) (v_subst_5 (_ BitVec 32)) (v_subst_4 (_ BitVec 32))) (not (= main_~DEFAULTVAL~0 (select (store (store (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32)) main_~value~0) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32)) v_subst_5) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) v_subst_4) |main_~#a~0.offset|))))} is VALID [2018-11-23 10:29:17,507 INFO L273 TraceCheckUtils]: 10: Hoare triple {1043#(forall ((main_~value~0 (_ BitVec 32)) (v_subst_5 (_ BitVec 32)) (v_subst_4 (_ BitVec 32))) (not (= main_~DEFAULTVAL~0 (select (store (store (store (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967280 32)) main_~FIXEDVAL~0) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32)) main_~value~0) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32)) v_subst_5) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) v_subst_4) |main_~#a~0.offset|))))} call #t~ret4 := ReadFromPort();~value~0 := #t~ret4;havoc #t~ret4; {1043#(forall ((main_~value~0 (_ BitVec 32)) (v_subst_5 (_ BitVec 32)) (v_subst_4 (_ BitVec 32))) (not (= main_~DEFAULTVAL~0 (select (store (store (store (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967280 32)) main_~FIXEDVAL~0) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32)) main_~value~0) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32)) v_subst_5) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) v_subst_4) |main_~#a~0.offset|))))} is VALID [2018-11-23 10:29:17,521 INFO L273 TraceCheckUtils]: 9: Hoare triple {1050#(and (or (= (_ bv20 32) (bvmul (_ bv20 32) main_~i~0)) (= (_ bv16 32) (bvmul (_ bv20 32) main_~i~0))) (not (= main_~DEFAULTVAL~0 main_~FIXEDVAL~0)))} assume !(~value~0 != ~DEFAULTVAL~0);call write~intINTTYPE4(~FIXEDVAL~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 5bv32))), 4bv32); {1043#(forall ((main_~value~0 (_ BitVec 32)) (v_subst_5 (_ BitVec 32)) (v_subst_4 (_ BitVec 32))) (not (= main_~DEFAULTVAL~0 (select (store (store (store (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967280 32)) main_~FIXEDVAL~0) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32)) main_~value~0) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32)) v_subst_5) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) v_subst_4) |main_~#a~0.offset|))))} is VALID [2018-11-23 10:29:17,522 INFO L273 TraceCheckUtils]: 8: Hoare triple {1050#(and (or (= (_ bv20 32) (bvmul (_ bv20 32) main_~i~0)) (= (_ bv16 32) (bvmul (_ bv20 32) main_~i~0))) (not (= main_~DEFAULTVAL~0 main_~FIXEDVAL~0)))} assume !!~bvsle32(~i~0, ~bvsdiv32(~SIZE~0, 5bv32));call #t~ret3 := ReadFromPort();~value~0 := #t~ret3;havoc #t~ret3; {1050#(and (or (= (_ bv20 32) (bvmul (_ bv20 32) main_~i~0)) (= (_ bv16 32) (bvmul (_ bv20 32) main_~i~0))) (not (= main_~DEFAULTVAL~0 main_~FIXEDVAL~0)))} is VALID [2018-11-23 10:29:17,523 INFO L273 TraceCheckUtils]: 7: Hoare triple {1057#(not (= main_~DEFAULTVAL~0 main_~FIXEDVAL~0))} assume !(0bv32 != ~bvsrem32(~SIZE~0, 5bv32));assume 0bv32 != (if 0bv32 == ~bvsrem32(~SIZE~0, 5bv32) then 1bv32 else 0bv32);~i~0 := 1bv32; {1050#(and (or (= (_ bv20 32) (bvmul (_ bv20 32) main_~i~0)) (= (_ bv16 32) (bvmul (_ bv20 32) main_~i~0))) (not (= main_~DEFAULTVAL~0 main_~FIXEDVAL~0)))} is VALID [2018-11-23 10:29:17,523 INFO L273 TraceCheckUtils]: 6: Hoare triple {904#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;havoc ~value~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~DEFAULTVAL~0 := 0bv32;~FIXEDVAL~0 := 10bv32; {1057#(not (= main_~DEFAULTVAL~0 main_~FIXEDVAL~0))} is VALID [2018-11-23 10:29:17,523 INFO L273 TraceCheckUtils]: 5: Hoare triple {904#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {904#true} is VALID [2018-11-23 10:29:17,523 INFO L256 TraceCheckUtils]: 4: Hoare triple {904#true} call #t~ret10 := main(); {904#true} is VALID [2018-11-23 10:29:17,524 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {904#true} {904#true} #93#return; {904#true} is VALID [2018-11-23 10:29:17,524 INFO L273 TraceCheckUtils]: 2: Hoare triple {904#true} assume true; {904#true} is VALID [2018-11-23 10:29:17,524 INFO L273 TraceCheckUtils]: 1: Hoare triple {904#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {904#true} is VALID [2018-11-23 10:29:17,524 INFO L256 TraceCheckUtils]: 0: Hoare triple {904#true} call ULTIMATE.init(); {904#true} is VALID [2018-11-23 10:29:17,527 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 10:29:17,536 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:29:17,536 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 13] total 22 [2018-11-23 10:29:17,537 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 26 [2018-11-23 10:29:17,537 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:29:17,537 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states. [2018-11-23 10:29:17,746 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:29:17,747 INFO L459 AbstractCegarLoop]: Interpolant automaton has 22 states [2018-11-23 10:29:17,747 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2018-11-23 10:29:17,747 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=79, Invalid=383, Unknown=0, NotChecked=0, Total=462 [2018-11-23 10:29:17,747 INFO L87 Difference]: Start difference. First operand 69 states and 92 transitions. Second operand 22 states. [2018-11-23 10:29:26,881 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:29:26,882 INFO L93 Difference]: Finished difference Result 149 states and 201 transitions. [2018-11-23 10:29:26,882 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2018-11-23 10:29:26,882 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 26 [2018-11-23 10:29:26,882 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:29:26,882 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2018-11-23 10:29:26,887 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 159 transitions. [2018-11-23 10:29:26,887 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2018-11-23 10:29:26,891 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 159 transitions. [2018-11-23 10:29:26,892 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 159 transitions. [2018-11-23 10:29:29,582 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 159 edges. 158 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2018-11-23 10:29:29,589 INFO L225 Difference]: With dead ends: 149 [2018-11-23 10:29:29,589 INFO L226 Difference]: Without dead ends: 147 [2018-11-23 10:29:29,590 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 65 GetRequests, 29 SyntacticMatches, 2 SemanticMatches, 34 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 225 ImplicationChecksByTransitivity, 1.9s TimeCoverageRelationStatistics Valid=284, Invalid=976, Unknown=0, NotChecked=0, Total=1260 [2018-11-23 10:29:29,590 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 147 states. [2018-11-23 10:29:29,726 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 147 to 110. [2018-11-23 10:29:29,726 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:29:29,726 INFO L82 GeneralOperation]: Start isEquivalent. First operand 147 states. Second operand 110 states. [2018-11-23 10:29:29,726 INFO L74 IsIncluded]: Start isIncluded. First operand 147 states. Second operand 110 states. [2018-11-23 10:29:29,727 INFO L87 Difference]: Start difference. First operand 147 states. Second operand 110 states. [2018-11-23 10:29:29,735 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:29:29,735 INFO L93 Difference]: Finished difference Result 147 states and 199 transitions. [2018-11-23 10:29:29,735 INFO L276 IsEmpty]: Start isEmpty. Operand 147 states and 199 transitions. [2018-11-23 10:29:29,737 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:29:29,737 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:29:29,737 INFO L74 IsIncluded]: Start isIncluded. First operand 110 states. Second operand 147 states. [2018-11-23 10:29:29,737 INFO L87 Difference]: Start difference. First operand 110 states. Second operand 147 states. [2018-11-23 10:29:29,745 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:29:29,745 INFO L93 Difference]: Finished difference Result 147 states and 199 transitions. [2018-11-23 10:29:29,745 INFO L276 IsEmpty]: Start isEmpty. Operand 147 states and 199 transitions. [2018-11-23 10:29:29,746 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:29:29,747 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:29:29,747 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:29:29,747 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:29:29,747 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 110 states. [2018-11-23 10:29:29,752 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 110 states to 110 states and 150 transitions. [2018-11-23 10:29:29,752 INFO L78 Accepts]: Start accepts. Automaton has 110 states and 150 transitions. Word has length 26 [2018-11-23 10:29:29,752 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:29:29,753 INFO L480 AbstractCegarLoop]: Abstraction has 110 states and 150 transitions. [2018-11-23 10:29:29,753 INFO L481 AbstractCegarLoop]: Interpolant automaton has 22 states. [2018-11-23 10:29:29,753 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 150 transitions. [2018-11-23 10:29:29,754 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2018-11-23 10:29:29,754 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:29:29,754 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:29:29,754 INFO L423 AbstractCegarLoop]: === Iteration 4 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:29:29,754 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:29:29,755 INFO L82 PathProgramCache]: Analyzing trace with hash -1331027866, now seen corresponding path program 1 times [2018-11-23 10:29:29,755 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:29:29,755 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 10:29:29,781 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 10:29:29,944 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:29:29,981 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:29:29,983 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:29:30,208 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 16 treesize of output 13 [2018-11-23 10:29:30,212 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 13 treesize of output 12 [2018-11-23 10:29:30,213 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:29:30,216 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:29:30,231 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:29:30,231 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:28, output treesize:24 [2018-11-23 10:29:30,282 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 31 treesize of output 26 [2018-11-23 10:29:30,288 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:29:30,296 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 26 treesize of output 41 [2018-11-23 10:29:30,300 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:29:30,310 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:29:30,336 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 10:29:30,337 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:42, output treesize:26 [2018-11-23 10:29:30,349 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:29:30,349 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_45|, main_~value~0]. (let ((.cse0 (select |v_#memory_int_45| |main_~#a~0.base|)) (.cse1 (bvmul (_ bv20 32) main_~i~0))) (and (= (_ bv0 32) (bvadd (select .cse0 (bvadd |main_~#a~0.offset| .cse1 (_ bv4294967280 32))) (_ bv4294967286 32))) (= (store |v_#memory_int_45| |main_~#a~0.base| (store .cse0 (bvadd |main_~#a~0.offset| .cse1 (_ bv4294967284 32)) main_~value~0)) |#memory_int|) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))) [2018-11-23 10:29:30,350 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (_ bv0 32) (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967280 32))) (_ bv4294967286 32))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))) [2018-11-23 10:29:30,380 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 31 treesize of output 26 [2018-11-23 10:29:30,388 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:29:30,392 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 26 treesize of output 41 [2018-11-23 10:29:30,395 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:29:30,405 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:29:30,428 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 10:29:30,429 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:42, output treesize:26 [2018-11-23 10:29:30,441 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:29:30,441 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_46|, main_~value~0]. (let ((.cse0 (select |v_#memory_int_46| |main_~#a~0.base|)) (.cse1 (bvmul (_ bv20 32) main_~i~0))) (and (= (store |v_#memory_int_46| |main_~#a~0.base| (store .cse0 (bvadd |main_~#a~0.offset| .cse1 (_ bv4294967288 32)) main_~value~0)) |#memory_int|) (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv0 32) (bvadd (select .cse0 (bvadd |main_~#a~0.offset| .cse1 (_ bv4294967280 32))) (_ bv4294967286 32))) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))) [2018-11-23 10:29:30,441 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (_ bv0 32) (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967280 32))) (_ bv4294967286 32))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))) [2018-11-23 10:29:30,471 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 25 treesize of output 20 [2018-11-23 10:29:30,478 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:29:30,480 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 20 treesize of output 29 [2018-11-23 10:29:30,482 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:29:30,493 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:29:30,513 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 10:29:30,513 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:31, output treesize:18 [2018-11-23 10:29:30,521 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:29:30,522 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_47|, main_~value~0]. (let ((.cse0 (select |v_#memory_int_47| |main_~#a~0.base|))) (and (= (store |v_#memory_int_47| |main_~#a~0.base| (store .cse0 (bvadd |main_~#a~0.offset| (_ bv16 32)) main_~value~0)) |#memory_int|) (= (bvadd (select .cse0 (bvadd |main_~#a~0.offset| (_ bv4 32))) (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))) [2018-11-23 10:29:30,522 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (_ bv0 32) (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (_ bv4294967286 32))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32))) [2018-11-23 10:29:30,669 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 10:29:30,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 11 treesize of output 3 [2018-11-23 10:29:30,675 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:29:30,677 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:29:30,682 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 10:29:30,682 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:18, output treesize:7 [2018-11-23 10:29:30,686 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:29:30,686 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|]. (let ((.cse0 (select (select |#memory_int| |main_~#a~0.base|) (_ bv4 32)))) (and (= |main_#t~mem9| .cse0) (= (_ bv10 32) .cse0) (= main_~DEFAULTVAL~0 (_ bv0 32)))) [2018-11-23 10:29:30,687 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (_ bv10 32) |main_#t~mem9|) (= main_~DEFAULTVAL~0 (_ bv0 32))) [2018-11-23 10:29:30,735 INFO L256 TraceCheckUtils]: 0: Hoare triple {1711#true} call ULTIMATE.init(); {1711#true} is VALID [2018-11-23 10:29:30,735 INFO L273 TraceCheckUtils]: 1: Hoare triple {1711#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {1711#true} is VALID [2018-11-23 10:29:30,736 INFO L273 TraceCheckUtils]: 2: Hoare triple {1711#true} assume true; {1711#true} is VALID [2018-11-23 10:29:30,736 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1711#true} {1711#true} #93#return; {1711#true} is VALID [2018-11-23 10:29:30,736 INFO L256 TraceCheckUtils]: 4: Hoare triple {1711#true} call #t~ret10 := main(); {1711#true} is VALID [2018-11-23 10:29:30,736 INFO L273 TraceCheckUtils]: 5: Hoare triple {1711#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {1711#true} is VALID [2018-11-23 10:29:30,751 INFO L273 TraceCheckUtils]: 6: Hoare triple {1711#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;havoc ~value~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~DEFAULTVAL~0 := 0bv32;~FIXEDVAL~0 := 10bv32; {1734#(and (= (bvadd main_~FIXEDVAL~0 (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} is VALID [2018-11-23 10:29:30,752 INFO L273 TraceCheckUtils]: 7: Hoare triple {1734#(and (= (bvadd main_~FIXEDVAL~0 (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} assume !(0bv32 != ~bvsrem32(~SIZE~0, 5bv32));assume 0bv32 != (if 0bv32 == ~bvsrem32(~SIZE~0, 5bv32) then 1bv32 else 0bv32);~i~0 := 1bv32; {1738#(and (= (bvadd main_~FIXEDVAL~0 (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:29:30,752 INFO L273 TraceCheckUtils]: 8: Hoare triple {1738#(and (= (bvadd main_~FIXEDVAL~0 (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume !!~bvsle32(~i~0, ~bvsdiv32(~SIZE~0, 5bv32));call #t~ret3 := ReadFromPort();~value~0 := #t~ret3;havoc #t~ret3; {1738#(and (= (bvadd main_~FIXEDVAL~0 (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:29:30,756 INFO L273 TraceCheckUtils]: 9: Hoare triple {1738#(and (= (bvadd main_~FIXEDVAL~0 (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume ~value~0 != ~DEFAULTVAL~0;call write~intINTTYPE4(~value~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 5bv32))), 4bv32); {1738#(and (= (bvadd main_~FIXEDVAL~0 (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:29:30,756 INFO L273 TraceCheckUtils]: 10: Hoare triple {1738#(and (= (bvadd main_~FIXEDVAL~0 (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} call #t~ret4 := ReadFromPort();~value~0 := #t~ret4;havoc #t~ret4; {1738#(and (= (bvadd main_~FIXEDVAL~0 (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:29:30,758 INFO L273 TraceCheckUtils]: 11: Hoare triple {1738#(and (= (bvadd main_~FIXEDVAL~0 (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume !(~value~0 != ~DEFAULTVAL~0);call write~intINTTYPE4(~FIXEDVAL~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 4bv32))), 4bv32); {1751#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967280 32))) (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:29:30,758 INFO L273 TraceCheckUtils]: 12: Hoare triple {1751#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967280 32))) (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} call #t~ret5 := ReadFromPort();~value~0 := #t~ret5;havoc #t~ret5; {1751#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967280 32))) (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:29:30,760 INFO L273 TraceCheckUtils]: 13: Hoare triple {1751#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967280 32))) (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume ~value~0 != ~DEFAULTVAL~0;call write~intINTTYPE4(~value~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 3bv32))), 4bv32); {1751#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967280 32))) (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:29:30,761 INFO L273 TraceCheckUtils]: 14: Hoare triple {1751#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967280 32))) (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} call #t~ret6 := ReadFromPort();~value~0 := #t~ret6;havoc #t~ret6; {1751#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967280 32))) (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:29:30,763 INFO L273 TraceCheckUtils]: 15: Hoare triple {1751#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967280 32))) (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume ~value~0 != ~DEFAULTVAL~0;call write~intINTTYPE4(~value~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 2bv32))), 4bv32); {1751#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967280 32))) (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:29:30,764 INFO L273 TraceCheckUtils]: 16: Hoare triple {1751#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967280 32))) (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} call #t~ret7 := ReadFromPort();~value~0 := #t~ret7;havoc #t~ret7; {1751#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967280 32))) (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:29:30,766 INFO L273 TraceCheckUtils]: 17: Hoare triple {1751#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967280 32))) (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume ~value~0 != ~DEFAULTVAL~0;call write~intINTTYPE4(~value~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 1bv32))), 4bv32); {1770#(and (= (_ bv10 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32)))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} is VALID [2018-11-23 10:29:30,767 INFO L273 TraceCheckUtils]: 18: Hoare triple {1770#(and (= (_ bv10 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32)))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {1770#(and (= (_ bv10 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32)))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} is VALID [2018-11-23 10:29:30,768 INFO L273 TraceCheckUtils]: 19: Hoare triple {1770#(and (= (_ bv10 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32)))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} assume !~bvsle32(~i~0, ~bvsdiv32(~SIZE~0, 5bv32)); {1770#(and (= (_ bv10 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32)))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} is VALID [2018-11-23 10:29:30,769 INFO L273 TraceCheckUtils]: 20: Hoare triple {1770#(and (= (_ bv10 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32)))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} ~i~0 := 0bv32; {1780#(and (= (_ bv10 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32)))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} is VALID [2018-11-23 10:29:30,769 INFO L273 TraceCheckUtils]: 21: Hoare triple {1780#(and (= (_ bv10 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32)))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem9 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1780#(and (= (_ bv10 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32)))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} is VALID [2018-11-23 10:29:30,772 INFO L256 TraceCheckUtils]: 22: Hoare triple {1780#(and (= (_ bv10 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32)))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1bv32 else 0bv32)); {1787#(exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (_ bv4 32)) (_ bv4294967286 32)) (_ bv0 32)))} is VALID [2018-11-23 10:29:30,773 INFO L273 TraceCheckUtils]: 23: Hoare triple {1787#(exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (_ bv4 32)) (_ bv4294967286 32)) (_ bv0 32)))} ~cond := #in~cond; {1787#(exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (_ bv4 32)) (_ bv4294967286 32)) (_ bv0 32)))} is VALID [2018-11-23 10:29:30,774 INFO L273 TraceCheckUtils]: 24: Hoare triple {1787#(exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (_ bv4 32)) (_ bv4294967286 32)) (_ bv0 32)))} assume !(0bv32 == ~cond); {1787#(exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (_ bv4 32)) (_ bv4294967286 32)) (_ bv0 32)))} is VALID [2018-11-23 10:29:30,774 INFO L273 TraceCheckUtils]: 25: Hoare triple {1787#(exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (_ bv4 32)) (_ bv4294967286 32)) (_ bv0 32)))} assume true; {1787#(exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (_ bv4 32)) (_ bv4294967286 32)) (_ bv0 32)))} is VALID [2018-11-23 10:29:30,775 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {1787#(exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (_ bv4 32)) (_ bv4294967286 32)) (_ bv0 32)))} {1780#(and (= (_ bv10 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32)))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} #97#return; {1780#(and (= (_ bv10 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32)))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} is VALID [2018-11-23 10:29:30,782 INFO L273 TraceCheckUtils]: 27: Hoare triple {1780#(and (= (_ bv10 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32)))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} havoc #t~mem9; {1780#(and (= (_ bv10 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32)))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} is VALID [2018-11-23 10:29:30,783 INFO L273 TraceCheckUtils]: 28: Hoare triple {1780#(and (= (_ bv10 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32)))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} #t~post8 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post8);havoc #t~post8; {1751#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967280 32))) (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:29:30,784 INFO L273 TraceCheckUtils]: 29: Hoare triple {1751#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967280 32))) (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem9 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1809#(and (= (_ bv10 32) |main_#t~mem9|) (= main_~DEFAULTVAL~0 (_ bv0 32)))} is VALID [2018-11-23 10:29:30,787 INFO L256 TraceCheckUtils]: 30: Hoare triple {1809#(and (= (_ bv10 32) |main_#t~mem9|) (= main_~DEFAULTVAL~0 (_ bv0 32)))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1bv32 else 0bv32)); {1813#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:29:30,788 INFO L273 TraceCheckUtils]: 31: Hoare triple {1813#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} ~cond := #in~cond; {1817#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:29:30,788 INFO L273 TraceCheckUtils]: 32: Hoare triple {1817#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} assume 0bv32 == ~cond; {1712#false} is VALID [2018-11-23 10:29:30,788 INFO L273 TraceCheckUtils]: 33: Hoare triple {1712#false} assume !false; {1712#false} is VALID [2018-11-23 10:29:30,792 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 10:29:30,792 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:29:31,349 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 42 treesize of output 40 [2018-11-23 10:29:31,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 40 treesize of output 44 [2018-11-23 10:29:31,364 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:31,368 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 44 treesize of output 60 [2018-11-23 10:29:31,380 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:31,381 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:31,381 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:31,394 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 47 treesize of output 89 [2018-11-23 10:29:31,494 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:31,498 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:31,501 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:31,549 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 3 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 3 case distinctions, treesize of input 49 treesize of output 92 [2018-11-23 10:29:31,557 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 8 xjuncts. [2018-11-23 10:29:31,565 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:31,565 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:31,566 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:31,575 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 52 [2018-11-23 10:29:31,577 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-11-23 10:29:31,704 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 5 xjuncts. [2018-11-23 10:29:31,783 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 5 xjuncts. [2018-11-23 10:29:31,856 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 5 xjuncts. [2018-11-23 10:29:31,950 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 5 xjuncts. [2018-11-23 10:29:32,032 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-2 vars, End of recursive call: and 5 xjuncts. [2018-11-23 10:29:32,033 INFO L202 ElimStorePlain]: Needed 7 recursive calls to eliminate 5 variables, input treesize:42, output treesize:135 [2018-11-23 10:29:32,041 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:29:32,041 WARN L384 uantifierElimination]: Input elimination task: ∀ [|#memory_int|, |main_~#a~0.base|, main_~value~0, v_subst_7, v_subst_6]. (not (= main_~DEFAULTVAL~0 (select (let ((.cse0 (bvmul (_ bv20 32) main_~i~0))) (store (store (store (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| .cse0 (_ bv4294967280 32)) main_~FIXEDVAL~0) (bvadd |main_~#a~0.offset| .cse0 (_ bv4294967284 32)) main_~value~0) (bvadd |main_~#a~0.offset| .cse0 (_ bv4294967288 32)) v_subst_7) (bvadd |main_~#a~0.offset| .cse0 (_ bv4294967292 32)) v_subst_6)) (bvadd |main_~#a~0.offset| (_ bv4 32))))) [2018-11-23 10:29:32,041 WARN L385 uantifierElimination]: ElimStorePlain result: ∀ []. (let ((.cse5 (bvmul (_ bv20 32) main_~i~0)) (.cse4 (bvadd |main_~#a~0.offset| (_ bv4 32)))) (let ((.cse2 (= (bvadd |main_~#a~0.offset| .cse5 (_ bv4294967284 32)) .cse4)) (.cse0 (= (bvadd .cse5 (_ bv4294967288 32)) (_ bv0 32))) (.cse1 (= .cse4 (bvadd |main_~#a~0.offset| .cse5 (_ bv4294967280 32)))) (.cse3 (= .cse4 (bvadd |main_~#a~0.offset| .cse5 (_ bv4294967288 32))))) (and (or .cse0 .cse1 .cse2) (not .cse0) (or .cse0 .cse3 .cse2 (not (= main_~DEFAULTVAL~0 main_~FIXEDVAL~0))) (or .cse0 .cse1 .cse3 .cse2) (or .cse0 .cse1 .cse3)))) [2018-11-23 10:29:32,225 INFO L273 TraceCheckUtils]: 33: Hoare triple {1712#false} assume !false; {1712#false} is VALID [2018-11-23 10:29:32,225 INFO L273 TraceCheckUtils]: 32: Hoare triple {1827#(not (= (_ bv0 32) __VERIFIER_assert_~cond))} assume 0bv32 == ~cond; {1712#false} is VALID [2018-11-23 10:29:32,226 INFO L273 TraceCheckUtils]: 31: Hoare triple {1831#(not (= |__VERIFIER_assert_#in~cond| (_ bv0 32)))} ~cond := #in~cond; {1827#(not (= (_ bv0 32) __VERIFIER_assert_~cond))} is VALID [2018-11-23 10:29:32,227 INFO L256 TraceCheckUtils]: 30: Hoare triple {1835#(not (= main_~DEFAULTVAL~0 |main_#t~mem9|))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1bv32 else 0bv32)); {1831#(not (= |__VERIFIER_assert_#in~cond| (_ bv0 32)))} is VALID [2018-11-23 10:29:32,227 INFO L273 TraceCheckUtils]: 29: Hoare triple {1839#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0)))))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem9 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1835#(not (= main_~DEFAULTVAL~0 |main_#t~mem9|))} is VALID [2018-11-23 10:29:32,412 INFO L273 TraceCheckUtils]: 28: Hoare triple {1843#(not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) main_~DEFAULTVAL~0))} #t~post8 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post8);havoc #t~post8; {1839#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0)))))} is VALID [2018-11-23 10:29:32,412 INFO L273 TraceCheckUtils]: 27: Hoare triple {1843#(not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) main_~DEFAULTVAL~0))} havoc #t~mem9; {1843#(not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) main_~DEFAULTVAL~0))} is VALID [2018-11-23 10:29:32,413 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {1711#true} {1843#(not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) main_~DEFAULTVAL~0))} #97#return; {1843#(not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) main_~DEFAULTVAL~0))} is VALID [2018-11-23 10:29:32,413 INFO L273 TraceCheckUtils]: 25: Hoare triple {1711#true} assume true; {1711#true} is VALID [2018-11-23 10:29:32,413 INFO L273 TraceCheckUtils]: 24: Hoare triple {1711#true} assume !(0bv32 == ~cond); {1711#true} is VALID [2018-11-23 10:29:32,414 INFO L273 TraceCheckUtils]: 23: Hoare triple {1711#true} ~cond := #in~cond; {1711#true} is VALID [2018-11-23 10:29:32,414 INFO L256 TraceCheckUtils]: 22: Hoare triple {1843#(not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) main_~DEFAULTVAL~0))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1bv32 else 0bv32)); {1711#true} is VALID [2018-11-23 10:29:32,414 INFO L273 TraceCheckUtils]: 21: Hoare triple {1843#(not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) main_~DEFAULTVAL~0))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem9 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1843#(not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) main_~DEFAULTVAL~0))} is VALID [2018-11-23 10:29:32,415 INFO L273 TraceCheckUtils]: 20: Hoare triple {1868#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32)))))} ~i~0 := 0bv32; {1843#(not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) main_~DEFAULTVAL~0))} is VALID [2018-11-23 10:29:32,416 INFO L273 TraceCheckUtils]: 19: Hoare triple {1868#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32)))))} assume !~bvsle32(~i~0, ~bvsdiv32(~SIZE~0, 5bv32)); {1868#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32)))))} is VALID [2018-11-23 10:29:32,417 INFO L273 TraceCheckUtils]: 18: Hoare triple {1868#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32)))))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {1868#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32)))))} is VALID [2018-11-23 10:29:32,435 INFO L273 TraceCheckUtils]: 17: Hoare triple {1878#(forall ((main_~value~0 (_ BitVec 32))) (not (= main_~DEFAULTVAL~0 (select (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) main_~value~0) (bvadd |main_~#a~0.offset| (_ bv4 32))))))} assume ~value~0 != ~DEFAULTVAL~0;call write~intINTTYPE4(~value~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 1bv32))), 4bv32); {1868#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32)))))} is VALID [2018-11-23 10:29:32,435 INFO L273 TraceCheckUtils]: 16: Hoare triple {1878#(forall ((main_~value~0 (_ BitVec 32))) (not (= main_~DEFAULTVAL~0 (select (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) main_~value~0) (bvadd |main_~#a~0.offset| (_ bv4 32))))))} call #t~ret7 := ReadFromPort();~value~0 := #t~ret7;havoc #t~ret7; {1878#(forall ((main_~value~0 (_ BitVec 32))) (not (= main_~DEFAULTVAL~0 (select (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) main_~value~0) (bvadd |main_~#a~0.offset| (_ bv4 32))))))} is VALID [2018-11-23 10:29:32,448 INFO L273 TraceCheckUtils]: 15: Hoare triple {1885#(forall ((main_~value~0 (_ BitVec 32)) (v_subst_6 (_ BitVec 32))) (not (= main_~DEFAULTVAL~0 (select (store (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32)) main_~value~0) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) v_subst_6) (bvadd |main_~#a~0.offset| (_ bv4 32))))))} assume ~value~0 != ~DEFAULTVAL~0;call write~intINTTYPE4(~value~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 2bv32))), 4bv32); {1878#(forall ((main_~value~0 (_ BitVec 32))) (not (= main_~DEFAULTVAL~0 (select (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) main_~value~0) (bvadd |main_~#a~0.offset| (_ bv4 32))))))} is VALID [2018-11-23 10:29:32,449 INFO L273 TraceCheckUtils]: 14: Hoare triple {1885#(forall ((main_~value~0 (_ BitVec 32)) (v_subst_6 (_ BitVec 32))) (not (= main_~DEFAULTVAL~0 (select (store (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32)) main_~value~0) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) v_subst_6) (bvadd |main_~#a~0.offset| (_ bv4 32))))))} call #t~ret6 := ReadFromPort();~value~0 := #t~ret6;havoc #t~ret6; {1885#(forall ((main_~value~0 (_ BitVec 32)) (v_subst_6 (_ BitVec 32))) (not (= main_~DEFAULTVAL~0 (select (store (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32)) main_~value~0) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) v_subst_6) (bvadd |main_~#a~0.offset| (_ bv4 32))))))} is VALID [2018-11-23 10:29:32,453 INFO L273 TraceCheckUtils]: 13: Hoare triple {1892#(forall ((main_~value~0 (_ BitVec 32)) (v_subst_6 (_ BitVec 32)) (v_subst_7 (_ BitVec 32))) (not (= (select (store (store (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32)) main_~value~0) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32)) v_subst_7) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) v_subst_6) (bvadd |main_~#a~0.offset| (_ bv4 32))) main_~DEFAULTVAL~0)))} assume ~value~0 != ~DEFAULTVAL~0;call write~intINTTYPE4(~value~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 3bv32))), 4bv32); {1885#(forall ((main_~value~0 (_ BitVec 32)) (v_subst_6 (_ BitVec 32))) (not (= main_~DEFAULTVAL~0 (select (store (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32)) main_~value~0) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) v_subst_6) (bvadd |main_~#a~0.offset| (_ bv4 32))))))} is VALID [2018-11-23 10:29:32,454 INFO L273 TraceCheckUtils]: 12: Hoare triple {1892#(forall ((main_~value~0 (_ BitVec 32)) (v_subst_6 (_ BitVec 32)) (v_subst_7 (_ BitVec 32))) (not (= (select (store (store (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32)) main_~value~0) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32)) v_subst_7) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) v_subst_6) (bvadd |main_~#a~0.offset| (_ bv4 32))) main_~DEFAULTVAL~0)))} call #t~ret5 := ReadFromPort();~value~0 := #t~ret5;havoc #t~ret5; {1892#(forall ((main_~value~0 (_ BitVec 32)) (v_subst_6 (_ BitVec 32)) (v_subst_7 (_ BitVec 32))) (not (= (select (store (store (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32)) main_~value~0) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32)) v_subst_7) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) v_subst_6) (bvadd |main_~#a~0.offset| (_ bv4 32))) main_~DEFAULTVAL~0)))} is VALID [2018-11-23 10:29:32,455 INFO L273 TraceCheckUtils]: 11: Hoare triple {1899#(and (= (_ bv20 32) (bvmul (_ bv20 32) main_~i~0)) (not (= main_~DEFAULTVAL~0 main_~FIXEDVAL~0)))} assume !(~value~0 != ~DEFAULTVAL~0);call write~intINTTYPE4(~FIXEDVAL~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 4bv32))), 4bv32); {1892#(forall ((main_~value~0 (_ BitVec 32)) (v_subst_6 (_ BitVec 32)) (v_subst_7 (_ BitVec 32))) (not (= (select (store (store (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32)) main_~value~0) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32)) v_subst_7) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) v_subst_6) (bvadd |main_~#a~0.offset| (_ bv4 32))) main_~DEFAULTVAL~0)))} is VALID [2018-11-23 10:29:32,456 INFO L273 TraceCheckUtils]: 10: Hoare triple {1899#(and (= (_ bv20 32) (bvmul (_ bv20 32) main_~i~0)) (not (= main_~DEFAULTVAL~0 main_~FIXEDVAL~0)))} call #t~ret4 := ReadFromPort();~value~0 := #t~ret4;havoc #t~ret4; {1899#(and (= (_ bv20 32) (bvmul (_ bv20 32) main_~i~0)) (not (= main_~DEFAULTVAL~0 main_~FIXEDVAL~0)))} is VALID [2018-11-23 10:29:32,475 INFO L273 TraceCheckUtils]: 9: Hoare triple {1899#(and (= (_ bv20 32) (bvmul (_ bv20 32) main_~i~0)) (not (= main_~DEFAULTVAL~0 main_~FIXEDVAL~0)))} assume ~value~0 != ~DEFAULTVAL~0;call write~intINTTYPE4(~value~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 5bv32))), 4bv32); {1899#(and (= (_ bv20 32) (bvmul (_ bv20 32) main_~i~0)) (not (= main_~DEFAULTVAL~0 main_~FIXEDVAL~0)))} is VALID [2018-11-23 10:29:32,489 INFO L273 TraceCheckUtils]: 8: Hoare triple {1899#(and (= (_ bv20 32) (bvmul (_ bv20 32) main_~i~0)) (not (= main_~DEFAULTVAL~0 main_~FIXEDVAL~0)))} assume !!~bvsle32(~i~0, ~bvsdiv32(~SIZE~0, 5bv32));call #t~ret3 := ReadFromPort();~value~0 := #t~ret3;havoc #t~ret3; {1899#(and (= (_ bv20 32) (bvmul (_ bv20 32) main_~i~0)) (not (= main_~DEFAULTVAL~0 main_~FIXEDVAL~0)))} is VALID [2018-11-23 10:29:32,496 INFO L273 TraceCheckUtils]: 7: Hoare triple {1912#(not (= main_~DEFAULTVAL~0 main_~FIXEDVAL~0))} assume !(0bv32 != ~bvsrem32(~SIZE~0, 5bv32));assume 0bv32 != (if 0bv32 == ~bvsrem32(~SIZE~0, 5bv32) then 1bv32 else 0bv32);~i~0 := 1bv32; {1899#(and (= (_ bv20 32) (bvmul (_ bv20 32) main_~i~0)) (not (= main_~DEFAULTVAL~0 main_~FIXEDVAL~0)))} is VALID [2018-11-23 10:29:32,497 INFO L273 TraceCheckUtils]: 6: Hoare triple {1711#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;havoc ~value~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~DEFAULTVAL~0 := 0bv32;~FIXEDVAL~0 := 10bv32; {1912#(not (= main_~DEFAULTVAL~0 main_~FIXEDVAL~0))} is VALID [2018-11-23 10:29:32,497 INFO L273 TraceCheckUtils]: 5: Hoare triple {1711#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {1711#true} is VALID [2018-11-23 10:29:32,497 INFO L256 TraceCheckUtils]: 4: Hoare triple {1711#true} call #t~ret10 := main(); {1711#true} is VALID [2018-11-23 10:29:32,497 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1711#true} {1711#true} #93#return; {1711#true} is VALID [2018-11-23 10:29:32,497 INFO L273 TraceCheckUtils]: 2: Hoare triple {1711#true} assume true; {1711#true} is VALID [2018-11-23 10:29:32,497 INFO L273 TraceCheckUtils]: 1: Hoare triple {1711#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {1711#true} is VALID [2018-11-23 10:29:32,498 INFO L256 TraceCheckUtils]: 0: Hoare triple {1711#true} call ULTIMATE.init(); {1711#true} is VALID [2018-11-23 10:29:32,501 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 2 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 10:29:32,503 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:29:32,503 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 13] total 22 [2018-11-23 10:29:32,503 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 34 [2018-11-23 10:29:32,504 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:29:32,504 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states. [2018-11-23 10:29:32,894 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:29:32,894 INFO L459 AbstractCegarLoop]: Interpolant automaton has 22 states [2018-11-23 10:29:32,895 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2018-11-23 10:29:32,895 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=391, Unknown=0, NotChecked=0, Total=462 [2018-11-23 10:29:32,895 INFO L87 Difference]: Start difference. First operand 110 states and 150 transitions. Second operand 22 states. [2018-11-23 10:29:51,770 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:29:51,771 INFO L93 Difference]: Finished difference Result 218 states and 284 transitions. [2018-11-23 10:29:51,771 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 25 states. [2018-11-23 10:29:51,771 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 34 [2018-11-23 10:29:51,771 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:29:51,771 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2018-11-23 10:29:51,775 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 160 transitions. [2018-11-23 10:29:51,776 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2018-11-23 10:29:51,779 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 160 transitions. [2018-11-23 10:29:51,780 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 25 states and 160 transitions. [2018-11-23 10:29:56,342 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 160 edges. 158 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2018-11-23 10:29:56,348 INFO L225 Difference]: With dead ends: 218 [2018-11-23 10:29:56,348 INFO L226 Difference]: Without dead ends: 216 [2018-11-23 10:29:56,349 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 85 GetRequests, 43 SyntacticMatches, 4 SemanticMatches, 38 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 308 ImplicationChecksByTransitivity, 1.7s TimeCoverageRelationStatistics Valid=292, Invalid=1268, Unknown=0, NotChecked=0, Total=1560 [2018-11-23 10:29:56,349 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 216 states. [2018-11-23 10:29:56,478 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 216 to 45. [2018-11-23 10:29:56,478 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:29:56,478 INFO L82 GeneralOperation]: Start isEquivalent. First operand 216 states. Second operand 45 states. [2018-11-23 10:29:56,478 INFO L74 IsIncluded]: Start isIncluded. First operand 216 states. Second operand 45 states. [2018-11-23 10:29:56,478 INFO L87 Difference]: Start difference. First operand 216 states. Second operand 45 states. [2018-11-23 10:29:56,488 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:29:56,488 INFO L93 Difference]: Finished difference Result 216 states and 281 transitions. [2018-11-23 10:29:56,488 INFO L276 IsEmpty]: Start isEmpty. Operand 216 states and 281 transitions. [2018-11-23 10:29:56,489 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:29:56,489 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:29:56,489 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand 216 states. [2018-11-23 10:29:56,489 INFO L87 Difference]: Start difference. First operand 45 states. Second operand 216 states. [2018-11-23 10:29:56,498 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:29:56,498 INFO L93 Difference]: Finished difference Result 216 states and 281 transitions. [2018-11-23 10:29:56,498 INFO L276 IsEmpty]: Start isEmpty. Operand 216 states and 281 transitions. [2018-11-23 10:29:56,499 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:29:56,499 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:29:56,499 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:29:56,500 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:29:56,500 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 45 states. [2018-11-23 10:29:56,501 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 51 transitions. [2018-11-23 10:29:56,501 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 51 transitions. Word has length 34 [2018-11-23 10:29:56,502 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:29:56,502 INFO L480 AbstractCegarLoop]: Abstraction has 45 states and 51 transitions. [2018-11-23 10:29:56,502 INFO L481 AbstractCegarLoop]: Interpolant automaton has 22 states. [2018-11-23 10:29:56,502 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 51 transitions. [2018-11-23 10:29:56,503 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2018-11-23 10:29:56,503 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:29:56,503 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:29:56,503 INFO L423 AbstractCegarLoop]: === Iteration 5 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:29:56,504 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:29:56,504 INFO L82 PathProgramCache]: Analyzing trace with hash -839332583, now seen corresponding path program 2 times [2018-11-23 10:29:56,504 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:29:56,504 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 10:29:56,531 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2018-11-23 10:29:56,802 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 10:29:56,802 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 10:29:56,849 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:29:56,852 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:29:56,922 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 16 treesize of output 13 [2018-11-23 10:29:56,928 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 13 treesize of output 12 [2018-11-23 10:29:56,929 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:29:56,934 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:29:56,956 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 10:29:56,956 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:32, output treesize:25 [2018-11-23 10:29:56,968 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:29:56,968 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_53|, main_~value~0]. (and (= (store |v_#memory_int_53| |main_~#a~0.base| (store (select |v_#memory_int_53| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32)) main_~value~0)) |#memory_int|) (not (= main_~value~0 main_~DEFAULTVAL~0)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))) [2018-11-23 10:29:56,968 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= |main_~#a~0.offset| (_ bv0 32)) (not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32))) main_~DEFAULTVAL~0)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))) [2018-11-23 10:29:57,016 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 30 treesize of output 25 [2018-11-23 10:29:57,026 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:29:57,030 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 40 [2018-11-23 10:29:57,032 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:29:57,046 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:29:57,073 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 10:29:57,074 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:41, output treesize:25 [2018-11-23 10:29:57,092 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:29:57,092 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_54|, main_~value~0]. (let ((.cse0 (select |v_#memory_int_54| |main_~#a~0.base|)) (.cse1 (bvmul (_ bv20 32) main_~i~0))) (and (= (store |v_#memory_int_54| |main_~#a~0.base| (store .cse0 (bvadd |main_~#a~0.offset| .cse1 (_ bv4294967288 32)) main_~value~0)) |#memory_int|) (= |main_~#a~0.offset| (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select .cse0 (bvadd |main_~#a~0.offset| .cse1 (_ bv4294967284 32))))) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))) [2018-11-23 10:29:57,092 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32))) main_~DEFAULTVAL~0)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))) [2018-11-23 10:29:57,112 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 24 treesize of output 19 [2018-11-23 10:29:57,126 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:29:57,129 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 28 [2018-11-23 10:29:57,132 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:29:57,140 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:29:57,155 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 10:29:57,155 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:30, output treesize:17 [2018-11-23 10:29:57,170 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:29:57,170 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_55|, main_~value~0]. (let ((.cse0 (select |v_#memory_int_55| |main_~#a~0.base|))) (and (not (= main_~DEFAULTVAL~0 (select .cse0 (bvadd |main_~#a~0.offset| (_ bv8 32))))) (= (store |v_#memory_int_55| |main_~#a~0.base| (store .cse0 (bvadd |main_~#a~0.offset| (_ bv16 32)) main_~value~0)) |#memory_int|) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))) [2018-11-23 10:29:57,170 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= |main_~#a~0.offset| (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))))) (= main_~DEFAULTVAL~0 (_ bv0 32))) [2018-11-23 10:29:57,388 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 16 treesize of output 12 [2018-11-23 10:29:57,393 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 12 treesize of output 4 [2018-11-23 10:29:57,394 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:29:57,396 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:29:57,400 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 10:29:57,400 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:19, output treesize:8 [2018-11-23 10:29:57,405 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:29:57,405 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|]. (let ((.cse0 (select (select |#memory_int| |main_~#a~0.base|) (_ bv8 32)))) (and (not (= main_~DEFAULTVAL~0 .cse0)) (= |main_#t~mem9| .cse0) (= main_~DEFAULTVAL~0 (_ bv0 32)))) [2018-11-23 10:29:57,405 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (not (= main_~DEFAULTVAL~0 |main_#t~mem9|)) (= main_~DEFAULTVAL~0 (_ bv0 32))) [2018-11-23 10:29:57,447 INFO L256 TraceCheckUtils]: 0: Hoare triple {2726#true} call ULTIMATE.init(); {2726#true} is VALID [2018-11-23 10:29:57,448 INFO L273 TraceCheckUtils]: 1: Hoare triple {2726#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {2726#true} is VALID [2018-11-23 10:29:57,448 INFO L273 TraceCheckUtils]: 2: Hoare triple {2726#true} assume true; {2726#true} is VALID [2018-11-23 10:29:57,448 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2726#true} {2726#true} #93#return; {2726#true} is VALID [2018-11-23 10:29:57,449 INFO L256 TraceCheckUtils]: 4: Hoare triple {2726#true} call #t~ret10 := main(); {2726#true} is VALID [2018-11-23 10:29:57,449 INFO L273 TraceCheckUtils]: 5: Hoare triple {2726#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {2726#true} is VALID [2018-11-23 10:29:57,450 INFO L273 TraceCheckUtils]: 6: Hoare triple {2726#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;havoc ~value~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~DEFAULTVAL~0 := 0bv32;~FIXEDVAL~0 := 10bv32; {2749#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} is VALID [2018-11-23 10:29:57,451 INFO L273 TraceCheckUtils]: 7: Hoare triple {2749#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} assume !(0bv32 != ~bvsrem32(~SIZE~0, 5bv32));assume 0bv32 != (if 0bv32 == ~bvsrem32(~SIZE~0, 5bv32) then 1bv32 else 0bv32);~i~0 := 1bv32; {2753#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:29:57,451 INFO L273 TraceCheckUtils]: 8: Hoare triple {2753#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume !!~bvsle32(~i~0, ~bvsdiv32(~SIZE~0, 5bv32));call #t~ret3 := ReadFromPort();~value~0 := #t~ret3;havoc #t~ret3; {2753#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:29:57,452 INFO L273 TraceCheckUtils]: 9: Hoare triple {2753#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume ~value~0 != ~DEFAULTVAL~0;call write~intINTTYPE4(~value~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 5bv32))), 4bv32); {2753#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:29:57,452 INFO L273 TraceCheckUtils]: 10: Hoare triple {2753#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} call #t~ret4 := ReadFromPort();~value~0 := #t~ret4;havoc #t~ret4; {2753#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:29:57,453 INFO L273 TraceCheckUtils]: 11: Hoare triple {2753#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume !(~value~0 != ~DEFAULTVAL~0);call write~intINTTYPE4(~FIXEDVAL~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 4bv32))), 4bv32); {2753#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:29:57,453 INFO L273 TraceCheckUtils]: 12: Hoare triple {2753#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} call #t~ret5 := ReadFromPort();~value~0 := #t~ret5;havoc #t~ret5; {2753#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:29:57,455 INFO L273 TraceCheckUtils]: 13: Hoare triple {2753#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume ~value~0 != ~DEFAULTVAL~0;call write~intINTTYPE4(~value~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 3bv32))), 4bv32); {2772#(and (= |main_~#a~0.offset| (_ bv0 32)) (not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32))) main_~DEFAULTVAL~0)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:29:57,455 INFO L273 TraceCheckUtils]: 14: Hoare triple {2772#(and (= |main_~#a~0.offset| (_ bv0 32)) (not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32))) main_~DEFAULTVAL~0)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} call #t~ret6 := ReadFromPort();~value~0 := #t~ret6;havoc #t~ret6; {2772#(and (= |main_~#a~0.offset| (_ bv0 32)) (not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32))) main_~DEFAULTVAL~0)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:29:57,457 INFO L273 TraceCheckUtils]: 15: Hoare triple {2772#(and (= |main_~#a~0.offset| (_ bv0 32)) (not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32))) main_~DEFAULTVAL~0)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume ~value~0 != ~DEFAULTVAL~0;call write~intINTTYPE4(~value~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 2bv32))), 4bv32); {2772#(and (= |main_~#a~0.offset| (_ bv0 32)) (not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32))) main_~DEFAULTVAL~0)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:29:57,464 INFO L273 TraceCheckUtils]: 16: Hoare triple {2772#(and (= |main_~#a~0.offset| (_ bv0 32)) (not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32))) main_~DEFAULTVAL~0)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} call #t~ret7 := ReadFromPort();~value~0 := #t~ret7;havoc #t~ret7; {2772#(and (= |main_~#a~0.offset| (_ bv0 32)) (not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32))) main_~DEFAULTVAL~0)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:29:57,466 INFO L273 TraceCheckUtils]: 17: Hoare triple {2772#(and (= |main_~#a~0.offset| (_ bv0 32)) (not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32))) main_~DEFAULTVAL~0)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume ~value~0 != ~DEFAULTVAL~0;call write~intINTTYPE4(~value~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 1bv32))), 4bv32); {2785#(and (= |main_~#a~0.offset| (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))))) (= main_~DEFAULTVAL~0 (_ bv0 32)))} is VALID [2018-11-23 10:29:57,466 INFO L273 TraceCheckUtils]: 18: Hoare triple {2785#(and (= |main_~#a~0.offset| (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))))) (= main_~DEFAULTVAL~0 (_ bv0 32)))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2785#(and (= |main_~#a~0.offset| (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))))) (= main_~DEFAULTVAL~0 (_ bv0 32)))} is VALID [2018-11-23 10:29:57,467 INFO L273 TraceCheckUtils]: 19: Hoare triple {2785#(and (= |main_~#a~0.offset| (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))))) (= main_~DEFAULTVAL~0 (_ bv0 32)))} assume !~bvsle32(~i~0, ~bvsdiv32(~SIZE~0, 5bv32)); {2785#(and (= |main_~#a~0.offset| (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))))) (= main_~DEFAULTVAL~0 (_ bv0 32)))} is VALID [2018-11-23 10:29:57,467 INFO L273 TraceCheckUtils]: 20: Hoare triple {2785#(and (= |main_~#a~0.offset| (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))))) (= main_~DEFAULTVAL~0 (_ bv0 32)))} ~i~0 := 0bv32; {2795#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))))) (= main_~DEFAULTVAL~0 (_ bv0 32)))} is VALID [2018-11-23 10:29:57,468 INFO L273 TraceCheckUtils]: 21: Hoare triple {2795#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))))) (= main_~DEFAULTVAL~0 (_ bv0 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem9 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2795#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))))) (= main_~DEFAULTVAL~0 (_ bv0 32)))} is VALID [2018-11-23 10:29:57,469 INFO L256 TraceCheckUtils]: 22: Hoare triple {2795#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))))) (= main_~DEFAULTVAL~0 (_ bv0 32)))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1bv32 else 0bv32)); {2802#(exists ((|v_main_~#a~0.base_BEFORE_CALL_3| (_ BitVec 32))) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) (_ bv8 32)) (_ bv0 32))))} is VALID [2018-11-23 10:29:57,470 INFO L273 TraceCheckUtils]: 23: Hoare triple {2802#(exists ((|v_main_~#a~0.base_BEFORE_CALL_3| (_ BitVec 32))) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) (_ bv8 32)) (_ bv0 32))))} ~cond := #in~cond; {2802#(exists ((|v_main_~#a~0.base_BEFORE_CALL_3| (_ BitVec 32))) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) (_ bv8 32)) (_ bv0 32))))} is VALID [2018-11-23 10:29:57,471 INFO L273 TraceCheckUtils]: 24: Hoare triple {2802#(exists ((|v_main_~#a~0.base_BEFORE_CALL_3| (_ BitVec 32))) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) (_ bv8 32)) (_ bv0 32))))} assume !(0bv32 == ~cond); {2802#(exists ((|v_main_~#a~0.base_BEFORE_CALL_3| (_ BitVec 32))) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) (_ bv8 32)) (_ bv0 32))))} is VALID [2018-11-23 10:29:57,471 INFO L273 TraceCheckUtils]: 25: Hoare triple {2802#(exists ((|v_main_~#a~0.base_BEFORE_CALL_3| (_ BitVec 32))) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) (_ bv8 32)) (_ bv0 32))))} assume true; {2802#(exists ((|v_main_~#a~0.base_BEFORE_CALL_3| (_ BitVec 32))) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) (_ bv8 32)) (_ bv0 32))))} is VALID [2018-11-23 10:29:57,472 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {2802#(exists ((|v_main_~#a~0.base_BEFORE_CALL_3| (_ BitVec 32))) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) (_ bv8 32)) (_ bv0 32))))} {2795#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))))) (= main_~DEFAULTVAL~0 (_ bv0 32)))} #97#return; {2795#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))))) (= main_~DEFAULTVAL~0 (_ bv0 32)))} is VALID [2018-11-23 10:29:57,473 INFO L273 TraceCheckUtils]: 27: Hoare triple {2795#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))))) (= main_~DEFAULTVAL~0 (_ bv0 32)))} havoc #t~mem9; {2795#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))))) (= main_~DEFAULTVAL~0 (_ bv0 32)))} is VALID [2018-11-23 10:29:57,475 INFO L273 TraceCheckUtils]: 28: Hoare triple {2795#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))))) (= main_~DEFAULTVAL~0 (_ bv0 32)))} #t~post8 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post8);havoc #t~post8; {2772#(and (= |main_~#a~0.offset| (_ bv0 32)) (not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32))) main_~DEFAULTVAL~0)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:29:57,477 INFO L273 TraceCheckUtils]: 29: Hoare triple {2772#(and (= |main_~#a~0.offset| (_ bv0 32)) (not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32))) main_~DEFAULTVAL~0)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem9 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2772#(and (= |main_~#a~0.offset| (_ bv0 32)) (not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32))) main_~DEFAULTVAL~0)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:29:57,479 INFO L256 TraceCheckUtils]: 30: Hoare triple {2772#(and (= |main_~#a~0.offset| (_ bv0 32)) (not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32))) main_~DEFAULTVAL~0)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1bv32 else 0bv32)); {2802#(exists ((|v_main_~#a~0.base_BEFORE_CALL_3| (_ BitVec 32))) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) (_ bv8 32)) (_ bv0 32))))} is VALID [2018-11-23 10:29:57,479 INFO L273 TraceCheckUtils]: 31: Hoare triple {2802#(exists ((|v_main_~#a~0.base_BEFORE_CALL_3| (_ BitVec 32))) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) (_ bv8 32)) (_ bv0 32))))} ~cond := #in~cond; {2802#(exists ((|v_main_~#a~0.base_BEFORE_CALL_3| (_ BitVec 32))) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) (_ bv8 32)) (_ bv0 32))))} is VALID [2018-11-23 10:29:57,479 INFO L273 TraceCheckUtils]: 32: Hoare triple {2802#(exists ((|v_main_~#a~0.base_BEFORE_CALL_3| (_ BitVec 32))) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) (_ bv8 32)) (_ bv0 32))))} assume !(0bv32 == ~cond); {2802#(exists ((|v_main_~#a~0.base_BEFORE_CALL_3| (_ BitVec 32))) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) (_ bv8 32)) (_ bv0 32))))} is VALID [2018-11-23 10:29:57,480 INFO L273 TraceCheckUtils]: 33: Hoare triple {2802#(exists ((|v_main_~#a~0.base_BEFORE_CALL_3| (_ BitVec 32))) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) (_ bv8 32)) (_ bv0 32))))} assume true; {2802#(exists ((|v_main_~#a~0.base_BEFORE_CALL_3| (_ BitVec 32))) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) (_ bv8 32)) (_ bv0 32))))} is VALID [2018-11-23 10:29:57,481 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {2802#(exists ((|v_main_~#a~0.base_BEFORE_CALL_3| (_ BitVec 32))) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) (_ bv8 32)) (_ bv0 32))))} {2772#(and (= |main_~#a~0.offset| (_ bv0 32)) (not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32))) main_~DEFAULTVAL~0)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} #97#return; {2772#(and (= |main_~#a~0.offset| (_ bv0 32)) (not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32))) main_~DEFAULTVAL~0)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:29:57,482 INFO L273 TraceCheckUtils]: 35: Hoare triple {2772#(and (= |main_~#a~0.offset| (_ bv0 32)) (not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32))) main_~DEFAULTVAL~0)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} havoc #t~mem9; {2772#(and (= |main_~#a~0.offset| (_ bv0 32)) (not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32))) main_~DEFAULTVAL~0)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:29:57,483 INFO L273 TraceCheckUtils]: 36: Hoare triple {2772#(and (= |main_~#a~0.offset| (_ bv0 32)) (not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32))) main_~DEFAULTVAL~0)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} #t~post8 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post8);havoc #t~post8; {2845#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967264 32))))) (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv2 32) main_~i~0) (= main_~DEFAULTVAL~0 (_ bv0 32)))} is VALID [2018-11-23 10:29:57,484 INFO L273 TraceCheckUtils]: 37: Hoare triple {2845#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967264 32))))) (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv2 32) main_~i~0) (= main_~DEFAULTVAL~0 (_ bv0 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem9 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2849#(and (not (= main_~DEFAULTVAL~0 |main_#t~mem9|)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} is VALID [2018-11-23 10:29:57,490 INFO L256 TraceCheckUtils]: 38: Hoare triple {2849#(and (not (= main_~DEFAULTVAL~0 |main_#t~mem9|)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1bv32 else 0bv32)); {2853#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:29:57,493 INFO L273 TraceCheckUtils]: 39: Hoare triple {2853#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} ~cond := #in~cond; {2857#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:29:57,496 INFO L273 TraceCheckUtils]: 40: Hoare triple {2857#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} assume 0bv32 == ~cond; {2727#false} is VALID [2018-11-23 10:29:57,496 INFO L273 TraceCheckUtils]: 41: Hoare triple {2727#false} assume !false; {2727#false} is VALID [2018-11-23 10:29:57,502 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 0 proven. 13 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 10:29:57,502 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:29:58,141 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 34 treesize of output 32 [2018-11-23 10:29:58,149 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 36 [2018-11-23 10:29:58,160 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:58,164 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 52 [2018-11-23 10:29:58,241 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:58,244 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 35 treesize of output 26 [2018-11-23 10:29:58,245 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 10:29:58,372 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:58,373 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:58,376 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:29:58,381 INFO L303 Elim1Store]: Index analysis took 129 ms [2018-11-23 10:29:58,388 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 0 new quantified variables, introduced 1 case distinctions, treesize of input 38 treesize of output 49 [2018-11-23 10:29:58,393 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 2 xjuncts. [2018-11-23 10:29:58,438 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 3 xjuncts. [2018-11-23 10:29:58,474 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 3 xjuncts. [2018-11-23 10:29:58,511 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 3 xjuncts. [2018-11-23 10:29:58,555 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-2 vars, End of recursive call: and 3 xjuncts. [2018-11-23 10:29:58,555 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 5 variables, input treesize:38, output treesize:55 [2018-11-23 10:29:58,564 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:29:58,564 WARN L384 uantifierElimination]: Input elimination task: ∀ [|#memory_int|, |main_~#a~0.base|, main_~value~0, v_subst_9, v_subst_8]. (or (not (= main_~DEFAULTVAL~0 (select (let ((.cse0 (bvmul (_ bv20 32) main_~i~0))) (store (store (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| .cse0 (_ bv4294967284 32)) main_~value~0) (bvadd |main_~#a~0.offset| .cse0 (_ bv4294967288 32)) v_subst_9) (bvadd |main_~#a~0.offset| .cse0 (_ bv4294967292 32)) v_subst_8)) (bvadd |main_~#a~0.offset| (_ bv8 32))))) (= main_~value~0 main_~DEFAULTVAL~0)) [2018-11-23 10:29:58,564 WARN L385 uantifierElimination]: ElimStorePlain result: ∀ []. (let ((.cse2 (bvadd |main_~#a~0.offset| (_ bv8 32))) (.cse3 (bvmul (_ bv20 32) main_~i~0))) (let ((.cse0 (= (bvadd .cse3 (_ bv4294967284 32)) (_ bv0 32))) (.cse1 (= (bvadd |main_~#a~0.offset| .cse3 (_ bv4294967284 32)) .cse2))) (and (or .cse0 .cse1) (not .cse0) (or .cse0 .cse1 (= .cse2 (bvadd |main_~#a~0.offset| .cse3 (_ bv4294967288 32))))))) [2018-11-23 10:29:58,640 INFO L273 TraceCheckUtils]: 41: Hoare triple {2727#false} assume !false; {2727#false} is VALID [2018-11-23 10:29:58,640 INFO L273 TraceCheckUtils]: 40: Hoare triple {2867#(not (= (_ bv0 32) __VERIFIER_assert_~cond))} assume 0bv32 == ~cond; {2727#false} is VALID [2018-11-23 10:29:58,641 INFO L273 TraceCheckUtils]: 39: Hoare triple {2871#(not (= |__VERIFIER_assert_#in~cond| (_ bv0 32)))} ~cond := #in~cond; {2867#(not (= (_ bv0 32) __VERIFIER_assert_~cond))} is VALID [2018-11-23 10:29:58,642 INFO L256 TraceCheckUtils]: 38: Hoare triple {2875#(not (= main_~DEFAULTVAL~0 |main_#t~mem9|))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1bv32 else 0bv32)); {2871#(not (= |__VERIFIER_assert_#in~cond| (_ bv0 32)))} is VALID [2018-11-23 10:29:58,643 INFO L273 TraceCheckUtils]: 37: Hoare triple {2879#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0)))))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem9 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2875#(not (= main_~DEFAULTVAL~0 |main_#t~mem9|))} is VALID [2018-11-23 10:29:58,829 INFO L273 TraceCheckUtils]: 36: Hoare triple {2883#(not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) main_~DEFAULTVAL~0))} #t~post8 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post8);havoc #t~post8; {2879#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0)))))} is VALID [2018-11-23 10:29:58,830 INFO L273 TraceCheckUtils]: 35: Hoare triple {2883#(not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) main_~DEFAULTVAL~0))} havoc #t~mem9; {2883#(not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) main_~DEFAULTVAL~0))} is VALID [2018-11-23 10:29:58,830 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {2726#true} {2883#(not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) main_~DEFAULTVAL~0))} #97#return; {2883#(not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) main_~DEFAULTVAL~0))} is VALID [2018-11-23 10:29:58,831 INFO L273 TraceCheckUtils]: 33: Hoare triple {2726#true} assume true; {2726#true} is VALID [2018-11-23 10:29:58,831 INFO L273 TraceCheckUtils]: 32: Hoare triple {2726#true} assume !(0bv32 == ~cond); {2726#true} is VALID [2018-11-23 10:29:58,831 INFO L273 TraceCheckUtils]: 31: Hoare triple {2726#true} ~cond := #in~cond; {2726#true} is VALID [2018-11-23 10:29:58,832 INFO L256 TraceCheckUtils]: 30: Hoare triple {2883#(not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) main_~DEFAULTVAL~0))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1bv32 else 0bv32)); {2726#true} is VALID [2018-11-23 10:29:58,832 INFO L273 TraceCheckUtils]: 29: Hoare triple {2883#(not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) main_~DEFAULTVAL~0))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem9 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2883#(not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) main_~DEFAULTVAL~0))} is VALID [2018-11-23 10:29:59,286 INFO L273 TraceCheckUtils]: 28: Hoare triple {2908#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv8 32)))))} #t~post8 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post8);havoc #t~post8; {2883#(not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) main_~DEFAULTVAL~0))} is VALID [2018-11-23 10:29:59,286 INFO L273 TraceCheckUtils]: 27: Hoare triple {2908#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv8 32)))))} havoc #t~mem9; {2908#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv8 32)))))} is VALID [2018-11-23 10:29:59,287 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {2726#true} {2908#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv8 32)))))} #97#return; {2908#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv8 32)))))} is VALID [2018-11-23 10:29:59,287 INFO L273 TraceCheckUtils]: 25: Hoare triple {2726#true} assume true; {2726#true} is VALID [2018-11-23 10:29:59,288 INFO L273 TraceCheckUtils]: 24: Hoare triple {2726#true} assume !(0bv32 == ~cond); {2726#true} is VALID [2018-11-23 10:29:59,288 INFO L273 TraceCheckUtils]: 23: Hoare triple {2726#true} ~cond := #in~cond; {2726#true} is VALID [2018-11-23 10:29:59,288 INFO L256 TraceCheckUtils]: 22: Hoare triple {2908#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv8 32)))))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1bv32 else 0bv32)); {2726#true} is VALID [2018-11-23 10:29:59,289 INFO L273 TraceCheckUtils]: 21: Hoare triple {2908#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv8 32)))))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem9 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2908#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv8 32)))))} is VALID [2018-11-23 10:29:59,289 INFO L273 TraceCheckUtils]: 20: Hoare triple {2933#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))))} ~i~0 := 0bv32; {2908#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv8 32)))))} is VALID [2018-11-23 10:29:59,290 INFO L273 TraceCheckUtils]: 19: Hoare triple {2933#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))))} assume !~bvsle32(~i~0, ~bvsdiv32(~SIZE~0, 5bv32)); {2933#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))))} is VALID [2018-11-23 10:29:59,290 INFO L273 TraceCheckUtils]: 18: Hoare triple {2933#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2933#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))))} is VALID [2018-11-23 10:29:59,305 INFO L273 TraceCheckUtils]: 17: Hoare triple {2943#(forall ((main_~value~0 (_ BitVec 32))) (not (= (select (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) main_~value~0) (bvadd |main_~#a~0.offset| (_ bv8 32))) main_~DEFAULTVAL~0)))} assume ~value~0 != ~DEFAULTVAL~0;call write~intINTTYPE4(~value~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 1bv32))), 4bv32); {2933#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))))} is VALID [2018-11-23 10:29:59,307 INFO L273 TraceCheckUtils]: 16: Hoare triple {2943#(forall ((main_~value~0 (_ BitVec 32))) (not (= (select (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) main_~value~0) (bvadd |main_~#a~0.offset| (_ bv8 32))) main_~DEFAULTVAL~0)))} call #t~ret7 := ReadFromPort();~value~0 := #t~ret7;havoc #t~ret7; {2943#(forall ((main_~value~0 (_ BitVec 32))) (not (= (select (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) main_~value~0) (bvadd |main_~#a~0.offset| (_ bv8 32))) main_~DEFAULTVAL~0)))} is VALID [2018-11-23 10:29:59,314 INFO L273 TraceCheckUtils]: 15: Hoare triple {2950#(forall ((main_~value~0 (_ BitVec 32)) (v_subst_8 (_ BitVec 32))) (not (= main_~DEFAULTVAL~0 (select (store (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32)) main_~value~0) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) v_subst_8) (bvadd |main_~#a~0.offset| (_ bv8 32))))))} assume ~value~0 != ~DEFAULTVAL~0;call write~intINTTYPE4(~value~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 2bv32))), 4bv32); {2943#(forall ((main_~value~0 (_ BitVec 32))) (not (= (select (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) main_~value~0) (bvadd |main_~#a~0.offset| (_ bv8 32))) main_~DEFAULTVAL~0)))} is VALID [2018-11-23 10:29:59,315 INFO L273 TraceCheckUtils]: 14: Hoare triple {2950#(forall ((main_~value~0 (_ BitVec 32)) (v_subst_8 (_ BitVec 32))) (not (= main_~DEFAULTVAL~0 (select (store (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32)) main_~value~0) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) v_subst_8) (bvadd |main_~#a~0.offset| (_ bv8 32))))))} call #t~ret6 := ReadFromPort();~value~0 := #t~ret6;havoc #t~ret6; {2950#(forall ((main_~value~0 (_ BitVec 32)) (v_subst_8 (_ BitVec 32))) (not (= main_~DEFAULTVAL~0 (select (store (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32)) main_~value~0) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) v_subst_8) (bvadd |main_~#a~0.offset| (_ bv8 32))))))} is VALID [2018-11-23 10:29:59,317 INFO L273 TraceCheckUtils]: 13: Hoare triple {2957#(= (bvadd (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32)) (_ bv0 32))} assume ~value~0 != ~DEFAULTVAL~0;call write~intINTTYPE4(~value~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 3bv32))), 4bv32); {2950#(forall ((main_~value~0 (_ BitVec 32)) (v_subst_8 (_ BitVec 32))) (not (= main_~DEFAULTVAL~0 (select (store (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32)) main_~value~0) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) v_subst_8) (bvadd |main_~#a~0.offset| (_ bv8 32))))))} is VALID [2018-11-23 10:29:59,317 INFO L273 TraceCheckUtils]: 12: Hoare triple {2957#(= (bvadd (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32)) (_ bv0 32))} call #t~ret5 := ReadFromPort();~value~0 := #t~ret5;havoc #t~ret5; {2957#(= (bvadd (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32)) (_ bv0 32))} is VALID [2018-11-23 10:29:59,318 INFO L273 TraceCheckUtils]: 11: Hoare triple {2957#(= (bvadd (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32)) (_ bv0 32))} assume !(~value~0 != ~DEFAULTVAL~0);call write~intINTTYPE4(~FIXEDVAL~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 4bv32))), 4bv32); {2957#(= (bvadd (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32)) (_ bv0 32))} is VALID [2018-11-23 10:29:59,318 INFO L273 TraceCheckUtils]: 10: Hoare triple {2957#(= (bvadd (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32)) (_ bv0 32))} call #t~ret4 := ReadFromPort();~value~0 := #t~ret4;havoc #t~ret4; {2957#(= (bvadd (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32)) (_ bv0 32))} is VALID [2018-11-23 10:29:59,318 INFO L273 TraceCheckUtils]: 9: Hoare triple {2957#(= (bvadd (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32)) (_ bv0 32))} assume ~value~0 != ~DEFAULTVAL~0;call write~intINTTYPE4(~value~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 5bv32))), 4bv32); {2957#(= (bvadd (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32)) (_ bv0 32))} is VALID [2018-11-23 10:29:59,319 INFO L273 TraceCheckUtils]: 8: Hoare triple {2957#(= (bvadd (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32)) (_ bv0 32))} assume !!~bvsle32(~i~0, ~bvsdiv32(~SIZE~0, 5bv32));call #t~ret3 := ReadFromPort();~value~0 := #t~ret3;havoc #t~ret3; {2957#(= (bvadd (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32)) (_ bv0 32))} is VALID [2018-11-23 10:29:59,320 INFO L273 TraceCheckUtils]: 7: Hoare triple {2726#true} assume !(0bv32 != ~bvsrem32(~SIZE~0, 5bv32));assume 0bv32 != (if 0bv32 == ~bvsrem32(~SIZE~0, 5bv32) then 1bv32 else 0bv32);~i~0 := 1bv32; {2957#(= (bvadd (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32)) (_ bv0 32))} is VALID [2018-11-23 10:29:59,320 INFO L273 TraceCheckUtils]: 6: Hoare triple {2726#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;havoc ~value~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~DEFAULTVAL~0 := 0bv32;~FIXEDVAL~0 := 10bv32; {2726#true} is VALID [2018-11-23 10:29:59,320 INFO L273 TraceCheckUtils]: 5: Hoare triple {2726#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {2726#true} is VALID [2018-11-23 10:29:59,321 INFO L256 TraceCheckUtils]: 4: Hoare triple {2726#true} call #t~ret10 := main(); {2726#true} is VALID [2018-11-23 10:29:59,321 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2726#true} {2726#true} #93#return; {2726#true} is VALID [2018-11-23 10:29:59,321 INFO L273 TraceCheckUtils]: 2: Hoare triple {2726#true} assume true; {2726#true} is VALID [2018-11-23 10:29:59,321 INFO L273 TraceCheckUtils]: 1: Hoare triple {2726#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {2726#true} is VALID [2018-11-23 10:29:59,322 INFO L256 TraceCheckUtils]: 0: Hoare triple {2726#true} call ULTIMATE.init(); {2726#true} is VALID [2018-11-23 10:29:59,326 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 4 proven. 9 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 10:29:59,328 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:29:59,328 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 22 [2018-11-23 10:29:59,329 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 42 [2018-11-23 10:29:59,330 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:29:59,330 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states. [2018-11-23 10:30:00,115 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:30:00,115 INFO L459 AbstractCegarLoop]: Interpolant automaton has 22 states [2018-11-23 10:30:00,116 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2018-11-23 10:30:00,116 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=75, Invalid=387, Unknown=0, NotChecked=0, Total=462 [2018-11-23 10:30:00,116 INFO L87 Difference]: Start difference. First operand 45 states and 51 transitions. Second operand 22 states. [2018-11-23 10:31:34,456 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:31:34,456 INFO L93 Difference]: Finished difference Result 205 states and 268 transitions. [2018-11-23 10:31:34,456 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 25 states. [2018-11-23 10:31:34,456 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 42 [2018-11-23 10:31:34,457 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:31:34,457 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2018-11-23 10:31:34,461 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 248 transitions. [2018-11-23 10:31:34,461 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2018-11-23 10:31:34,466 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 248 transitions. [2018-11-23 10:31:34,466 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 25 states and 248 transitions. [2018-11-23 10:31:35,399 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 248 edges. 248 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:31:35,403 INFO L225 Difference]: With dead ends: 205 [2018-11-23 10:31:35,403 INFO L226 Difference]: Without dead ends: 203 [2018-11-23 10:31:35,404 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 98 GetRequests, 59 SyntacticMatches, 4 SemanticMatches, 35 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 303 ImplicationChecksByTransitivity, 1.4s TimeCoverageRelationStatistics Valid=236, Invalid=1096, Unknown=0, NotChecked=0, Total=1332 [2018-11-23 10:31:35,404 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 203 states. [2018-11-23 10:31:35,630 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 203 to 96. [2018-11-23 10:31:35,631 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:31:35,631 INFO L82 GeneralOperation]: Start isEquivalent. First operand 203 states. Second operand 96 states. [2018-11-23 10:31:35,631 INFO L74 IsIncluded]: Start isIncluded. First operand 203 states. Second operand 96 states. [2018-11-23 10:31:35,632 INFO L87 Difference]: Start difference. First operand 203 states. Second operand 96 states. [2018-11-23 10:31:35,639 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:31:35,639 INFO L93 Difference]: Finished difference Result 203 states and 266 transitions. [2018-11-23 10:31:35,639 INFO L276 IsEmpty]: Start isEmpty. Operand 203 states and 266 transitions. [2018-11-23 10:31:35,640 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:31:35,640 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:31:35,640 INFO L74 IsIncluded]: Start isIncluded. First operand 96 states. Second operand 203 states. [2018-11-23 10:31:35,640 INFO L87 Difference]: Start difference. First operand 96 states. Second operand 203 states. [2018-11-23 10:31:35,647 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:31:35,648 INFO L93 Difference]: Finished difference Result 203 states and 266 transitions. [2018-11-23 10:31:35,648 INFO L276 IsEmpty]: Start isEmpty. Operand 203 states and 266 transitions. [2018-11-23 10:31:35,648 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:31:35,649 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:31:35,649 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:31:35,649 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:31:35,649 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 96 states. [2018-11-23 10:31:35,652 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 96 states to 96 states and 125 transitions. [2018-11-23 10:31:35,652 INFO L78 Accepts]: Start accepts. Automaton has 96 states and 125 transitions. Word has length 42 [2018-11-23 10:31:35,653 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:31:35,653 INFO L480 AbstractCegarLoop]: Abstraction has 96 states and 125 transitions. [2018-11-23 10:31:35,653 INFO L481 AbstractCegarLoop]: Interpolant automaton has 22 states. [2018-11-23 10:31:35,653 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 125 transitions. [2018-11-23 10:31:35,654 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2018-11-23 10:31:35,654 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:31:35,654 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:31:35,654 INFO L423 AbstractCegarLoop]: === Iteration 6 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:31:35,654 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:31:35,655 INFO L82 PathProgramCache]: Analyzing trace with hash 546870811, now seen corresponding path program 1 times [2018-11-23 10:31:35,655 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:31:35,655 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 10:31:35,680 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 10:31:35,938 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:31:35,998 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:31:36,000 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:31:36,355 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 16 treesize of output 13 [2018-11-23 10:31:36,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, 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 12 [2018-11-23 10:31:36,361 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:31:36,364 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:31:36,379 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:31:36,380 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:28, output treesize:24 [2018-11-23 10:31:36,429 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 31 treesize of output 26 [2018-11-23 10:31:36,437 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:31:36,441 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 26 treesize of output 41 [2018-11-23 10:31:36,444 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:31:36,453 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:31:36,476 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 10:31:36,477 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:42, output treesize:26 [2018-11-23 10:31:36,490 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:31:36,491 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_62|, main_~value~0]. (let ((.cse0 (select |v_#memory_int_62| |main_~#a~0.base|)) (.cse1 (bvmul (_ bv20 32) main_~i~0))) (and (= |#memory_int| (store |v_#memory_int_62| |main_~#a~0.base| (store .cse0 (bvadd |main_~#a~0.offset| .cse1 (_ bv4294967288 32)) main_~value~0))) (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv0 32) (bvadd (select .cse0 (bvadd |main_~#a~0.offset| .cse1 (_ bv4294967284 32))) (_ bv4294967286 32))) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))) [2018-11-23 10:31:36,491 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv0 32) (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32))) (_ bv4294967286 32))) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))) [2018-11-23 10:31:36,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, 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 20 [2018-11-23 10:31:36,533 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:31:36,536 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 20 treesize of output 29 [2018-11-23 10:31:36,538 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:31:36,548 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:31:36,563 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 10:31:36,564 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:31, output treesize:18 [2018-11-23 10:31:36,573 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:31:36,573 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_63|, main_~value~0]. (let ((.cse0 (select |v_#memory_int_63| |main_~#a~0.base|))) (and (= (store |v_#memory_int_63| |main_~#a~0.base| (store .cse0 (bvadd |main_~#a~0.offset| (_ bv16 32)) main_~value~0)) |#memory_int|) (= (bvadd (select .cse0 (bvadd |main_~#a~0.offset| (_ bv8 32))) (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))) [2018-11-23 10:31:36,573 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (_ bv0 32) (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))) (_ bv4294967286 32))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32))) [2018-11-23 10:31:37,290 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 10:31:37,294 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 10:31:37,295 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:31:37,298 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:31:37,303 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 10:31:37,303 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:18, output treesize:7 [2018-11-23 10:31:37,307 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:31:37,308 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|]. (let ((.cse0 (select (select |#memory_int| |main_~#a~0.base|) (_ bv8 32)))) (and (= (_ bv10 32) .cse0) (= |main_#t~mem9| .cse0) (= main_~DEFAULTVAL~0 (_ bv0 32)))) [2018-11-23 10:31:37,308 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (_ bv10 32) |main_#t~mem9|) (= main_~DEFAULTVAL~0 (_ bv0 32))) [2018-11-23 10:31:37,364 INFO L256 TraceCheckUtils]: 0: Hoare triple {3792#true} call ULTIMATE.init(); {3792#true} is VALID [2018-11-23 10:31:37,364 INFO L273 TraceCheckUtils]: 1: Hoare triple {3792#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {3792#true} is VALID [2018-11-23 10:31:37,364 INFO L273 TraceCheckUtils]: 2: Hoare triple {3792#true} assume true; {3792#true} is VALID [2018-11-23 10:31:37,364 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3792#true} {3792#true} #93#return; {3792#true} is VALID [2018-11-23 10:31:37,365 INFO L256 TraceCheckUtils]: 4: Hoare triple {3792#true} call #t~ret10 := main(); {3792#true} is VALID [2018-11-23 10:31:37,365 INFO L273 TraceCheckUtils]: 5: Hoare triple {3792#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {3792#true} is VALID [2018-11-23 10:31:37,366 INFO L273 TraceCheckUtils]: 6: Hoare triple {3792#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;havoc ~value~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~DEFAULTVAL~0 := 0bv32;~FIXEDVAL~0 := 10bv32; {3815#(and (= (bvadd main_~FIXEDVAL~0 (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} is VALID [2018-11-23 10:31:37,367 INFO L273 TraceCheckUtils]: 7: Hoare triple {3815#(and (= (bvadd main_~FIXEDVAL~0 (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} assume !(0bv32 != ~bvsrem32(~SIZE~0, 5bv32));assume 0bv32 != (if 0bv32 == ~bvsrem32(~SIZE~0, 5bv32) then 1bv32 else 0bv32);~i~0 := 1bv32; {3819#(and (= (bvadd main_~FIXEDVAL~0 (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:31:37,367 INFO L273 TraceCheckUtils]: 8: Hoare triple {3819#(and (= (bvadd main_~FIXEDVAL~0 (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume !!~bvsle32(~i~0, ~bvsdiv32(~SIZE~0, 5bv32));call #t~ret3 := ReadFromPort();~value~0 := #t~ret3;havoc #t~ret3; {3819#(and (= (bvadd main_~FIXEDVAL~0 (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:31:37,368 INFO L273 TraceCheckUtils]: 9: Hoare triple {3819#(and (= (bvadd main_~FIXEDVAL~0 (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume ~value~0 != ~DEFAULTVAL~0;call write~intINTTYPE4(~value~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 5bv32))), 4bv32); {3819#(and (= (bvadd main_~FIXEDVAL~0 (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:31:37,368 INFO L273 TraceCheckUtils]: 10: Hoare triple {3819#(and (= (bvadd main_~FIXEDVAL~0 (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} call #t~ret4 := ReadFromPort();~value~0 := #t~ret4;havoc #t~ret4; {3819#(and (= (bvadd main_~FIXEDVAL~0 (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:31:37,369 INFO L273 TraceCheckUtils]: 11: Hoare triple {3819#(and (= (bvadd main_~FIXEDVAL~0 (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume !(~value~0 != ~DEFAULTVAL~0);call write~intINTTYPE4(~FIXEDVAL~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 4bv32))), 4bv32); {3819#(and (= (bvadd main_~FIXEDVAL~0 (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:31:37,369 INFO L273 TraceCheckUtils]: 12: Hoare triple {3819#(and (= (bvadd main_~FIXEDVAL~0 (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} call #t~ret5 := ReadFromPort();~value~0 := #t~ret5;havoc #t~ret5; {3819#(and (= (bvadd main_~FIXEDVAL~0 (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:31:37,371 INFO L273 TraceCheckUtils]: 13: Hoare triple {3819#(and (= (bvadd main_~FIXEDVAL~0 (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume !(~value~0 != ~DEFAULTVAL~0);call write~intINTTYPE4(~FIXEDVAL~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 3bv32))), 4bv32); {3838#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32))) (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:31:37,372 INFO L273 TraceCheckUtils]: 14: Hoare triple {3838#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32))) (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} call #t~ret6 := ReadFromPort();~value~0 := #t~ret6;havoc #t~ret6; {3838#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32))) (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:31:37,374 INFO L273 TraceCheckUtils]: 15: Hoare triple {3838#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32))) (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume ~value~0 != ~DEFAULTVAL~0;call write~intINTTYPE4(~value~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 2bv32))), 4bv32); {3838#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32))) (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:31:37,375 INFO L273 TraceCheckUtils]: 16: Hoare triple {3838#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32))) (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} call #t~ret7 := ReadFromPort();~value~0 := #t~ret7;havoc #t~ret7; {3838#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32))) (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:31:37,377 INFO L273 TraceCheckUtils]: 17: Hoare triple {3838#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32))) (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume ~value~0 != ~DEFAULTVAL~0;call write~intINTTYPE4(~value~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 1bv32))), 4bv32); {3851#(and (= (_ bv10 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} is VALID [2018-11-23 10:31:37,378 INFO L273 TraceCheckUtils]: 18: Hoare triple {3851#(and (= (_ bv10 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {3851#(and (= (_ bv10 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} is VALID [2018-11-23 10:31:37,394 INFO L273 TraceCheckUtils]: 19: Hoare triple {3851#(and (= (_ bv10 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} assume !~bvsle32(~i~0, ~bvsdiv32(~SIZE~0, 5bv32)); {3851#(and (= (_ bv10 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} is VALID [2018-11-23 10:31:37,395 INFO L273 TraceCheckUtils]: 20: Hoare triple {3851#(and (= (_ bv10 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} ~i~0 := 0bv32; {3861#(and (= (_ bv10 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} is VALID [2018-11-23 10:31:37,396 INFO L273 TraceCheckUtils]: 21: Hoare triple {3861#(and (= (_ bv10 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem9 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3861#(and (= (_ bv10 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} is VALID [2018-11-23 10:31:37,397 INFO L256 TraceCheckUtils]: 22: Hoare triple {3861#(and (= (_ bv10 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1bv32 else 0bv32)); {3868#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (_ bv8 32)) (_ bv4294967286 32)) (_ bv0 32)))} is VALID [2018-11-23 10:31:37,397 INFO L273 TraceCheckUtils]: 23: Hoare triple {3868#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (_ bv8 32)) (_ bv4294967286 32)) (_ bv0 32)))} ~cond := #in~cond; {3868#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (_ bv8 32)) (_ bv4294967286 32)) (_ bv0 32)))} is VALID [2018-11-23 10:31:37,398 INFO L273 TraceCheckUtils]: 24: Hoare triple {3868#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (_ bv8 32)) (_ bv4294967286 32)) (_ bv0 32)))} assume !(0bv32 == ~cond); {3868#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (_ bv8 32)) (_ bv4294967286 32)) (_ bv0 32)))} is VALID [2018-11-23 10:31:37,398 INFO L273 TraceCheckUtils]: 25: Hoare triple {3868#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (_ bv8 32)) (_ bv4294967286 32)) (_ bv0 32)))} assume true; {3868#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (_ bv8 32)) (_ bv4294967286 32)) (_ bv0 32)))} is VALID [2018-11-23 10:31:37,399 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {3868#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (_ bv8 32)) (_ bv4294967286 32)) (_ bv0 32)))} {3861#(and (= (_ bv10 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} #97#return; {3861#(and (= (_ bv10 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} is VALID [2018-11-23 10:31:37,400 INFO L273 TraceCheckUtils]: 27: Hoare triple {3861#(and (= (_ bv10 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} havoc #t~mem9; {3861#(and (= (_ bv10 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} is VALID [2018-11-23 10:31:37,401 INFO L273 TraceCheckUtils]: 28: Hoare triple {3861#(and (= (_ bv10 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} #t~post8 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post8);havoc #t~post8; {3838#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32))) (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:31:37,402 INFO L273 TraceCheckUtils]: 29: Hoare triple {3838#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32))) (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem9 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3838#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32))) (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:31:37,404 INFO L256 TraceCheckUtils]: 30: Hoare triple {3838#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32))) (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1bv32 else 0bv32)); {3868#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (_ bv8 32)) (_ bv4294967286 32)) (_ bv0 32)))} is VALID [2018-11-23 10:31:37,405 INFO L273 TraceCheckUtils]: 31: Hoare triple {3868#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (_ bv8 32)) (_ bv4294967286 32)) (_ bv0 32)))} ~cond := #in~cond; {3868#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (_ bv8 32)) (_ bv4294967286 32)) (_ bv0 32)))} is VALID [2018-11-23 10:31:37,405 INFO L273 TraceCheckUtils]: 32: Hoare triple {3868#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (_ bv8 32)) (_ bv4294967286 32)) (_ bv0 32)))} assume !(0bv32 == ~cond); {3868#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (_ bv8 32)) (_ bv4294967286 32)) (_ bv0 32)))} is VALID [2018-11-23 10:31:37,406 INFO L273 TraceCheckUtils]: 33: Hoare triple {3868#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (_ bv8 32)) (_ bv4294967286 32)) (_ bv0 32)))} assume true; {3868#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (_ bv8 32)) (_ bv4294967286 32)) (_ bv0 32)))} is VALID [2018-11-23 10:31:37,406 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {3868#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (_ bv8 32)) (_ bv4294967286 32)) (_ bv0 32)))} {3838#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32))) (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} #97#return; {3838#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32))) (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:31:37,407 INFO L273 TraceCheckUtils]: 35: Hoare triple {3838#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32))) (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} havoc #t~mem9; {3838#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32))) (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:31:37,409 INFO L273 TraceCheckUtils]: 36: Hoare triple {3838#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967284 32))) (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} #t~post8 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post8);havoc #t~post8; {3911#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967264 32))) (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv2 32) main_~i~0) (= main_~DEFAULTVAL~0 (_ bv0 32)))} is VALID [2018-11-23 10:31:37,411 INFO L273 TraceCheckUtils]: 37: Hoare triple {3911#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967264 32))) (_ bv4294967286 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv2 32) main_~i~0) (= main_~DEFAULTVAL~0 (_ bv0 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem9 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3915#(and (= (_ bv10 32) |main_#t~mem9|) (= main_~DEFAULTVAL~0 (_ bv0 32)))} is VALID [2018-11-23 10:31:37,412 INFO L256 TraceCheckUtils]: 38: Hoare triple {3915#(and (= (_ bv10 32) |main_#t~mem9|) (= main_~DEFAULTVAL~0 (_ bv0 32)))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1bv32 else 0bv32)); {3919#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:31:37,413 INFO L273 TraceCheckUtils]: 39: Hoare triple {3919#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} ~cond := #in~cond; {3923#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:31:37,413 INFO L273 TraceCheckUtils]: 40: Hoare triple {3923#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} assume 0bv32 == ~cond; {3793#false} is VALID [2018-11-23 10:31:37,413 INFO L273 TraceCheckUtils]: 41: Hoare triple {3793#false} assume !false; {3793#false} is VALID [2018-11-23 10:31:37,420 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 0 proven. 13 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 10:31:37,420 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:31:37,942 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 34 treesize of output 32 [2018-11-23 10:31:37,949 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 36 [2018-11-23 10:31:37,959 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:31:37,962 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 52 [2018-11-23 10:31:38,044 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:31:38,047 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 35 treesize of output 26 [2018-11-23 10:31:38,049 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 10:31:38,064 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:31:38,091 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 2 case distinctions, treesize of input 38 treesize of output 51 [2018-11-23 10:31:38,096 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 4 xjuncts. [2018-11-23 10:31:38,158 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 4 xjuncts. [2018-11-23 10:31:38,208 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 4 xjuncts. [2018-11-23 10:31:38,255 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 4 xjuncts. [2018-11-23 10:31:38,299 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-2 vars, End of recursive call: and 4 xjuncts. [2018-11-23 10:31:38,299 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:34, output treesize:77 [2018-11-23 10:31:38,306 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:31:38,306 WARN L384 uantifierElimination]: Input elimination task: ∀ [|#memory_int|, |main_~#a~0.base|, main_~value~0, v_subst_10]. (not (= main_~DEFAULTVAL~0 (select (let ((.cse0 (bvmul (_ bv20 32) main_~i~0))) (store (store (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| .cse0 (_ bv4294967284 32)) main_~FIXEDVAL~0) (bvadd |main_~#a~0.offset| .cse0 (_ bv4294967288 32)) main_~value~0) (bvadd |main_~#a~0.offset| .cse0 (_ bv4294967292 32)) v_subst_10)) (bvadd |main_~#a~0.offset| (_ bv8 32))))) [2018-11-23 10:31:38,306 WARN L385 uantifierElimination]: ElimStorePlain result: ∀ []. (let ((.cse3 (bvadd |main_~#a~0.offset| (_ bv8 32))) (.cse4 (bvmul (_ bv20 32) main_~i~0))) (let ((.cse0 (= (bvadd .cse4 (_ bv4294967284 32)) (_ bv0 32))) (.cse1 (= (bvadd |main_~#a~0.offset| .cse4 (_ bv4294967284 32)) .cse3)) (.cse2 (= .cse3 (bvadd |main_~#a~0.offset| .cse4 (_ bv4294967288 32))))) (and (or .cse0 .cse1) (or .cse0 .cse2 (not (= main_~DEFAULTVAL~0 main_~FIXEDVAL~0))) (not .cse0) (or .cse0 .cse1 .cse2)))) [2018-11-23 10:31:38,424 INFO L273 TraceCheckUtils]: 41: Hoare triple {3793#false} assume !false; {3793#false} is VALID [2018-11-23 10:31:38,425 INFO L273 TraceCheckUtils]: 40: Hoare triple {3933#(not (= (_ bv0 32) __VERIFIER_assert_~cond))} assume 0bv32 == ~cond; {3793#false} is VALID [2018-11-23 10:31:38,425 INFO L273 TraceCheckUtils]: 39: Hoare triple {3937#(not (= |__VERIFIER_assert_#in~cond| (_ bv0 32)))} ~cond := #in~cond; {3933#(not (= (_ bv0 32) __VERIFIER_assert_~cond))} is VALID [2018-11-23 10:31:38,427 INFO L256 TraceCheckUtils]: 38: Hoare triple {3941#(not (= main_~DEFAULTVAL~0 |main_#t~mem9|))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1bv32 else 0bv32)); {3937#(not (= |__VERIFIER_assert_#in~cond| (_ bv0 32)))} is VALID [2018-11-23 10:31:38,427 INFO L273 TraceCheckUtils]: 37: Hoare triple {3945#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0)))))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem9 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3941#(not (= main_~DEFAULTVAL~0 |main_#t~mem9|))} is VALID [2018-11-23 10:31:38,643 INFO L273 TraceCheckUtils]: 36: Hoare triple {3949#(not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) main_~DEFAULTVAL~0))} #t~post8 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post8);havoc #t~post8; {3945#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0)))))} is VALID [2018-11-23 10:31:38,644 INFO L273 TraceCheckUtils]: 35: Hoare triple {3949#(not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) main_~DEFAULTVAL~0))} havoc #t~mem9; {3949#(not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) main_~DEFAULTVAL~0))} is VALID [2018-11-23 10:31:38,645 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {3792#true} {3949#(not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) main_~DEFAULTVAL~0))} #97#return; {3949#(not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) main_~DEFAULTVAL~0))} is VALID [2018-11-23 10:31:38,645 INFO L273 TraceCheckUtils]: 33: Hoare triple {3792#true} assume true; {3792#true} is VALID [2018-11-23 10:31:38,645 INFO L273 TraceCheckUtils]: 32: Hoare triple {3792#true} assume !(0bv32 == ~cond); {3792#true} is VALID [2018-11-23 10:31:38,646 INFO L273 TraceCheckUtils]: 31: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2018-11-23 10:31:38,646 INFO L256 TraceCheckUtils]: 30: Hoare triple {3949#(not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) main_~DEFAULTVAL~0))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1bv32 else 0bv32)); {3792#true} is VALID [2018-11-23 10:31:38,646 INFO L273 TraceCheckUtils]: 29: Hoare triple {3949#(not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) main_~DEFAULTVAL~0))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem9 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3949#(not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) main_~DEFAULTVAL~0))} is VALID [2018-11-23 10:31:38,963 INFO L273 TraceCheckUtils]: 28: Hoare triple {3974#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv8 32)))))} #t~post8 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post8);havoc #t~post8; {3949#(not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) main_~DEFAULTVAL~0))} is VALID [2018-11-23 10:31:38,963 INFO L273 TraceCheckUtils]: 27: Hoare triple {3974#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv8 32)))))} havoc #t~mem9; {3974#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv8 32)))))} is VALID [2018-11-23 10:31:38,964 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {3792#true} {3974#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv8 32)))))} #97#return; {3974#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv8 32)))))} is VALID [2018-11-23 10:31:38,964 INFO L273 TraceCheckUtils]: 25: Hoare triple {3792#true} assume true; {3792#true} is VALID [2018-11-23 10:31:38,964 INFO L273 TraceCheckUtils]: 24: Hoare triple {3792#true} assume !(0bv32 == ~cond); {3792#true} is VALID [2018-11-23 10:31:38,964 INFO L273 TraceCheckUtils]: 23: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2018-11-23 10:31:38,964 INFO L256 TraceCheckUtils]: 22: Hoare triple {3974#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv8 32)))))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1bv32 else 0bv32)); {3792#true} is VALID [2018-11-23 10:31:38,965 INFO L273 TraceCheckUtils]: 21: Hoare triple {3974#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv8 32)))))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem9 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3974#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv8 32)))))} is VALID [2018-11-23 10:31:38,965 INFO L273 TraceCheckUtils]: 20: Hoare triple {3999#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))))} ~i~0 := 0bv32; {3974#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv8 32)))))} is VALID [2018-11-23 10:31:38,966 INFO L273 TraceCheckUtils]: 19: Hoare triple {3999#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))))} assume !~bvsle32(~i~0, ~bvsdiv32(~SIZE~0, 5bv32)); {3999#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))))} is VALID [2018-11-23 10:31:38,966 INFO L273 TraceCheckUtils]: 18: Hoare triple {3999#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {3999#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))))} is VALID [2018-11-23 10:31:38,981 INFO L273 TraceCheckUtils]: 17: Hoare triple {4009#(forall ((main_~value~0 (_ BitVec 32))) (not (= (select (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) main_~value~0) (bvadd |main_~#a~0.offset| (_ bv8 32))) main_~DEFAULTVAL~0)))} assume ~value~0 != ~DEFAULTVAL~0;call write~intINTTYPE4(~value~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 1bv32))), 4bv32); {3999#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))))} is VALID [2018-11-23 10:31:38,981 INFO L273 TraceCheckUtils]: 16: Hoare triple {4009#(forall ((main_~value~0 (_ BitVec 32))) (not (= (select (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) main_~value~0) (bvadd |main_~#a~0.offset| (_ bv8 32))) main_~DEFAULTVAL~0)))} call #t~ret7 := ReadFromPort();~value~0 := #t~ret7;havoc #t~ret7; {4009#(forall ((main_~value~0 (_ BitVec 32))) (not (= (select (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) main_~value~0) (bvadd |main_~#a~0.offset| (_ bv8 32))) main_~DEFAULTVAL~0)))} is VALID [2018-11-23 10:31:38,988 INFO L273 TraceCheckUtils]: 15: Hoare triple {4016#(forall ((main_~value~0 (_ BitVec 32)) (v_subst_10 (_ BitVec 32))) (not (= main_~DEFAULTVAL~0 (select (store (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32)) main_~value~0) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) v_subst_10) (bvadd |main_~#a~0.offset| (_ bv8 32))))))} assume ~value~0 != ~DEFAULTVAL~0;call write~intINTTYPE4(~value~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 2bv32))), 4bv32); {4009#(forall ((main_~value~0 (_ BitVec 32))) (not (= (select (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) main_~value~0) (bvadd |main_~#a~0.offset| (_ bv8 32))) main_~DEFAULTVAL~0)))} is VALID [2018-11-23 10:31:38,988 INFO L273 TraceCheckUtils]: 14: Hoare triple {4016#(forall ((main_~value~0 (_ BitVec 32)) (v_subst_10 (_ BitVec 32))) (not (= main_~DEFAULTVAL~0 (select (store (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32)) main_~value~0) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) v_subst_10) (bvadd |main_~#a~0.offset| (_ bv8 32))))))} call #t~ret6 := ReadFromPort();~value~0 := #t~ret6;havoc #t~ret6; {4016#(forall ((main_~value~0 (_ BitVec 32)) (v_subst_10 (_ BitVec 32))) (not (= main_~DEFAULTVAL~0 (select (store (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32)) main_~value~0) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) v_subst_10) (bvadd |main_~#a~0.offset| (_ bv8 32))))))} is VALID [2018-11-23 10:31:38,990 INFO L273 TraceCheckUtils]: 13: Hoare triple {4023#(and (= (bvadd (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32)) (_ bv0 32)) (not (= main_~DEFAULTVAL~0 main_~FIXEDVAL~0)))} assume !(~value~0 != ~DEFAULTVAL~0);call write~intINTTYPE4(~FIXEDVAL~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 3bv32))), 4bv32); {4016#(forall ((main_~value~0 (_ BitVec 32)) (v_subst_10 (_ BitVec 32))) (not (= main_~DEFAULTVAL~0 (select (store (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32)) main_~value~0) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) v_subst_10) (bvadd |main_~#a~0.offset| (_ bv8 32))))))} is VALID [2018-11-23 10:31:38,990 INFO L273 TraceCheckUtils]: 12: Hoare triple {4023#(and (= (bvadd (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32)) (_ bv0 32)) (not (= main_~DEFAULTVAL~0 main_~FIXEDVAL~0)))} call #t~ret5 := ReadFromPort();~value~0 := #t~ret5;havoc #t~ret5; {4023#(and (= (bvadd (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32)) (_ bv0 32)) (not (= main_~DEFAULTVAL~0 main_~FIXEDVAL~0)))} is VALID [2018-11-23 10:31:38,991 INFO L273 TraceCheckUtils]: 11: Hoare triple {4023#(and (= (bvadd (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32)) (_ bv0 32)) (not (= main_~DEFAULTVAL~0 main_~FIXEDVAL~0)))} assume !(~value~0 != ~DEFAULTVAL~0);call write~intINTTYPE4(~FIXEDVAL~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 4bv32))), 4bv32); {4023#(and (= (bvadd (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32)) (_ bv0 32)) (not (= main_~DEFAULTVAL~0 main_~FIXEDVAL~0)))} is VALID [2018-11-23 10:31:38,991 INFO L273 TraceCheckUtils]: 10: Hoare triple {4023#(and (= (bvadd (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32)) (_ bv0 32)) (not (= main_~DEFAULTVAL~0 main_~FIXEDVAL~0)))} call #t~ret4 := ReadFromPort();~value~0 := #t~ret4;havoc #t~ret4; {4023#(and (= (bvadd (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32)) (_ bv0 32)) (not (= main_~DEFAULTVAL~0 main_~FIXEDVAL~0)))} is VALID [2018-11-23 10:31:38,992 INFO L273 TraceCheckUtils]: 9: Hoare triple {4023#(and (= (bvadd (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32)) (_ bv0 32)) (not (= main_~DEFAULTVAL~0 main_~FIXEDVAL~0)))} assume ~value~0 != ~DEFAULTVAL~0;call write~intINTTYPE4(~value~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 5bv32))), 4bv32); {4023#(and (= (bvadd (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32)) (_ bv0 32)) (not (= main_~DEFAULTVAL~0 main_~FIXEDVAL~0)))} is VALID [2018-11-23 10:31:38,992 INFO L273 TraceCheckUtils]: 8: Hoare triple {4023#(and (= (bvadd (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32)) (_ bv0 32)) (not (= main_~DEFAULTVAL~0 main_~FIXEDVAL~0)))} assume !!~bvsle32(~i~0, ~bvsdiv32(~SIZE~0, 5bv32));call #t~ret3 := ReadFromPort();~value~0 := #t~ret3;havoc #t~ret3; {4023#(and (= (bvadd (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32)) (_ bv0 32)) (not (= main_~DEFAULTVAL~0 main_~FIXEDVAL~0)))} is VALID [2018-11-23 10:31:38,993 INFO L273 TraceCheckUtils]: 7: Hoare triple {4042#(not (= main_~DEFAULTVAL~0 main_~FIXEDVAL~0))} assume !(0bv32 != ~bvsrem32(~SIZE~0, 5bv32));assume 0bv32 != (if 0bv32 == ~bvsrem32(~SIZE~0, 5bv32) then 1bv32 else 0bv32);~i~0 := 1bv32; {4023#(and (= (bvadd (bvmul (_ bv20 32) main_~i~0) (_ bv4294967276 32)) (_ bv0 32)) (not (= main_~DEFAULTVAL~0 main_~FIXEDVAL~0)))} is VALID [2018-11-23 10:31:38,994 INFO L273 TraceCheckUtils]: 6: Hoare triple {3792#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;havoc ~value~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~DEFAULTVAL~0 := 0bv32;~FIXEDVAL~0 := 10bv32; {4042#(not (= main_~DEFAULTVAL~0 main_~FIXEDVAL~0))} is VALID [2018-11-23 10:31:38,994 INFO L273 TraceCheckUtils]: 5: Hoare triple {3792#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {3792#true} is VALID [2018-11-23 10:31:38,994 INFO L256 TraceCheckUtils]: 4: Hoare triple {3792#true} call #t~ret10 := main(); {3792#true} is VALID [2018-11-23 10:31:38,994 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3792#true} {3792#true} #93#return; {3792#true} is VALID [2018-11-23 10:31:38,995 INFO L273 TraceCheckUtils]: 2: Hoare triple {3792#true} assume true; {3792#true} is VALID [2018-11-23 10:31:38,995 INFO L273 TraceCheckUtils]: 1: Hoare triple {3792#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {3792#true} is VALID [2018-11-23 10:31:38,995 INFO L256 TraceCheckUtils]: 0: Hoare triple {3792#true} call ULTIMATE.init(); {3792#true} is VALID [2018-11-23 10:31:39,000 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 4 proven. 9 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [MP cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (7)] Exception during sending of exit command (exit): Broken pipe [2018-11-23 10:31:39,007 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:31:39,008 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 13] total 23 [2018-11-23 10:31:39,008 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 42 [2018-11-23 10:31:39,009 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:31:39,010 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states. [2018-11-23 10:31:39,767 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:31:39,768 INFO L459 AbstractCegarLoop]: Interpolant automaton has 23 states [2018-11-23 10:31:39,768 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2018-11-23 10:31:39,768 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=74, Invalid=432, Unknown=0, NotChecked=0, Total=506 [2018-11-23 10:31:39,769 INFO L87 Difference]: Start difference. First operand 96 states and 125 transitions. Second operand 23 states. [2018-11-23 10:32:10,348 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:32:10,348 INFO L93 Difference]: Finished difference Result 207 states and 263 transitions. [2018-11-23 10:32:10,348 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 31 states. [2018-11-23 10:32:10,348 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 42 [2018-11-23 10:32:10,349 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:32:10,349 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-23 10:32:10,353 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 198 transitions. [2018-11-23 10:32:10,353 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-23 10:32:10,359 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 198 transitions. [2018-11-23 10:32:10,359 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 31 states and 198 transitions. [2018-11-23 10:32:15,321 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 198 edges. 196 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2018-11-23 10:32:15,327 INFO L225 Difference]: With dead ends: 207 [2018-11-23 10:32:15,327 INFO L226 Difference]: Without dead ends: 205 [2018-11-23 10:32:15,328 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 107 GetRequests, 57 SyntacticMatches, 5 SemanticMatches, 45 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 465 ImplicationChecksByTransitivity, 2.5s TimeCoverageRelationStatistics Valid=382, Invalid=1780, Unknown=0, NotChecked=0, Total=2162 [2018-11-23 10:32:15,329 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 205 states. [2018-11-23 10:32:15,958 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 205 to 150. [2018-11-23 10:32:15,958 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:32:15,959 INFO L82 GeneralOperation]: Start isEquivalent. First operand 205 states. Second operand 150 states. [2018-11-23 10:32:15,959 INFO L74 IsIncluded]: Start isIncluded. First operand 205 states. Second operand 150 states. [2018-11-23 10:32:15,959 INFO L87 Difference]: Start difference. First operand 205 states. Second operand 150 states. [2018-11-23 10:32:15,966 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:32:15,966 INFO L93 Difference]: Finished difference Result 205 states and 260 transitions. [2018-11-23 10:32:15,967 INFO L276 IsEmpty]: Start isEmpty. Operand 205 states and 260 transitions. [2018-11-23 10:32:15,967 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:32:15,967 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:32:15,968 INFO L74 IsIncluded]: Start isIncluded. First operand 150 states. Second operand 205 states. [2018-11-23 10:32:15,968 INFO L87 Difference]: Start difference. First operand 150 states. Second operand 205 states. [2018-11-23 10:32:15,975 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:32:15,975 INFO L93 Difference]: Finished difference Result 205 states and 260 transitions. [2018-11-23 10:32:15,976 INFO L276 IsEmpty]: Start isEmpty. Operand 205 states and 260 transitions. [2018-11-23 10:32:15,976 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:32:15,976 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:32:15,976 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:32:15,977 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:32:15,977 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 150 states. [2018-11-23 10:32:15,981 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 150 states to 150 states and 200 transitions. [2018-11-23 10:32:15,981 INFO L78 Accepts]: Start accepts. Automaton has 150 states and 200 transitions. Word has length 42 [2018-11-23 10:32:15,982 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:32:15,982 INFO L480 AbstractCegarLoop]: Abstraction has 150 states and 200 transitions. [2018-11-23 10:32:15,982 INFO L481 AbstractCegarLoop]: Interpolant automaton has 23 states. [2018-11-23 10:32:15,982 INFO L276 IsEmpty]: Start isEmpty. Operand 150 states and 200 transitions. [2018-11-23 10:32:15,983 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2018-11-23 10:32:15,983 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:32:15,983 INFO L402 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:32:15,984 INFO L423 AbstractCegarLoop]: === Iteration 7 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:32:15,984 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:32:15,984 INFO L82 PathProgramCache]: Analyzing trace with hash 1672812236, now seen corresponding path program 3 times [2018-11-23 10:32:15,984 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:32:15,984 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 10:32:16,009 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2018-11-23 10:32:16,776 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2018-11-23 10:32:16,776 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 10:32:16,825 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:32:16,827 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:32:16,894 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 16 treesize of output 13 [2018-11-23 10:32:16,904 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 13 treesize of output 12 [2018-11-23 10:32:16,906 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:32:16,909 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:32:16,930 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 10:32:16,931 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:32, output treesize:25 [2018-11-23 10:32:16,942 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:32:16,942 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_69|, main_~value~0]. (and (= (store |v_#memory_int_69| |main_~#a~0.base| (store (select |v_#memory_int_69| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32)) main_~value~0)) |#memory_int|) (not (= main_~value~0 main_~DEFAULTVAL~0)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))) [2018-11-23 10:32:16,942 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= |main_~#a~0.offset| (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32))))) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))) [2018-11-23 10:32:17,001 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 24 treesize of output 19 [2018-11-23 10:32:17,009 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:32:17,012 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 28 [2018-11-23 10:32:17,021 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:32:17,032 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:32:17,048 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 10:32:17,049 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:30, output treesize:17 [2018-11-23 10:32:17,068 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:32:17,068 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_70|, main_~value~0]. (let ((.cse0 (select |v_#memory_int_70| |main_~#a~0.base|))) (and (not (= main_~DEFAULTVAL~0 (select .cse0 (bvadd |main_~#a~0.offset| (_ bv12 32))))) (= (store |v_#memory_int_70| |main_~#a~0.base| (store .cse0 (bvadd |main_~#a~0.offset| (_ bv16 32)) main_~value~0)) |#memory_int|) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))) [2018-11-23 10:32:17,068 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= |main_~#a~0.offset| (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32))))) (= main_~DEFAULTVAL~0 (_ bv0 32))) [2018-11-23 10:32:17,406 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 16 treesize of output 12 [2018-11-23 10:32:17,410 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 12 treesize of output 4 [2018-11-23 10:32:17,416 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:32:17,418 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:32:17,422 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 10:32:17,422 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:19, output treesize:8 [2018-11-23 10:32:17,427 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:32:17,427 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|]. (let ((.cse0 (select (select |#memory_int| |main_~#a~0.base|) (_ bv12 32)))) (and (= .cse0 |main_#t~mem9|) (not (= main_~DEFAULTVAL~0 .cse0)) (= main_~DEFAULTVAL~0 (_ bv0 32)))) [2018-11-23 10:32:17,427 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (not (= main_~DEFAULTVAL~0 |main_#t~mem9|)) (= main_~DEFAULTVAL~0 (_ bv0 32))) [2018-11-23 10:32:17,478 INFO L256 TraceCheckUtils]: 0: Hoare triple {4959#true} call ULTIMATE.init(); {4959#true} is VALID [2018-11-23 10:32:17,478 INFO L273 TraceCheckUtils]: 1: Hoare triple {4959#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {4959#true} is VALID [2018-11-23 10:32:17,478 INFO L273 TraceCheckUtils]: 2: Hoare triple {4959#true} assume true; {4959#true} is VALID [2018-11-23 10:32:17,478 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4959#true} {4959#true} #93#return; {4959#true} is VALID [2018-11-23 10:32:17,478 INFO L256 TraceCheckUtils]: 4: Hoare triple {4959#true} call #t~ret10 := main(); {4959#true} is VALID [2018-11-23 10:32:17,478 INFO L273 TraceCheckUtils]: 5: Hoare triple {4959#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {4959#true} is VALID [2018-11-23 10:32:17,479 INFO L273 TraceCheckUtils]: 6: Hoare triple {4959#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;havoc ~value~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~DEFAULTVAL~0 := 0bv32;~FIXEDVAL~0 := 10bv32; {4982#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} is VALID [2018-11-23 10:32:17,479 INFO L273 TraceCheckUtils]: 7: Hoare triple {4982#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} assume !(0bv32 != ~bvsrem32(~SIZE~0, 5bv32));assume 0bv32 != (if 0bv32 == ~bvsrem32(~SIZE~0, 5bv32) then 1bv32 else 0bv32);~i~0 := 1bv32; {4986#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:32:17,480 INFO L273 TraceCheckUtils]: 8: Hoare triple {4986#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume !!~bvsle32(~i~0, ~bvsdiv32(~SIZE~0, 5bv32));call #t~ret3 := ReadFromPort();~value~0 := #t~ret3;havoc #t~ret3; {4986#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:32:17,480 INFO L273 TraceCheckUtils]: 9: Hoare triple {4986#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume ~value~0 != ~DEFAULTVAL~0;call write~intINTTYPE4(~value~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 5bv32))), 4bv32); {4986#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:32:17,481 INFO L273 TraceCheckUtils]: 10: Hoare triple {4986#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} call #t~ret4 := ReadFromPort();~value~0 := #t~ret4;havoc #t~ret4; {4986#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:32:17,481 INFO L273 TraceCheckUtils]: 11: Hoare triple {4986#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume !(~value~0 != ~DEFAULTVAL~0);call write~intINTTYPE4(~FIXEDVAL~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 4bv32))), 4bv32); {4986#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:32:17,482 INFO L273 TraceCheckUtils]: 12: Hoare triple {4986#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} call #t~ret5 := ReadFromPort();~value~0 := #t~ret5;havoc #t~ret5; {4986#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:32:17,483 INFO L273 TraceCheckUtils]: 13: Hoare triple {4986#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume ~value~0 != ~DEFAULTVAL~0;call write~intINTTYPE4(~value~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 3bv32))), 4bv32); {4986#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:32:17,483 INFO L273 TraceCheckUtils]: 14: Hoare triple {4986#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} call #t~ret6 := ReadFromPort();~value~0 := #t~ret6;havoc #t~ret6; {4986#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:32:17,485 INFO L273 TraceCheckUtils]: 15: Hoare triple {4986#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume ~value~0 != ~DEFAULTVAL~0;call write~intINTTYPE4(~value~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 2bv32))), 4bv32); {5011#(and (= |main_~#a~0.offset| (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32))))) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:32:17,486 INFO L273 TraceCheckUtils]: 16: Hoare triple {5011#(and (= |main_~#a~0.offset| (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32))))) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} call #t~ret7 := ReadFromPort();~value~0 := #t~ret7;havoc #t~ret7; {5011#(and (= |main_~#a~0.offset| (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32))))) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:32:17,490 INFO L273 TraceCheckUtils]: 17: Hoare triple {5011#(and (= |main_~#a~0.offset| (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32))))) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume ~value~0 != ~DEFAULTVAL~0;call write~intINTTYPE4(~value~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 1bv32))), 4bv32); {5018#(and (= |main_~#a~0.offset| (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32))))) (= main_~DEFAULTVAL~0 (_ bv0 32)))} is VALID [2018-11-23 10:32:17,491 INFO L273 TraceCheckUtils]: 18: Hoare triple {5018#(and (= |main_~#a~0.offset| (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32))))) (= main_~DEFAULTVAL~0 (_ bv0 32)))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {5018#(and (= |main_~#a~0.offset| (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32))))) (= main_~DEFAULTVAL~0 (_ bv0 32)))} is VALID [2018-11-23 10:32:17,491 INFO L273 TraceCheckUtils]: 19: Hoare triple {5018#(and (= |main_~#a~0.offset| (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32))))) (= main_~DEFAULTVAL~0 (_ bv0 32)))} assume !~bvsle32(~i~0, ~bvsdiv32(~SIZE~0, 5bv32)); {5018#(and (= |main_~#a~0.offset| (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32))))) (= main_~DEFAULTVAL~0 (_ bv0 32)))} is VALID [2018-11-23 10:32:17,492 INFO L273 TraceCheckUtils]: 20: Hoare triple {5018#(and (= |main_~#a~0.offset| (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32))))) (= main_~DEFAULTVAL~0 (_ bv0 32)))} ~i~0 := 0bv32; {5028#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32))))) (= main_~DEFAULTVAL~0 (_ bv0 32)))} is VALID [2018-11-23 10:32:17,492 INFO L273 TraceCheckUtils]: 21: Hoare triple {5028#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32))))) (= main_~DEFAULTVAL~0 (_ bv0 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem9 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5028#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32))))) (= main_~DEFAULTVAL~0 (_ bv0 32)))} is VALID [2018-11-23 10:32:17,494 INFO L256 TraceCheckUtils]: 22: Hoare triple {5028#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32))))) (= main_~DEFAULTVAL~0 (_ bv0 32)))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1bv32 else 0bv32)); {5035#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32))) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (_ bv12 32)) (_ bv0 32))))} is VALID [2018-11-23 10:32:17,495 INFO L273 TraceCheckUtils]: 23: Hoare triple {5035#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32))) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (_ bv12 32)) (_ bv0 32))))} ~cond := #in~cond; {5035#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32))) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (_ bv12 32)) (_ bv0 32))))} is VALID [2018-11-23 10:32:17,495 INFO L273 TraceCheckUtils]: 24: Hoare triple {5035#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32))) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (_ bv12 32)) (_ bv0 32))))} assume !(0bv32 == ~cond); {5035#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32))) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (_ bv12 32)) (_ bv0 32))))} is VALID [2018-11-23 10:32:17,496 INFO L273 TraceCheckUtils]: 25: Hoare triple {5035#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32))) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (_ bv12 32)) (_ bv0 32))))} assume true; {5035#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32))) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (_ bv12 32)) (_ bv0 32))))} is VALID [2018-11-23 10:32:17,499 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {5035#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32))) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (_ bv12 32)) (_ bv0 32))))} {5028#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32))))) (= main_~DEFAULTVAL~0 (_ bv0 32)))} #97#return; {5028#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32))))) (= main_~DEFAULTVAL~0 (_ bv0 32)))} is VALID [2018-11-23 10:32:17,500 INFO L273 TraceCheckUtils]: 27: Hoare triple {5028#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32))))) (= main_~DEFAULTVAL~0 (_ bv0 32)))} havoc #t~mem9; {5028#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32))))) (= main_~DEFAULTVAL~0 (_ bv0 32)))} is VALID [2018-11-23 10:32:17,500 INFO L273 TraceCheckUtils]: 28: Hoare triple {5028#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32))))) (= main_~DEFAULTVAL~0 (_ bv0 32)))} #t~post8 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post8);havoc #t~post8; {5011#(and (= |main_~#a~0.offset| (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32))))) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:32:17,503 INFO L273 TraceCheckUtils]: 29: Hoare triple {5011#(and (= |main_~#a~0.offset| (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32))))) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem9 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5011#(and (= |main_~#a~0.offset| (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32))))) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:32:17,504 INFO L256 TraceCheckUtils]: 30: Hoare triple {5011#(and (= |main_~#a~0.offset| (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32))))) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1bv32 else 0bv32)); {5035#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32))) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (_ bv12 32)) (_ bv0 32))))} is VALID [2018-11-23 10:32:17,505 INFO L273 TraceCheckUtils]: 31: Hoare triple {5035#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32))) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (_ bv12 32)) (_ bv0 32))))} ~cond := #in~cond; {5035#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32))) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (_ bv12 32)) (_ bv0 32))))} is VALID [2018-11-23 10:32:17,505 INFO L273 TraceCheckUtils]: 32: Hoare triple {5035#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32))) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (_ bv12 32)) (_ bv0 32))))} assume !(0bv32 == ~cond); {5035#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32))) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (_ bv12 32)) (_ bv0 32))))} is VALID [2018-11-23 10:32:17,506 INFO L273 TraceCheckUtils]: 33: Hoare triple {5035#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32))) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (_ bv12 32)) (_ bv0 32))))} assume true; {5035#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32))) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (_ bv12 32)) (_ bv0 32))))} is VALID [2018-11-23 10:32:17,506 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {5035#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32))) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (_ bv12 32)) (_ bv0 32))))} {5011#(and (= |main_~#a~0.offset| (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32))))) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} #97#return; {5011#(and (= |main_~#a~0.offset| (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32))))) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:32:17,507 INFO L273 TraceCheckUtils]: 35: Hoare triple {5011#(and (= |main_~#a~0.offset| (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32))))) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} havoc #t~mem9; {5011#(and (= |main_~#a~0.offset| (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32))))) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:32:17,508 INFO L273 TraceCheckUtils]: 36: Hoare triple {5011#(and (= |main_~#a~0.offset| (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967288 32))))) (= main_~DEFAULTVAL~0 (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} #t~post8 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post8);havoc #t~post8; {5078#(and (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv2 32) main_~i~0) (= main_~DEFAULTVAL~0 (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967268 32))))))} is VALID [2018-11-23 10:32:17,510 INFO L273 TraceCheckUtils]: 37: Hoare triple {5078#(and (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv2 32) main_~i~0) (= main_~DEFAULTVAL~0 (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967268 32))))))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem9 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5078#(and (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv2 32) main_~i~0) (= main_~DEFAULTVAL~0 (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967268 32))))))} is VALID [2018-11-23 10:32:17,512 INFO L256 TraceCheckUtils]: 38: Hoare triple {5078#(and (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv2 32) main_~i~0) (= main_~DEFAULTVAL~0 (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967268 32))))))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1bv32 else 0bv32)); {5035#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32))) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (_ bv12 32)) (_ bv0 32))))} is VALID [2018-11-23 10:32:17,512 INFO L273 TraceCheckUtils]: 39: Hoare triple {5035#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32))) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (_ bv12 32)) (_ bv0 32))))} ~cond := #in~cond; {5035#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32))) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (_ bv12 32)) (_ bv0 32))))} is VALID [2018-11-23 10:32:17,513 INFO L273 TraceCheckUtils]: 40: Hoare triple {5035#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32))) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (_ bv12 32)) (_ bv0 32))))} assume !(0bv32 == ~cond); {5035#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32))) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (_ bv12 32)) (_ bv0 32))))} is VALID [2018-11-23 10:32:17,513 INFO L273 TraceCheckUtils]: 41: Hoare triple {5035#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32))) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (_ bv12 32)) (_ bv0 32))))} assume true; {5035#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32))) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (_ bv12 32)) (_ bv0 32))))} is VALID [2018-11-23 10:32:17,513 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {5035#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32))) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (_ bv12 32)) (_ bv0 32))))} {5078#(and (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv2 32) main_~i~0) (= main_~DEFAULTVAL~0 (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967268 32))))))} #97#return; {5078#(and (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv2 32) main_~i~0) (= main_~DEFAULTVAL~0 (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967268 32))))))} is VALID [2018-11-23 10:32:17,515 INFO L273 TraceCheckUtils]: 43: Hoare triple {5078#(and (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv2 32) main_~i~0) (= main_~DEFAULTVAL~0 (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967268 32))))))} havoc #t~mem9; {5078#(and (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv2 32) main_~i~0) (= main_~DEFAULTVAL~0 (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967268 32))))))} is VALID [2018-11-23 10:32:17,516 INFO L273 TraceCheckUtils]: 44: Hoare triple {5078#(and (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv2 32) main_~i~0) (= main_~DEFAULTVAL~0 (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967268 32))))))} #t~post8 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post8);havoc #t~post8; {5103#(and (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32))))) (= main_~DEFAULTVAL~0 (_ bv0 32)))} is VALID [2018-11-23 10:32:17,517 INFO L273 TraceCheckUtils]: 45: Hoare triple {5103#(and (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32))))) (= main_~DEFAULTVAL~0 (_ bv0 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem9 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5107#(and (not (= main_~DEFAULTVAL~0 |main_#t~mem9|)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} is VALID [2018-11-23 10:32:17,518 INFO L256 TraceCheckUtils]: 46: Hoare triple {5107#(and (not (= main_~DEFAULTVAL~0 |main_#t~mem9|)) (= main_~DEFAULTVAL~0 (_ bv0 32)))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1bv32 else 0bv32)); {5111#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:32:17,519 INFO L273 TraceCheckUtils]: 47: Hoare triple {5111#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} ~cond := #in~cond; {5115#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:32:17,520 INFO L273 TraceCheckUtils]: 48: Hoare triple {5115#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} assume 0bv32 == ~cond; {4960#false} is VALID [2018-11-23 10:32:17,520 INFO L273 TraceCheckUtils]: 49: Hoare triple {4960#false} assume !false; {4960#false} is VALID [2018-11-23 10:32:17,529 INFO L134 CoverageAnalysis]: Checked inductivity of 37 backedges. 0 proven. 25 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 10:32:17,529 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:32:20,067 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 10:32:20,075 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 28 [2018-11-23 10:32:20,134 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 24 treesize of output 13 [2018-11-23 10:32:20,138 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 10:32:20,188 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:32:20,188 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:32:20,189 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 27 treesize of output 21 [2018-11-23 10:32:20,191 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 10:32:20,215 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 10:32:20,235 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 10:32:20,262 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-2 vars, End of recursive call: and 2 xjuncts. [2018-11-23 10:32:20,262 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 4 variables, input treesize:30, output treesize:27 [2018-11-23 10:32:20,270 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:32:20,270 WARN L384 uantifierElimination]: Input elimination task: ∀ [|#memory_int|, |main_~#a~0.base|, main_~value~0, v_subst_11]. (or (not (= main_~DEFAULTVAL~0 (select (let ((.cse0 (bvmul (_ bv20 32) main_~i~0))) (store (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| .cse0 (_ bv4294967288 32)) main_~value~0) (bvadd |main_~#a~0.offset| .cse0 (_ bv4294967292 32)) v_subst_11)) (bvadd |main_~#a~0.offset| (_ bv12 32))))) (= main_~value~0 main_~DEFAULTVAL~0)) [2018-11-23 10:32:20,270 WARN L385 uantifierElimination]: ElimStorePlain result: ∀ []. (let ((.cse0 (bvmul (_ bv20 32) main_~i~0))) (let ((.cse1 (= (bvadd .cse0 (_ bv4294967280 32)) (_ bv0 32)))) (and (or (= (bvadd |main_~#a~0.offset| (_ bv12 32)) (bvadd |main_~#a~0.offset| .cse0 (_ bv4294967288 32))) .cse1) (not .cse1)))) [2018-11-23 10:32:20,340 INFO L273 TraceCheckUtils]: 49: Hoare triple {4960#false} assume !false; {4960#false} is VALID [2018-11-23 10:32:20,341 INFO L273 TraceCheckUtils]: 48: Hoare triple {5125#(not (= (_ bv0 32) __VERIFIER_assert_~cond))} assume 0bv32 == ~cond; {4960#false} is VALID [2018-11-23 10:32:20,341 INFO L273 TraceCheckUtils]: 47: Hoare triple {5129#(not (= |__VERIFIER_assert_#in~cond| (_ bv0 32)))} ~cond := #in~cond; {5125#(not (= (_ bv0 32) __VERIFIER_assert_~cond))} is VALID [2018-11-23 10:32:20,343 INFO L256 TraceCheckUtils]: 46: Hoare triple {5133#(not (= main_~DEFAULTVAL~0 |main_#t~mem9|))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1bv32 else 0bv32)); {5129#(not (= |__VERIFIER_assert_#in~cond| (_ bv0 32)))} is VALID [2018-11-23 10:32:20,343 INFO L273 TraceCheckUtils]: 45: Hoare triple {5137#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0)))))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem9 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5133#(not (= main_~DEFAULTVAL~0 |main_#t~mem9|))} is VALID [2018-11-23 10:32:20,558 INFO L273 TraceCheckUtils]: 44: Hoare triple {5141#(not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) main_~DEFAULTVAL~0))} #t~post8 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post8);havoc #t~post8; {5137#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0)))))} is VALID [2018-11-23 10:32:20,558 INFO L273 TraceCheckUtils]: 43: Hoare triple {5141#(not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) main_~DEFAULTVAL~0))} havoc #t~mem9; {5141#(not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) main_~DEFAULTVAL~0))} is VALID [2018-11-23 10:32:20,559 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {4959#true} {5141#(not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) main_~DEFAULTVAL~0))} #97#return; {5141#(not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) main_~DEFAULTVAL~0))} is VALID [2018-11-23 10:32:20,559 INFO L273 TraceCheckUtils]: 41: Hoare triple {4959#true} assume true; {4959#true} is VALID [2018-11-23 10:32:20,560 INFO L273 TraceCheckUtils]: 40: Hoare triple {4959#true} assume !(0bv32 == ~cond); {4959#true} is VALID [2018-11-23 10:32:20,560 INFO L273 TraceCheckUtils]: 39: Hoare triple {4959#true} ~cond := #in~cond; {4959#true} is VALID [2018-11-23 10:32:20,560 INFO L256 TraceCheckUtils]: 38: Hoare triple {5141#(not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) main_~DEFAULTVAL~0))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1bv32 else 0bv32)); {4959#true} is VALID [2018-11-23 10:32:20,565 INFO L273 TraceCheckUtils]: 37: Hoare triple {5141#(not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) main_~DEFAULTVAL~0))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem9 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5141#(not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) main_~DEFAULTVAL~0))} is VALID [2018-11-23 10:32:20,853 INFO L273 TraceCheckUtils]: 36: Hoare triple {5166#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv8 32)))))} #t~post8 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post8);havoc #t~post8; {5141#(not (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) main_~DEFAULTVAL~0))} is VALID [2018-11-23 10:32:20,855 INFO L273 TraceCheckUtils]: 35: Hoare triple {5166#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv8 32)))))} havoc #t~mem9; {5166#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv8 32)))))} is VALID [2018-11-23 10:32:20,858 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {4959#true} {5166#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv8 32)))))} #97#return; {5166#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv8 32)))))} is VALID [2018-11-23 10:32:20,858 INFO L273 TraceCheckUtils]: 33: Hoare triple {4959#true} assume true; {4959#true} is VALID [2018-11-23 10:32:20,858 INFO L273 TraceCheckUtils]: 32: Hoare triple {4959#true} assume !(0bv32 == ~cond); {4959#true} is VALID [2018-11-23 10:32:20,858 INFO L273 TraceCheckUtils]: 31: Hoare triple {4959#true} ~cond := #in~cond; {4959#true} is VALID [2018-11-23 10:32:20,858 INFO L256 TraceCheckUtils]: 30: Hoare triple {5166#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv8 32)))))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1bv32 else 0bv32)); {4959#true} is VALID [2018-11-23 10:32:20,860 INFO L273 TraceCheckUtils]: 29: Hoare triple {5166#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv8 32)))))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem9 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5166#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv8 32)))))} is VALID [2018-11-23 10:32:21,146 INFO L273 TraceCheckUtils]: 28: Hoare triple {5191#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv12 32)))))} #t~post8 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post8);havoc #t~post8; {5166#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv8 32)))))} is VALID [2018-11-23 10:32:21,149 INFO L273 TraceCheckUtils]: 27: Hoare triple {5191#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv12 32)))))} havoc #t~mem9; {5191#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv12 32)))))} is VALID [2018-11-23 10:32:21,151 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {4959#true} {5191#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv12 32)))))} #97#return; {5191#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv12 32)))))} is VALID [2018-11-23 10:32:21,151 INFO L273 TraceCheckUtils]: 25: Hoare triple {4959#true} assume true; {4959#true} is VALID [2018-11-23 10:32:21,151 INFO L273 TraceCheckUtils]: 24: Hoare triple {4959#true} assume !(0bv32 == ~cond); {4959#true} is VALID [2018-11-23 10:32:21,151 INFO L273 TraceCheckUtils]: 23: Hoare triple {4959#true} ~cond := #in~cond; {4959#true} is VALID [2018-11-23 10:32:21,152 INFO L256 TraceCheckUtils]: 22: Hoare triple {5191#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv12 32)))))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1bv32 else 0bv32)); {4959#true} is VALID [2018-11-23 10:32:21,152 INFO L273 TraceCheckUtils]: 21: Hoare triple {5191#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv12 32)))))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem9 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5191#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv12 32)))))} is VALID [2018-11-23 10:32:21,170 INFO L273 TraceCheckUtils]: 20: Hoare triple {5216#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32)))))} ~i~0 := 0bv32; {5191#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv12 32)))))} is VALID [2018-11-23 10:32:21,179 INFO L273 TraceCheckUtils]: 19: Hoare triple {5216#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32)))))} assume !~bvsle32(~i~0, ~bvsdiv32(~SIZE~0, 5bv32)); {5216#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32)))))} is VALID [2018-11-23 10:32:21,192 INFO L273 TraceCheckUtils]: 18: Hoare triple {5216#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32)))))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {5216#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32)))))} is VALID [2018-11-23 10:32:21,219 INFO L273 TraceCheckUtils]: 17: Hoare triple {5226#(forall ((main_~value~0 (_ BitVec 32))) (not (= main_~DEFAULTVAL~0 (select (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) main_~value~0) (bvadd |main_~#a~0.offset| (_ bv12 32))))))} assume ~value~0 != ~DEFAULTVAL~0;call write~intINTTYPE4(~value~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 1bv32))), 4bv32); {5216#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32)))))} is VALID [2018-11-23 10:32:21,220 INFO L273 TraceCheckUtils]: 16: Hoare triple {5226#(forall ((main_~value~0 (_ BitVec 32))) (not (= main_~DEFAULTVAL~0 (select (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) main_~value~0) (bvadd |main_~#a~0.offset| (_ bv12 32))))))} call #t~ret7 := ReadFromPort();~value~0 := #t~ret7;havoc #t~ret7; {5226#(forall ((main_~value~0 (_ BitVec 32))) (not (= main_~DEFAULTVAL~0 (select (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) main_~value~0) (bvadd |main_~#a~0.offset| (_ bv12 32))))))} is VALID [2018-11-23 10:32:21,222 INFO L273 TraceCheckUtils]: 15: Hoare triple {5233#(= (_ bv20 32) (bvmul (_ bv20 32) main_~i~0))} assume ~value~0 != ~DEFAULTVAL~0;call write~intINTTYPE4(~value~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 2bv32))), 4bv32); {5226#(forall ((main_~value~0 (_ BitVec 32))) (not (= main_~DEFAULTVAL~0 (select (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv20 32) main_~i~0) (_ bv4294967292 32)) main_~value~0) (bvadd |main_~#a~0.offset| (_ bv12 32))))))} is VALID [2018-11-23 10:32:21,222 INFO L273 TraceCheckUtils]: 14: Hoare triple {5233#(= (_ bv20 32) (bvmul (_ bv20 32) main_~i~0))} call #t~ret6 := ReadFromPort();~value~0 := #t~ret6;havoc #t~ret6; {5233#(= (_ bv20 32) (bvmul (_ bv20 32) main_~i~0))} is VALID [2018-11-23 10:32:21,222 INFO L273 TraceCheckUtils]: 13: Hoare triple {5233#(= (_ bv20 32) (bvmul (_ bv20 32) main_~i~0))} assume ~value~0 != ~DEFAULTVAL~0;call write~intINTTYPE4(~value~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 3bv32))), 4bv32); {5233#(= (_ bv20 32) (bvmul (_ bv20 32) main_~i~0))} is VALID [2018-11-23 10:32:21,223 INFO L273 TraceCheckUtils]: 12: Hoare triple {5233#(= (_ bv20 32) (bvmul (_ bv20 32) main_~i~0))} call #t~ret5 := ReadFromPort();~value~0 := #t~ret5;havoc #t~ret5; {5233#(= (_ bv20 32) (bvmul (_ bv20 32) main_~i~0))} is VALID [2018-11-23 10:32:21,223 INFO L273 TraceCheckUtils]: 11: Hoare triple {5233#(= (_ bv20 32) (bvmul (_ bv20 32) main_~i~0))} assume !(~value~0 != ~DEFAULTVAL~0);call write~intINTTYPE4(~FIXEDVAL~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 4bv32))), 4bv32); {5233#(= (_ bv20 32) (bvmul (_ bv20 32) main_~i~0))} is VALID [2018-11-23 10:32:21,223 INFO L273 TraceCheckUtils]: 10: Hoare triple {5233#(= (_ bv20 32) (bvmul (_ bv20 32) main_~i~0))} call #t~ret4 := ReadFromPort();~value~0 := #t~ret4;havoc #t~ret4; {5233#(= (_ bv20 32) (bvmul (_ bv20 32) main_~i~0))} is VALID [2018-11-23 10:32:21,224 INFO L273 TraceCheckUtils]: 9: Hoare triple {5233#(= (_ bv20 32) (bvmul (_ bv20 32) main_~i~0))} assume ~value~0 != ~DEFAULTVAL~0;call write~intINTTYPE4(~value~0, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvsub32(~bvmul32(5bv32, ~i~0), 5bv32))), 4bv32); {5233#(= (_ bv20 32) (bvmul (_ bv20 32) main_~i~0))} is VALID [2018-11-23 10:32:21,224 INFO L273 TraceCheckUtils]: 8: Hoare triple {5233#(= (_ bv20 32) (bvmul (_ bv20 32) main_~i~0))} assume !!~bvsle32(~i~0, ~bvsdiv32(~SIZE~0, 5bv32));call #t~ret3 := ReadFromPort();~value~0 := #t~ret3;havoc #t~ret3; {5233#(= (_ bv20 32) (bvmul (_ bv20 32) main_~i~0))} is VALID [2018-11-23 10:32:21,224 INFO L273 TraceCheckUtils]: 7: Hoare triple {4959#true} assume !(0bv32 != ~bvsrem32(~SIZE~0, 5bv32));assume 0bv32 != (if 0bv32 == ~bvsrem32(~SIZE~0, 5bv32) then 1bv32 else 0bv32);~i~0 := 1bv32; {5233#(= (_ bv20 32) (bvmul (_ bv20 32) main_~i~0))} is VALID [2018-11-23 10:32:21,224 INFO L273 TraceCheckUtils]: 6: Hoare triple {4959#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;havoc ~value~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~DEFAULTVAL~0 := 0bv32;~FIXEDVAL~0 := 10bv32; {4959#true} is VALID [2018-11-23 10:32:21,225 INFO L273 TraceCheckUtils]: 5: Hoare triple {4959#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {4959#true} is VALID [2018-11-23 10:32:21,225 INFO L256 TraceCheckUtils]: 4: Hoare triple {4959#true} call #t~ret10 := main(); {4959#true} is VALID [2018-11-23 10:32:21,225 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4959#true} {4959#true} #93#return; {4959#true} is VALID [2018-11-23 10:32:21,225 INFO L273 TraceCheckUtils]: 2: Hoare triple {4959#true} assume true; {4959#true} is VALID [2018-11-23 10:32:21,225 INFO L273 TraceCheckUtils]: 1: Hoare triple {4959#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {4959#true} is VALID [2018-11-23 10:32:21,225 INFO L256 TraceCheckUtils]: 0: Hoare triple {4959#true} call ULTIMATE.init(); {4959#true} is VALID [2018-11-23 10:32:21,230 INFO L134 CoverageAnalysis]: Checked inductivity of 37 backedges. 6 proven. 19 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 10:32:21,232 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:32:21,232 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 12] total 23 [2018-11-23 10:32:21,233 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 50 [2018-11-23 10:32:21,234 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:32:21,234 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states. [2018-11-23 10:32:22,430 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:32:22,430 INFO L459 AbstractCegarLoop]: Interpolant automaton has 23 states [2018-11-23 10:32:22,430 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2018-11-23 10:32:22,431 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=78, Invalid=428, Unknown=0, NotChecked=0, Total=506 [2018-11-23 10:32:22,431 INFO L87 Difference]: Start difference. First operand 150 states and 200 transitions. Second operand 23 states.