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_Default.epf -i ../../../trunk/examples/svcomp/loop-crafted/simple_array_index_value_true-unreach-call1_true-termination.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-61f4311 [2018-11-23 13:08:39,455 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 13:08:39,457 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 13:08:39,480 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 13:08:39,481 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 13:08:39,482 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 13:08:39,484 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 13:08:39,487 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 13:08:39,490 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 13:08:39,490 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 13:08:39,500 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 13:08:39,500 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 13:08:39,501 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 13:08:39,505 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 13:08:39,506 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 13:08:39,507 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 13:08:39,508 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 13:08:39,512 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 13:08:39,516 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 13:08:39,517 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 13:08:39,518 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 13:08:39,521 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 13:08:39,524 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 13:08:39,525 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 13:08:39,525 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 13:08:39,526 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 13:08:39,526 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 13:08:39,530 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 13:08:39,531 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 13:08:39,533 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 13:08:39,533 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 13:08:39,535 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 13:08:39,536 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 13:08:39,536 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 13:08:39,537 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 13:08:39,537 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 13:08:39,538 INFO L98 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2018-11-23 13:08:39,564 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 13:08:39,564 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 13:08:39,565 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 13:08:39,565 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 13:08:39,565 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 13:08:39,566 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 13:08:39,566 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 13:08:39,566 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 13:08:39,566 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 13:08:39,566 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 13:08:39,567 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 13:08:39,567 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 13:08:39,567 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 13:08:39,567 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 13:08:39,567 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 13:08:39,568 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 13:08:39,568 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 13:08:39,568 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 13:08:39,568 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 13:08:39,568 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 13:08:39,568 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 13:08:39,569 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 13:08:39,569 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 13:08:39,569 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 13:08:39,569 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 13:08:39,569 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 13:08:39,570 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 13:08:39,570 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-23 13:08:39,570 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 13:08:39,570 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 13:08:39,570 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-23 13:08:39,613 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 13:08:39,628 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 13:08:39,632 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 13:08:39,634 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 13:08:39,634 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 13:08:39,635 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/loop-crafted/simple_array_index_value_true-unreach-call1_true-termination.i [2018-11-23 13:08:39,697 INFO L221 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f7c2e4e67/f475874aaba7437a9ca655c5764e1134/FLAG088352b51 [2018-11-23 13:08:40,160 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 13:08:40,161 INFO L161 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/loop-crafted/simple_array_index_value_true-unreach-call1_true-termination.i [2018-11-23 13:08:40,166 INFO L355 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f7c2e4e67/f475874aaba7437a9ca655c5764e1134/FLAG088352b51 [2018-11-23 13:08:40,530 INFO L363 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f7c2e4e67/f475874aaba7437a9ca655c5764e1134 [2018-11-23 13:08:40,539 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 13:08:40,540 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 13:08:40,541 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 13:08:40,541 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 13:08:40,545 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 13:08:40,547 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 01:08:40" (1/1) ... [2018-11-23 13:08:40,550 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@65b0ef2a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:08:40, skipping insertion in model container [2018-11-23 13:08:40,550 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 01:08:40" (1/1) ... [2018-11-23 13:08:40,561 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 13:08:40,586 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 13:08:40,787 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 13:08:40,792 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 13:08:40,817 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 13:08:40,841 INFO L195 MainTranslator]: Completed translation [2018-11-23 13:08:40,841 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:08:40 WrapperNode [2018-11-23 13:08:40,841 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 13:08:40,842 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 13:08:40,843 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 13:08:40,843 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 13:08:40,853 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:08:40" (1/1) ... [2018-11-23 13:08:40,863 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:08:40" (1/1) ... [2018-11-23 13:08:40,871 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 13:08:40,872 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 13:08:40,872 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 13:08:40,872 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 13:08:40,884 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:08:40" (1/1) ... [2018-11-23 13:08:40,884 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:08:40" (1/1) ... [2018-11-23 13:08:40,886 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:08:40" (1/1) ... [2018-11-23 13:08:40,886 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:08:40" (1/1) ... [2018-11-23 13:08:40,896 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:08:40" (1/1) ... [2018-11-23 13:08:40,902 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:08:40" (1/1) ... [2018-11-23 13:08:40,904 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:08:40" (1/1) ... [2018-11-23 13:08:40,906 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 13:08:40,907 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 13:08:40,907 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 13:08:40,907 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 13:08:40,908 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:08:40" (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 13:08:41,042 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 13:08:41,042 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 13:08:41,042 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 13:08:41,043 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 13:08:41,043 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 13:08:41,043 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 13:08:41,043 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 13:08:41,043 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 13:08:41,043 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 13:08:41,043 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2018-11-23 13:08:41,044 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2018-11-23 13:08:41,044 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 13:08:43,585 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 13:08:43,586 INFO L280 CfgBuilder]: Removed 2 assue(true) statements. [2018-11-23 13:08:43,587 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 01:08:43 BoogieIcfgContainer [2018-11-23 13:08:43,587 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 13:08:43,588 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 13:08:43,588 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 13:08:43,592 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 13:08:43,592 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 01:08:40" (1/3) ... [2018-11-23 13:08:43,593 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3879984b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 01:08:43, skipping insertion in model container [2018-11-23 13:08:43,593 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:08:40" (2/3) ... [2018-11-23 13:08:43,594 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3879984b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 01:08:43, skipping insertion in model container [2018-11-23 13:08:43,594 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 01:08:43" (3/3) ... [2018-11-23 13:08:43,596 INFO L112 eAbstractionObserver]: Analyzing ICFG simple_array_index_value_true-unreach-call1_true-termination.i [2018-11-23 13:08:43,607 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 13:08:43,615 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 13:08:43,633 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 13:08:43,667 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 13:08:43,668 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 13:08:43,668 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 13:08:43,669 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 13:08:43,669 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 13:08:43,669 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 13:08:43,670 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 13:08:43,670 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 13:08:43,670 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 13:08:43,688 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states. [2018-11-23 13:08:43,694 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2018-11-23 13:08:43,694 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:08:43,695 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:08:43,698 INFO L423 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:08:43,703 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:08:43,704 INFO L82 PathProgramCache]: Analyzing trace with hash -956066777, now seen corresponding path program 1 times [2018-11-23 13:08:43,706 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:08:43,706 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:08:43,757 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:08:43,758 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:08:43,758 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:08:43,799 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:08:43,861 INFO L256 TraceCheckUtils]: 0: Hoare triple {30#true} call ULTIMATE.init(); {30#true} is VALID [2018-11-23 13:08:43,866 INFO L273 TraceCheckUtils]: 1: Hoare triple {30#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {30#true} is VALID [2018-11-23 13:08:43,867 INFO L273 TraceCheckUtils]: 2: Hoare triple {30#true} assume true; {30#true} is VALID [2018-11-23 13:08:43,867 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {30#true} {30#true} #56#return; {30#true} is VALID [2018-11-23 13:08:43,867 INFO L256 TraceCheckUtils]: 4: Hoare triple {30#true} call #t~ret4 := main(); {30#true} is VALID [2018-11-23 13:08:43,868 INFO L273 TraceCheckUtils]: 5: Hoare triple {30#true} call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(4000);havoc ~index~0;~index~0 := 0; {30#true} is VALID [2018-11-23 13:08:43,869 INFO L273 TraceCheckUtils]: 6: Hoare triple {30#true} assume !true; {31#false} is VALID [2018-11-23 13:08:43,869 INFO L273 TraceCheckUtils]: 7: Hoare triple {31#false} ~index~0 := 0; {31#false} is VALID [2018-11-23 13:08:43,870 INFO L273 TraceCheckUtils]: 8: Hoare triple {31#false} assume !!(~index~0 % 4294967296 < 1000); {31#false} is VALID [2018-11-23 13:08:43,870 INFO L273 TraceCheckUtils]: 9: Hoare triple {31#false} assume !(0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {31#false} is VALID [2018-11-23 13:08:43,870 INFO L256 TraceCheckUtils]: 10: Hoare triple {31#false} call __VERIFIER_assert((if 0 != #t~mem3 % 4294967296 then 1 else 0)); {31#false} is VALID [2018-11-23 13:08:43,871 INFO L273 TraceCheckUtils]: 11: Hoare triple {31#false} ~cond := #in~cond; {31#false} is VALID [2018-11-23 13:08:43,871 INFO L273 TraceCheckUtils]: 12: Hoare triple {31#false} assume 0 == ~cond; {31#false} is VALID [2018-11-23 13:08:43,871 INFO L273 TraceCheckUtils]: 13: Hoare triple {31#false} assume !false; {31#false} is VALID [2018-11-23 13:08:43,875 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 13:08:43,877 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 13:08:43,878 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 13:08:43,882 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 14 [2018-11-23 13:08:43,886 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:08:43,890 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2018-11-23 13:08:43,996 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:08:43,996 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 13:08:44,008 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 13:08:44,009 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 13:08:44,011 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 2 states. [2018-11-23 13:08:46,581 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:08:46,581 INFO L93 Difference]: Finished difference Result 46 states and 58 transitions. [2018-11-23 13:08:46,583 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 13:08:46,583 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 14 [2018-11-23 13:08:46,584 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:08:46,585 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 13:08:46,594 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 58 transitions. [2018-11-23 13:08:46,594 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 13:08:46,599 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 58 transitions. [2018-11-23 13:08:46,599 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 58 transitions. [2018-11-23 13:08:46,835 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:08:46,847 INFO L225 Difference]: With dead ends: 46 [2018-11-23 13:08:46,848 INFO L226 Difference]: Without dead ends: 22 [2018-11-23 13:08:46,851 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 13:08:46,866 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 22 states. [2018-11-23 13:08:46,897 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 22 to 22. [2018-11-23 13:08:46,897 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:08:46,898 INFO L82 GeneralOperation]: Start isEquivalent. First operand 22 states. Second operand 22 states. [2018-11-23 13:08:46,898 INFO L74 IsIncluded]: Start isIncluded. First operand 22 states. Second operand 22 states. [2018-11-23 13:08:46,898 INFO L87 Difference]: Start difference. First operand 22 states. Second operand 22 states. [2018-11-23 13:08:46,904 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:08:46,904 INFO L93 Difference]: Finished difference Result 22 states and 25 transitions. [2018-11-23 13:08:46,905 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 25 transitions. [2018-11-23 13:08:46,905 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:08:46,905 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:08:46,906 INFO L74 IsIncluded]: Start isIncluded. First operand 22 states. Second operand 22 states. [2018-11-23 13:08:46,906 INFO L87 Difference]: Start difference. First operand 22 states. Second operand 22 states. [2018-11-23 13:08:46,910 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:08:46,910 INFO L93 Difference]: Finished difference Result 22 states and 25 transitions. [2018-11-23 13:08:46,910 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 25 transitions. [2018-11-23 13:08:46,911 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:08:46,911 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:08:46,911 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:08:46,911 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:08:46,912 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2018-11-23 13:08:46,914 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 25 transitions. [2018-11-23 13:08:46,916 INFO L78 Accepts]: Start accepts. Automaton has 22 states and 25 transitions. Word has length 14 [2018-11-23 13:08:46,916 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:08:46,916 INFO L480 AbstractCegarLoop]: Abstraction has 22 states and 25 transitions. [2018-11-23 13:08:46,917 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 13:08:46,917 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 25 transitions. [2018-11-23 13:08:46,918 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2018-11-23 13:08:46,918 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:08:46,918 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:08:46,918 INFO L423 AbstractCegarLoop]: === Iteration 2 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:08:46,919 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:08:46,919 INFO L82 PathProgramCache]: Analyzing trace with hash 1471973101, now seen corresponding path program 1 times [2018-11-23 13:08:46,919 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:08:46,919 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:08:46,920 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:08:46,921 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:08:46,921 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:08:46,961 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:08:47,163 INFO L256 TraceCheckUtils]: 0: Hoare triple {168#true} call ULTIMATE.init(); {168#true} is VALID [2018-11-23 13:08:47,163 INFO L273 TraceCheckUtils]: 1: Hoare triple {168#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {168#true} is VALID [2018-11-23 13:08:47,164 INFO L273 TraceCheckUtils]: 2: Hoare triple {168#true} assume true; {168#true} is VALID [2018-11-23 13:08:47,164 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {168#true} {168#true} #56#return; {168#true} is VALID [2018-11-23 13:08:47,165 INFO L256 TraceCheckUtils]: 4: Hoare triple {168#true} call #t~ret4 := main(); {168#true} is VALID [2018-11-23 13:08:47,165 INFO L273 TraceCheckUtils]: 5: Hoare triple {168#true} call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(4000);havoc ~index~0;~index~0 := 0; {168#true} is VALID [2018-11-23 13:08:47,165 INFO L273 TraceCheckUtils]: 6: Hoare triple {168#true} assume !(~index~0 % 4294967296 < 1000); {168#true} is VALID [2018-11-23 13:08:47,174 INFO L273 TraceCheckUtils]: 7: Hoare triple {168#true} ~index~0 := 0; {170#(= main_~index~0 0)} is VALID [2018-11-23 13:08:47,184 INFO L273 TraceCheckUtils]: 8: Hoare triple {170#(= main_~index~0 0)} assume !!(~index~0 % 4294967296 < 1000); {170#(= main_~index~0 0)} is VALID [2018-11-23 13:08:47,197 INFO L273 TraceCheckUtils]: 9: Hoare triple {170#(= main_~index~0 0)} assume !(0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {169#false} is VALID [2018-11-23 13:08:47,197 INFO L256 TraceCheckUtils]: 10: Hoare triple {169#false} call __VERIFIER_assert((if 0 != #t~mem3 % 4294967296 then 1 else 0)); {169#false} is VALID [2018-11-23 13:08:47,198 INFO L273 TraceCheckUtils]: 11: Hoare triple {169#false} ~cond := #in~cond; {169#false} is VALID [2018-11-23 13:08:47,198 INFO L273 TraceCheckUtils]: 12: Hoare triple {169#false} assume 0 == ~cond; {169#false} is VALID [2018-11-23 13:08:47,198 INFO L273 TraceCheckUtils]: 13: Hoare triple {169#false} assume !false; {169#false} is VALID [2018-11-23 13:08:47,200 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 13:08:47,200 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 13:08:47,200 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 13:08:47,202 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 14 [2018-11-23 13:08:47,202 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:08:47,202 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 13:08:47,228 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:08:47,228 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 13:08:47,229 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 13:08:47,229 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 13:08:47,230 INFO L87 Difference]: Start difference. First operand 22 states and 25 transitions. Second operand 3 states. [2018-11-23 13:08:49,590 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:08:49,591 INFO L93 Difference]: Finished difference Result 43 states and 51 transitions. [2018-11-23 13:08:49,591 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 13:08:49,591 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 14 [2018-11-23 13:08:49,591 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:08:49,592 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 13:08:49,595 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 51 transitions. [2018-11-23 13:08:49,596 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 13:08:49,599 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 51 transitions. [2018-11-23 13:08:49,599 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 51 transitions. [2018-11-23 13:08:49,970 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:08:49,972 INFO L225 Difference]: With dead ends: 43 [2018-11-23 13:08:49,972 INFO L226 Difference]: Without dead ends: 29 [2018-11-23 13:08:49,974 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 2 SyntacticMatches, 1 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 13:08:49,974 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2018-11-23 13:08:49,998 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 25. [2018-11-23 13:08:49,998 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:08:49,998 INFO L82 GeneralOperation]: Start isEquivalent. First operand 29 states. Second operand 25 states. [2018-11-23 13:08:49,999 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 25 states. [2018-11-23 13:08:49,999 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 25 states. [2018-11-23 13:08:50,002 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:08:50,002 INFO L93 Difference]: Finished difference Result 29 states and 33 transitions. [2018-11-23 13:08:50,003 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 33 transitions. [2018-11-23 13:08:50,003 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:08:50,004 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:08:50,004 INFO L74 IsIncluded]: Start isIncluded. First operand 25 states. Second operand 29 states. [2018-11-23 13:08:50,004 INFO L87 Difference]: Start difference. First operand 25 states. Second operand 29 states. [2018-11-23 13:08:50,007 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:08:50,007 INFO L93 Difference]: Finished difference Result 29 states and 33 transitions. [2018-11-23 13:08:50,008 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 33 transitions. [2018-11-23 13:08:50,008 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:08:50,008 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:08:50,009 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:08:50,009 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:08:50,009 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2018-11-23 13:08:50,011 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 28 transitions. [2018-11-23 13:08:50,012 INFO L78 Accepts]: Start accepts. Automaton has 25 states and 28 transitions. Word has length 14 [2018-11-23 13:08:50,012 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:08:50,012 INFO L480 AbstractCegarLoop]: Abstraction has 25 states and 28 transitions. [2018-11-23 13:08:50,012 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 13:08:50,012 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 28 transitions. [2018-11-23 13:08:50,013 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2018-11-23 13:08:50,013 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:08:50,013 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:08:50,014 INFO L423 AbstractCegarLoop]: === Iteration 3 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:08:50,014 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:08:50,014 INFO L82 PathProgramCache]: Analyzing trace with hash 534952077, now seen corresponding path program 1 times [2018-11-23 13:08:50,014 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:08:50,014 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:08:50,015 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:08:50,016 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:08:50,016 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:08:50,040 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:08:50,177 INFO L256 TraceCheckUtils]: 0: Hoare triple {326#true} call ULTIMATE.init(); {326#true} is VALID [2018-11-23 13:08:50,178 INFO L273 TraceCheckUtils]: 1: Hoare triple {326#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {326#true} is VALID [2018-11-23 13:08:50,178 INFO L273 TraceCheckUtils]: 2: Hoare triple {326#true} assume true; {326#true} is VALID [2018-11-23 13:08:50,178 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {326#true} {326#true} #56#return; {326#true} is VALID [2018-11-23 13:08:50,178 INFO L256 TraceCheckUtils]: 4: Hoare triple {326#true} call #t~ret4 := main(); {326#true} is VALID [2018-11-23 13:08:50,180 INFO L273 TraceCheckUtils]: 5: Hoare triple {326#true} call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(4000);havoc ~index~0;~index~0 := 0; {328#(= main_~index~0 0)} is VALID [2018-11-23 13:08:50,180 INFO L273 TraceCheckUtils]: 6: Hoare triple {328#(= main_~index~0 0)} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {328#(= main_~index~0 0)} is VALID [2018-11-23 13:08:50,181 INFO L273 TraceCheckUtils]: 7: Hoare triple {328#(= main_~index~0 0)} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {329#(and (<= main_~index~0 1) (< 0 (+ (div main_~index~0 4294967296) 1)))} is VALID [2018-11-23 13:08:50,182 INFO L273 TraceCheckUtils]: 8: Hoare triple {329#(and (<= main_~index~0 1) (< 0 (+ (div main_~index~0 4294967296) 1)))} assume !(~index~0 % 4294967296 < 1000); {327#false} is VALID [2018-11-23 13:08:50,182 INFO L273 TraceCheckUtils]: 9: Hoare triple {327#false} ~index~0 := 0; {327#false} is VALID [2018-11-23 13:08:50,183 INFO L273 TraceCheckUtils]: 10: Hoare triple {327#false} assume !!(~index~0 % 4294967296 < 1000); {327#false} is VALID [2018-11-23 13:08:50,183 INFO L273 TraceCheckUtils]: 11: Hoare triple {327#false} assume 0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296;call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {327#false} is VALID [2018-11-23 13:08:50,183 INFO L256 TraceCheckUtils]: 12: Hoare triple {327#false} call __VERIFIER_assert((if 0 == #t~mem2 % 4294967296 then 1 else 0)); {327#false} is VALID [2018-11-23 13:08:50,184 INFO L273 TraceCheckUtils]: 13: Hoare triple {327#false} ~cond := #in~cond; {327#false} is VALID [2018-11-23 13:08:50,184 INFO L273 TraceCheckUtils]: 14: Hoare triple {327#false} assume 0 == ~cond; {327#false} is VALID [2018-11-23 13:08:50,185 INFO L273 TraceCheckUtils]: 15: Hoare triple {327#false} assume !false; {327#false} is VALID [2018-11-23 13:08:50,187 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 13:08:50,187 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 13:08:50,187 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 13:08:50,200 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:08:50,218 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:08:50,234 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:08:50,238 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:08:50,341 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 8 [2018-11-23 13:08:50,349 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 7 [2018-11-23 13:08:50,356 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 13:08:50,360 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:08:50,364 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:08:50,364 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:11, output treesize:7 [2018-11-23 13:08:50,632 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 13:08:50,655 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 13:08:50,660 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 13:08:50,662 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:08:50,664 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:08:50,664 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:15, output treesize:3 [2018-11-23 13:08:50,667 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:08:50,668 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#array~0.base|, |main_~#array~0.offset|]. (let ((.cse0 (select (select |#memory_int| |main_~#array~0.base|) |main_~#array~0.offset|))) (and (= |main_#t~mem2| .cse0) (= 0 .cse0))) [2018-11-23 13:08:50,668 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (= 0 |main_#t~mem2|) [2018-11-23 13:08:50,767 INFO L256 TraceCheckUtils]: 0: Hoare triple {326#true} call ULTIMATE.init(); {326#true} is VALID [2018-11-23 13:08:50,768 INFO L273 TraceCheckUtils]: 1: Hoare triple {326#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {326#true} is VALID [2018-11-23 13:08:50,768 INFO L273 TraceCheckUtils]: 2: Hoare triple {326#true} assume true; {326#true} is VALID [2018-11-23 13:08:50,768 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {326#true} {326#true} #56#return; {326#true} is VALID [2018-11-23 13:08:50,768 INFO L256 TraceCheckUtils]: 4: Hoare triple {326#true} call #t~ret4 := main(); {326#true} is VALID [2018-11-23 13:08:50,769 INFO L273 TraceCheckUtils]: 5: Hoare triple {326#true} call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(4000);havoc ~index~0;~index~0 := 0; {328#(= main_~index~0 0)} is VALID [2018-11-23 13:08:50,771 INFO L273 TraceCheckUtils]: 6: Hoare triple {328#(= main_~index~0 0)} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {351#(= 0 (select (select |#memory_int| |main_~#array~0.base|) |main_~#array~0.offset|))} is VALID [2018-11-23 13:08:50,775 INFO L273 TraceCheckUtils]: 7: Hoare triple {351#(= 0 (select (select |#memory_int| |main_~#array~0.base|) |main_~#array~0.offset|))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {351#(= 0 (select (select |#memory_int| |main_~#array~0.base|) |main_~#array~0.offset|))} is VALID [2018-11-23 13:08:50,778 INFO L273 TraceCheckUtils]: 8: Hoare triple {351#(= 0 (select (select |#memory_int| |main_~#array~0.base|) |main_~#array~0.offset|))} assume !(~index~0 % 4294967296 < 1000); {351#(= 0 (select (select |#memory_int| |main_~#array~0.base|) |main_~#array~0.offset|))} is VALID [2018-11-23 13:08:50,780 INFO L273 TraceCheckUtils]: 9: Hoare triple {351#(= 0 (select (select |#memory_int| |main_~#array~0.base|) |main_~#array~0.offset|))} ~index~0 := 0; {361#(and (= 0 main_~index~0) (= 0 (select (select |#memory_int| |main_~#array~0.base|) |main_~#array~0.offset|)))} is VALID [2018-11-23 13:08:50,780 INFO L273 TraceCheckUtils]: 10: Hoare triple {361#(and (= 0 main_~index~0) (= 0 (select (select |#memory_int| |main_~#array~0.base|) |main_~#array~0.offset|)))} assume !!(~index~0 % 4294967296 < 1000); {361#(and (= 0 main_~index~0) (= 0 (select (select |#memory_int| |main_~#array~0.base|) |main_~#array~0.offset|)))} is VALID [2018-11-23 13:08:50,783 INFO L273 TraceCheckUtils]: 11: Hoare triple {361#(and (= 0 main_~index~0) (= 0 (select (select |#memory_int| |main_~#array~0.base|) |main_~#array~0.offset|)))} assume 0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296;call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {368#(= 0 |main_#t~mem2|)} is VALID [2018-11-23 13:08:50,795 INFO L256 TraceCheckUtils]: 12: Hoare triple {368#(= 0 |main_#t~mem2|)} call __VERIFIER_assert((if 0 == #t~mem2 % 4294967296 then 1 else 0)); {372#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 13:08:50,800 INFO L273 TraceCheckUtils]: 13: Hoare triple {372#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {376#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 13:08:50,800 INFO L273 TraceCheckUtils]: 14: Hoare triple {376#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {327#false} is VALID [2018-11-23 13:08:50,801 INFO L273 TraceCheckUtils]: 15: Hoare triple {327#false} assume !false; {327#false} is VALID [2018-11-23 13:08:50,802 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 13:08:50,821 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 13:08:50,821 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 8] total 9 [2018-11-23 13:08:50,822 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 16 [2018-11-23 13:08:50,822 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:08:50,823 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2018-11-23 13:08:50,868 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:08:50,868 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2018-11-23 13:08:50,869 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-11-23 13:08:50,869 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2018-11-23 13:08:50,870 INFO L87 Difference]: Start difference. First operand 25 states and 28 transitions. Second operand 9 states. [2018-11-23 13:08:51,743 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:08:51,743 INFO L93 Difference]: Finished difference Result 56 states and 65 transitions. [2018-11-23 13:08:51,744 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-11-23 13:08:51,744 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 16 [2018-11-23 13:08:51,744 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:08:51,744 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-23 13:08:51,749 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 63 transitions. [2018-11-23 13:08:51,749 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-23 13:08:51,752 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 63 transitions. [2018-11-23 13:08:51,753 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 63 transitions. [2018-11-23 13:08:51,853 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:08:51,855 INFO L225 Difference]: With dead ends: 56 [2018-11-23 13:08:51,856 INFO L226 Difference]: Without dead ends: 40 [2018-11-23 13:08:51,856 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 10 SyntacticMatches, 2 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 16 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2018-11-23 13:08:51,857 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2018-11-23 13:08:51,950 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 36. [2018-11-23 13:08:51,951 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:08:51,951 INFO L82 GeneralOperation]: Start isEquivalent. First operand 40 states. Second operand 36 states. [2018-11-23 13:08:51,952 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand 36 states. [2018-11-23 13:08:51,952 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 36 states. [2018-11-23 13:08:51,956 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:08:51,956 INFO L93 Difference]: Finished difference Result 40 states and 45 transitions. [2018-11-23 13:08:51,956 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 45 transitions. [2018-11-23 13:08:51,957 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:08:51,958 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:08:51,958 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand 40 states. [2018-11-23 13:08:51,958 INFO L87 Difference]: Start difference. First operand 36 states. Second operand 40 states. [2018-11-23 13:08:51,965 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:08:51,966 INFO L93 Difference]: Finished difference Result 40 states and 45 transitions. [2018-11-23 13:08:51,966 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 45 transitions. [2018-11-23 13:08:51,969 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:08:51,969 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:08:51,969 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:08:51,969 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:08:51,969 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 36 states. [2018-11-23 13:08:51,973 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 40 transitions. [2018-11-23 13:08:51,973 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 40 transitions. Word has length 16 [2018-11-23 13:08:51,973 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:08:51,973 INFO L480 AbstractCegarLoop]: Abstraction has 36 states and 40 transitions. [2018-11-23 13:08:51,974 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2018-11-23 13:08:51,974 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 40 transitions. [2018-11-23 13:08:51,977 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2018-11-23 13:08:51,977 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:08:51,977 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:08:51,977 INFO L423 AbstractCegarLoop]: === Iteration 4 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:08:51,977 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:08:51,978 INFO L82 PathProgramCache]: Analyzing trace with hash 909633835, now seen corresponding path program 1 times [2018-11-23 13:08:51,978 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:08:51,978 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:08:51,979 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:08:51,979 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:08:51,979 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:08:52,025 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:08:52,422 INFO L256 TraceCheckUtils]: 0: Hoare triple {596#true} call ULTIMATE.init(); {596#true} is VALID [2018-11-23 13:08:52,423 INFO L273 TraceCheckUtils]: 1: Hoare triple {596#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {596#true} is VALID [2018-11-23 13:08:52,423 INFO L273 TraceCheckUtils]: 2: Hoare triple {596#true} assume true; {596#true} is VALID [2018-11-23 13:08:52,424 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {596#true} {596#true} #56#return; {596#true} is VALID [2018-11-23 13:08:52,424 INFO L256 TraceCheckUtils]: 4: Hoare triple {596#true} call #t~ret4 := main(); {596#true} is VALID [2018-11-23 13:08:52,427 INFO L273 TraceCheckUtils]: 5: Hoare triple {596#true} call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(4000);havoc ~index~0;~index~0 := 0; {598#(= main_~index~0 0)} is VALID [2018-11-23 13:08:52,428 INFO L273 TraceCheckUtils]: 6: Hoare triple {598#(= main_~index~0 0)} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {598#(= main_~index~0 0)} is VALID [2018-11-23 13:08:52,428 INFO L273 TraceCheckUtils]: 7: Hoare triple {598#(= main_~index~0 0)} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {599#(and (<= main_~index~0 1) (<= 1 main_~index~0))} is VALID [2018-11-23 13:08:52,429 INFO L273 TraceCheckUtils]: 8: Hoare triple {599#(and (<= main_~index~0 1) (<= 1 main_~index~0))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {599#(and (<= main_~index~0 1) (<= 1 main_~index~0))} is VALID [2018-11-23 13:08:52,430 INFO L273 TraceCheckUtils]: 9: Hoare triple {599#(and (<= main_~index~0 1) (<= 1 main_~index~0))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {600#(and (< 0 (+ (div main_~index~0 4294967296) 1)) (<= main_~index~0 2))} is VALID [2018-11-23 13:08:52,431 INFO L273 TraceCheckUtils]: 10: Hoare triple {600#(and (< 0 (+ (div main_~index~0 4294967296) 1)) (<= main_~index~0 2))} assume !(~index~0 % 4294967296 < 1000); {597#false} is VALID [2018-11-23 13:08:52,431 INFO L273 TraceCheckUtils]: 11: Hoare triple {597#false} ~index~0 := 0; {597#false} is VALID [2018-11-23 13:08:52,431 INFO L273 TraceCheckUtils]: 12: Hoare triple {597#false} assume !!(~index~0 % 4294967296 < 1000); {597#false} is VALID [2018-11-23 13:08:52,432 INFO L273 TraceCheckUtils]: 13: Hoare triple {597#false} assume 0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296;call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {597#false} is VALID [2018-11-23 13:08:52,432 INFO L256 TraceCheckUtils]: 14: Hoare triple {597#false} call __VERIFIER_assert((if 0 == #t~mem2 % 4294967296 then 1 else 0)); {596#true} is VALID [2018-11-23 13:08:52,433 INFO L273 TraceCheckUtils]: 15: Hoare triple {596#true} ~cond := #in~cond; {596#true} is VALID [2018-11-23 13:08:52,433 INFO L273 TraceCheckUtils]: 16: Hoare triple {596#true} assume !(0 == ~cond); {596#true} is VALID [2018-11-23 13:08:52,433 INFO L273 TraceCheckUtils]: 17: Hoare triple {596#true} assume true; {596#true} is VALID [2018-11-23 13:08:52,434 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {596#true} {597#false} #60#return; {597#false} is VALID [2018-11-23 13:08:52,434 INFO L273 TraceCheckUtils]: 19: Hoare triple {597#false} havoc #t~mem2; {597#false} is VALID [2018-11-23 13:08:52,434 INFO L273 TraceCheckUtils]: 20: Hoare triple {597#false} #t~post1 := ~index~0;~index~0 := 1 + #t~post1;havoc #t~post1; {597#false} is VALID [2018-11-23 13:08:52,434 INFO L273 TraceCheckUtils]: 21: Hoare triple {597#false} assume !!(~index~0 % 4294967296 < 1000); {597#false} is VALID [2018-11-23 13:08:52,435 INFO L273 TraceCheckUtils]: 22: Hoare triple {597#false} assume !(0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {597#false} is VALID [2018-11-23 13:08:52,435 INFO L256 TraceCheckUtils]: 23: Hoare triple {597#false} call __VERIFIER_assert((if 0 != #t~mem3 % 4294967296 then 1 else 0)); {597#false} is VALID [2018-11-23 13:08:52,435 INFO L273 TraceCheckUtils]: 24: Hoare triple {597#false} ~cond := #in~cond; {597#false} is VALID [2018-11-23 13:08:52,435 INFO L273 TraceCheckUtils]: 25: Hoare triple {597#false} assume 0 == ~cond; {597#false} is VALID [2018-11-23 13:08:52,436 INFO L273 TraceCheckUtils]: 26: Hoare triple {597#false} assume !false; {597#false} is VALID [2018-11-23 13:08:52,437 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2018-11-23 13:08:52,437 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 13:08:52,437 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 13:08:52,446 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:08:52,464 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:08:52,480 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:08:52,481 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:08:52,600 WARN L307 Elim1Store]: Array PQE input equivalent to false [2018-11-23 13:08:52,602 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 13:08:52,604 WARN L307 Elim1Store]: Array PQE input equivalent to false [2018-11-23 13:08:52,608 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 13:08:52,679 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 19 treesize of output 16 [2018-11-23 13:08:52,684 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 15 [2018-11-23 13:08:52,687 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 13:08:52,691 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:08:52,705 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 4 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 13:08:52,705 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 5 variables, input treesize:271, output treesize:22 [2018-11-23 13:08:52,716 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:08:52,716 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_8|, main_~index~0, v_prenex_3, v_prenex_1, v_prenex_2]. (let ((.cse14 (mod main_~index~0 4294967296))) (let ((.cse16 (* 4 .cse14)) (.cse15 (mod main_~index~0 2))) (let ((.cse11 (= .cse15 0)) (.cse13 (+ .cse16 |main_~#array~0.offset|)) (.cse7 (+ .cse16 |main_~#array~0.offset| (- 17179869184))) (.cse4 (<= .cse14 2147483647)) (.cse6 (< .cse14 0))) (let ((.cse2 (not .cse6)) (.cse9 (not .cse4)) (.cse12 (= |#memory_int| (store v_prenex_1 |main_~#array~0.base| (store (select v_prenex_1 |main_~#array~0.base|) .cse7 .cse15)))) (.cse3 (= |#memory_int| (store |v_#memory_int_8| |main_~#array~0.base| (store (select |v_#memory_int_8| |main_~#array~0.base|) .cse13 .cse15)))) (.cse0 (<= main_~index~0 1)) (.cse1 (<= 1 main_~index~0)) (.cse10 (not .cse11)) (.cse8 (+ .cse15 (- 2))) (.cse5 (< .cse14 1000))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4 .cse5) (and .cse6 .cse0 .cse1 (= |#memory_int| (store v_prenex_3 |main_~#array~0.base| (store (select v_prenex_3 |main_~#array~0.base|) .cse7 .cse8))) .cse9 .cse10 .cse5) (and .cse0 .cse1 .cse9 .cse11 .cse12 .cse5) (and .cse0 .cse1 .cse2 .cse9 .cse12 .cse5) (and .cse0 .cse1 .cse11 .cse5 .cse3 .cse4) (and .cse6 .cse0 .cse1 .cse10 (= |#memory_int| (store v_prenex_2 |main_~#array~0.base| (store (select v_prenex_2 |main_~#array~0.base|) .cse13 .cse8))) .cse4 .cse5)))))) [2018-11-23 13:08:52,717 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [main_~index~0]. (and (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod main_~index~0 4294967296)) |main_~#array~0.offset|))) (<= main_~index~0 1) (<= 1 main_~index~0)) [2018-11-23 13:08:53,702 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 21 [2018-11-23 13:08:53,711 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 13:08:53,712 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 17 [2018-11-23 13:08:53,715 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 13:08:53,722 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:08:53,732 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 13:08:53,732 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 4 variables, input treesize:31, output treesize:12 [2018-11-23 13:08:53,737 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:08:53,737 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#array~0.base|, v_prenex_4, |main_~#array~0.offset|]. (let ((.cse0 (select |#memory_int| |main_~#array~0.base|))) (and (<= 1 v_prenex_4) (= (mod v_prenex_4 2) (select .cse0 (+ (* 4 (mod v_prenex_4 4294967296)) |main_~#array~0.offset|))) (= (select .cse0 (+ |main_~#array~0.offset| 4)) |main_#t~mem3|) (<= v_prenex_4 1))) [2018-11-23 13:08:53,737 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_prenex_4]. (and (<= 1 v_prenex_4) (= |main_#t~mem3| (mod v_prenex_4 2)) (<= v_prenex_4 1)) [2018-11-23 13:08:53,962 INFO L256 TraceCheckUtils]: 0: Hoare triple {596#true} call ULTIMATE.init(); {596#true} is VALID [2018-11-23 13:08:53,963 INFO L273 TraceCheckUtils]: 1: Hoare triple {596#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {596#true} is VALID [2018-11-23 13:08:53,963 INFO L273 TraceCheckUtils]: 2: Hoare triple {596#true} assume true; {596#true} is VALID [2018-11-23 13:08:53,964 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {596#true} {596#true} #56#return; {596#true} is VALID [2018-11-23 13:08:53,964 INFO L256 TraceCheckUtils]: 4: Hoare triple {596#true} call #t~ret4 := main(); {596#true} is VALID [2018-11-23 13:08:53,965 INFO L273 TraceCheckUtils]: 5: Hoare triple {596#true} call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(4000);havoc ~index~0;~index~0 := 0; {598#(= main_~index~0 0)} is VALID [2018-11-23 13:08:53,966 INFO L273 TraceCheckUtils]: 6: Hoare triple {598#(= main_~index~0 0)} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {598#(= main_~index~0 0)} is VALID [2018-11-23 13:08:53,967 INFO L273 TraceCheckUtils]: 7: Hoare triple {598#(= main_~index~0 0)} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {599#(and (<= main_~index~0 1) (<= 1 main_~index~0))} is VALID [2018-11-23 13:08:53,969 INFO L273 TraceCheckUtils]: 8: Hoare triple {599#(and (<= main_~index~0 1) (<= 1 main_~index~0))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {628#(exists ((main_~index~0 Int)) (and (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod main_~index~0 4294967296)) |main_~#array~0.offset|))) (<= main_~index~0 1) (<= 1 main_~index~0)))} is VALID [2018-11-23 13:08:53,970 INFO L273 TraceCheckUtils]: 9: Hoare triple {628#(exists ((main_~index~0 Int)) (and (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod main_~index~0 4294967296)) |main_~#array~0.offset|))) (<= main_~index~0 1) (<= 1 main_~index~0)))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {628#(exists ((main_~index~0 Int)) (and (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod main_~index~0 4294967296)) |main_~#array~0.offset|))) (<= main_~index~0 1) (<= 1 main_~index~0)))} is VALID [2018-11-23 13:08:53,971 INFO L273 TraceCheckUtils]: 10: Hoare triple {628#(exists ((main_~index~0 Int)) (and (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod main_~index~0 4294967296)) |main_~#array~0.offset|))) (<= main_~index~0 1) (<= 1 main_~index~0)))} assume !(~index~0 % 4294967296 < 1000); {628#(exists ((main_~index~0 Int)) (and (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod main_~index~0 4294967296)) |main_~#array~0.offset|))) (<= main_~index~0 1) (<= 1 main_~index~0)))} is VALID [2018-11-23 13:08:53,973 INFO L273 TraceCheckUtils]: 11: Hoare triple {628#(exists ((main_~index~0 Int)) (and (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod main_~index~0 4294967296)) |main_~#array~0.offset|))) (<= main_~index~0 1) (<= 1 main_~index~0)))} ~index~0 := 0; {638#(and (exists ((v_prenex_4 Int)) (and (<= 1 v_prenex_4) (= (mod v_prenex_4 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_4 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_4 1))) (= 0 main_~index~0))} is VALID [2018-11-23 13:08:53,974 INFO L273 TraceCheckUtils]: 12: Hoare triple {638#(and (exists ((v_prenex_4 Int)) (and (<= 1 v_prenex_4) (= (mod v_prenex_4 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_4 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_4 1))) (= 0 main_~index~0))} assume !!(~index~0 % 4294967296 < 1000); {638#(and (exists ((v_prenex_4 Int)) (and (<= 1 v_prenex_4) (= (mod v_prenex_4 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_4 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_4 1))) (= 0 main_~index~0))} is VALID [2018-11-23 13:08:53,976 INFO L273 TraceCheckUtils]: 13: Hoare triple {638#(and (exists ((v_prenex_4 Int)) (and (<= 1 v_prenex_4) (= (mod v_prenex_4 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_4 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_4 1))) (= 0 main_~index~0))} assume 0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296;call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {638#(and (exists ((v_prenex_4 Int)) (and (<= 1 v_prenex_4) (= (mod v_prenex_4 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_4 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_4 1))) (= 0 main_~index~0))} is VALID [2018-11-23 13:08:53,979 INFO L256 TraceCheckUtils]: 14: Hoare triple {638#(and (exists ((v_prenex_4 Int)) (and (<= 1 v_prenex_4) (= (mod v_prenex_4 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_4 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_4 1))) (= 0 main_~index~0))} call __VERIFIER_assert((if 0 == #t~mem2 % 4294967296 then 1 else 0)); {648#(exists ((|v_main_~#array~0.base_BEFORE_CALL_1| Int) (|v_main_~#array~0.offset_BEFORE_CALL_1| Int) (v_prenex_4 Int)) (and (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_1|) (+ |v_main_~#array~0.offset_BEFORE_CALL_1| (* 4 (mod v_prenex_4 4294967296)))) (mod v_prenex_4 2)) (<= 1 v_prenex_4) (<= v_prenex_4 1)))} is VALID [2018-11-23 13:08:53,980 INFO L273 TraceCheckUtils]: 15: Hoare triple {648#(exists ((|v_main_~#array~0.base_BEFORE_CALL_1| Int) (|v_main_~#array~0.offset_BEFORE_CALL_1| Int) (v_prenex_4 Int)) (and (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_1|) (+ |v_main_~#array~0.offset_BEFORE_CALL_1| (* 4 (mod v_prenex_4 4294967296)))) (mod v_prenex_4 2)) (<= 1 v_prenex_4) (<= v_prenex_4 1)))} ~cond := #in~cond; {652#(and (exists ((|v_main_~#array~0.base_BEFORE_CALL_1| Int) (|v_main_~#array~0.offset_BEFORE_CALL_1| Int) (v_prenex_4 Int)) (and (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_1|) (+ |v_main_~#array~0.offset_BEFORE_CALL_1| (* 4 (mod v_prenex_4 4294967296)))) (mod v_prenex_4 2)) (<= 1 v_prenex_4) (<= v_prenex_4 1))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} is VALID [2018-11-23 13:08:53,983 INFO L273 TraceCheckUtils]: 16: Hoare triple {652#(and (exists ((|v_main_~#array~0.base_BEFORE_CALL_1| Int) (|v_main_~#array~0.offset_BEFORE_CALL_1| Int) (v_prenex_4 Int)) (and (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_1|) (+ |v_main_~#array~0.offset_BEFORE_CALL_1| (* 4 (mod v_prenex_4 4294967296)))) (mod v_prenex_4 2)) (<= 1 v_prenex_4) (<= v_prenex_4 1))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} assume !(0 == ~cond); {656#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#array~0.base_BEFORE_CALL_1| Int) (|v_main_~#array~0.offset_BEFORE_CALL_1| Int) (v_prenex_4 Int)) (and (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_1|) (+ |v_main_~#array~0.offset_BEFORE_CALL_1| (* 4 (mod v_prenex_4 4294967296)))) (mod v_prenex_4 2)) (<= 1 v_prenex_4) (<= v_prenex_4 1))))} is VALID [2018-11-23 13:08:53,984 INFO L273 TraceCheckUtils]: 17: Hoare triple {656#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#array~0.base_BEFORE_CALL_1| Int) (|v_main_~#array~0.offset_BEFORE_CALL_1| Int) (v_prenex_4 Int)) (and (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_1|) (+ |v_main_~#array~0.offset_BEFORE_CALL_1| (* 4 (mod v_prenex_4 4294967296)))) (mod v_prenex_4 2)) (<= 1 v_prenex_4) (<= v_prenex_4 1))))} assume true; {656#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#array~0.base_BEFORE_CALL_1| Int) (|v_main_~#array~0.offset_BEFORE_CALL_1| Int) (v_prenex_4 Int)) (and (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_1|) (+ |v_main_~#array~0.offset_BEFORE_CALL_1| (* 4 (mod v_prenex_4 4294967296)))) (mod v_prenex_4 2)) (<= 1 v_prenex_4) (<= v_prenex_4 1))))} is VALID [2018-11-23 13:08:53,989 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {656#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#array~0.base_BEFORE_CALL_1| Int) (|v_main_~#array~0.offset_BEFORE_CALL_1| Int) (v_prenex_4 Int)) (and (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_1|) (+ |v_main_~#array~0.offset_BEFORE_CALL_1| (* 4 (mod v_prenex_4 4294967296)))) (mod v_prenex_4 2)) (<= 1 v_prenex_4) (<= v_prenex_4 1))))} {638#(and (exists ((v_prenex_4 Int)) (and (<= 1 v_prenex_4) (= (mod v_prenex_4 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_4 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_4 1))) (= 0 main_~index~0))} #60#return; {638#(and (exists ((v_prenex_4 Int)) (and (<= 1 v_prenex_4) (= (mod v_prenex_4 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_4 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_4 1))) (= 0 main_~index~0))} is VALID [2018-11-23 13:08:53,990 INFO L273 TraceCheckUtils]: 19: Hoare triple {638#(and (exists ((v_prenex_4 Int)) (and (<= 1 v_prenex_4) (= (mod v_prenex_4 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_4 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_4 1))) (= 0 main_~index~0))} havoc #t~mem2; {638#(and (exists ((v_prenex_4 Int)) (and (<= 1 v_prenex_4) (= (mod v_prenex_4 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_4 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_4 1))) (= 0 main_~index~0))} is VALID [2018-11-23 13:08:53,991 INFO L273 TraceCheckUtils]: 20: Hoare triple {638#(and (exists ((v_prenex_4 Int)) (and (<= 1 v_prenex_4) (= (mod v_prenex_4 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_4 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_4 1))) (= 0 main_~index~0))} #t~post1 := ~index~0;~index~0 := 1 + #t~post1;havoc #t~post1; {669#(and (= 1 main_~index~0) (exists ((v_prenex_4 Int)) (and (<= 1 v_prenex_4) (= (mod v_prenex_4 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_4 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_4 1))))} is VALID [2018-11-23 13:08:53,992 INFO L273 TraceCheckUtils]: 21: Hoare triple {669#(and (= 1 main_~index~0) (exists ((v_prenex_4 Int)) (and (<= 1 v_prenex_4) (= (mod v_prenex_4 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_4 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_4 1))))} assume !!(~index~0 % 4294967296 < 1000); {669#(and (= 1 main_~index~0) (exists ((v_prenex_4 Int)) (and (<= 1 v_prenex_4) (= (mod v_prenex_4 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_4 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_4 1))))} is VALID [2018-11-23 13:08:53,995 INFO L273 TraceCheckUtils]: 22: Hoare triple {669#(and (= 1 main_~index~0) (exists ((v_prenex_4 Int)) (and (<= 1 v_prenex_4) (= (mod v_prenex_4 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_4 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_4 1))))} assume !(0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {676#(exists ((v_prenex_4 Int)) (and (<= 1 v_prenex_4) (= |main_#t~mem3| (mod v_prenex_4 2)) (<= v_prenex_4 1)))} is VALID [2018-11-23 13:08:53,996 INFO L256 TraceCheckUtils]: 23: Hoare triple {676#(exists ((v_prenex_4 Int)) (and (<= 1 v_prenex_4) (= |main_#t~mem3| (mod v_prenex_4 2)) (<= v_prenex_4 1)))} call __VERIFIER_assert((if 0 != #t~mem3 % 4294967296 then 1 else 0)); {680#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 13:08:53,997 INFO L273 TraceCheckUtils]: 24: Hoare triple {680#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {684#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 13:08:53,999 INFO L273 TraceCheckUtils]: 25: Hoare triple {684#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {597#false} is VALID [2018-11-23 13:08:54,000 INFO L273 TraceCheckUtils]: 26: Hoare triple {597#false} assume !false; {597#false} is VALID [2018-11-23 13:08:54,006 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 13:08:54,033 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 13:08:54,033 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 13] total 14 [2018-11-23 13:08:54,034 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 27 [2018-11-23 13:08:54,034 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:08:54,034 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states. [2018-11-23 13:08:54,133 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:08:54,133 INFO L459 AbstractCegarLoop]: Interpolant automaton has 14 states [2018-11-23 13:08:54,133 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2018-11-23 13:08:54,133 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=38, Invalid=144, Unknown=0, NotChecked=0, Total=182 [2018-11-23 13:08:54,134 INFO L87 Difference]: Start difference. First operand 36 states and 40 transitions. Second operand 14 states. [2018-11-23 13:08:58,085 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:08:58,085 INFO L93 Difference]: Finished difference Result 76 states and 87 transitions. [2018-11-23 13:08:58,086 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2018-11-23 13:08:58,086 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 27 [2018-11-23 13:08:58,086 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:08:58,086 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-11-23 13:08:58,090 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 72 transitions. [2018-11-23 13:08:58,091 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-11-23 13:08:58,094 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 72 transitions. [2018-11-23 13:08:58,095 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 72 transitions. [2018-11-23 13:08:58,396 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:08:58,400 INFO L225 Difference]: With dead ends: 76 [2018-11-23 13:08:58,400 INFO L226 Difference]: Without dead ends: 51 [2018-11-23 13:08:58,401 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 36 GetRequests, 15 SyntacticMatches, 4 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 63 ImplicationChecksByTransitivity, 1.3s TimeCoverageRelationStatistics Valid=73, Invalid=269, Unknown=0, NotChecked=0, Total=342 [2018-11-23 13:08:58,402 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2018-11-23 13:08:58,536 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 47. [2018-11-23 13:08:58,536 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:08:58,536 INFO L82 GeneralOperation]: Start isEquivalent. First operand 51 states. Second operand 47 states. [2018-11-23 13:08:58,536 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand 47 states. [2018-11-23 13:08:58,537 INFO L87 Difference]: Start difference. First operand 51 states. Second operand 47 states. [2018-11-23 13:08:58,541 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:08:58,541 INFO L93 Difference]: Finished difference Result 51 states and 56 transitions. [2018-11-23 13:08:58,541 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 56 transitions. [2018-11-23 13:08:58,542 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:08:58,542 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:08:58,542 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand 51 states. [2018-11-23 13:08:58,542 INFO L87 Difference]: Start difference. First operand 47 states. Second operand 51 states. [2018-11-23 13:08:58,545 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:08:58,546 INFO L93 Difference]: Finished difference Result 51 states and 56 transitions. [2018-11-23 13:08:58,546 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 56 transitions. [2018-11-23 13:08:58,547 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:08:58,547 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:08:58,547 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:08:58,547 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:08:58,548 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 47 states. [2018-11-23 13:08:58,550 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 51 transitions. [2018-11-23 13:08:58,550 INFO L78 Accepts]: Start accepts. Automaton has 47 states and 51 transitions. Word has length 27 [2018-11-23 13:08:58,550 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:08:58,551 INFO L480 AbstractCegarLoop]: Abstraction has 47 states and 51 transitions. [2018-11-23 13:08:58,551 INFO L481 AbstractCegarLoop]: Interpolant automaton has 14 states. [2018-11-23 13:08:58,551 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 51 transitions. [2018-11-23 13:08:58,552 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2018-11-23 13:08:58,552 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:08:58,552 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:08:58,553 INFO L423 AbstractCegarLoop]: === Iteration 5 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:08:58,553 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:08:58,553 INFO L82 PathProgramCache]: Analyzing trace with hash 1108091277, now seen corresponding path program 1 times [2018-11-23 13:08:58,553 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:08:58,553 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:08:58,554 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:08:58,555 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:08:58,555 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:08:58,610 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:08:59,008 INFO L256 TraceCheckUtils]: 0: Hoare triple {972#true} call ULTIMATE.init(); {972#true} is VALID [2018-11-23 13:08:59,009 INFO L273 TraceCheckUtils]: 1: Hoare triple {972#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {972#true} is VALID [2018-11-23 13:08:59,009 INFO L273 TraceCheckUtils]: 2: Hoare triple {972#true} assume true; {972#true} is VALID [2018-11-23 13:08:59,009 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {972#true} {972#true} #56#return; {972#true} is VALID [2018-11-23 13:08:59,010 INFO L256 TraceCheckUtils]: 4: Hoare triple {972#true} call #t~ret4 := main(); {972#true} is VALID [2018-11-23 13:08:59,011 INFO L273 TraceCheckUtils]: 5: Hoare triple {972#true} call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(4000);havoc ~index~0;~index~0 := 0; {974#(= main_~index~0 0)} is VALID [2018-11-23 13:08:59,011 INFO L273 TraceCheckUtils]: 6: Hoare triple {974#(= main_~index~0 0)} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {974#(= main_~index~0 0)} is VALID [2018-11-23 13:08:59,027 INFO L273 TraceCheckUtils]: 7: Hoare triple {974#(= main_~index~0 0)} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {975#(and (<= main_~index~0 1) (<= 1 main_~index~0))} is VALID [2018-11-23 13:08:59,028 INFO L273 TraceCheckUtils]: 8: Hoare triple {975#(and (<= main_~index~0 1) (<= 1 main_~index~0))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {975#(and (<= main_~index~0 1) (<= 1 main_~index~0))} is VALID [2018-11-23 13:08:59,028 INFO L273 TraceCheckUtils]: 9: Hoare triple {975#(and (<= main_~index~0 1) (<= 1 main_~index~0))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {976#(and (<= 2 main_~index~0) (<= main_~index~0 2))} is VALID [2018-11-23 13:08:59,031 INFO L273 TraceCheckUtils]: 10: Hoare triple {976#(and (<= 2 main_~index~0) (<= main_~index~0 2))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {976#(and (<= 2 main_~index~0) (<= main_~index~0 2))} is VALID [2018-11-23 13:08:59,032 INFO L273 TraceCheckUtils]: 11: Hoare triple {976#(and (<= 2 main_~index~0) (<= main_~index~0 2))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {977#(and (< 0 (+ (div main_~index~0 4294967296) 1)) (<= main_~index~0 3))} is VALID [2018-11-23 13:08:59,032 INFO L273 TraceCheckUtils]: 12: Hoare triple {977#(and (< 0 (+ (div main_~index~0 4294967296) 1)) (<= main_~index~0 3))} assume !(~index~0 % 4294967296 < 1000); {973#false} is VALID [2018-11-23 13:08:59,033 INFO L273 TraceCheckUtils]: 13: Hoare triple {973#false} ~index~0 := 0; {973#false} is VALID [2018-11-23 13:08:59,033 INFO L273 TraceCheckUtils]: 14: Hoare triple {973#false} assume !!(~index~0 % 4294967296 < 1000); {973#false} is VALID [2018-11-23 13:08:59,033 INFO L273 TraceCheckUtils]: 15: Hoare triple {973#false} assume 0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296;call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {973#false} is VALID [2018-11-23 13:08:59,033 INFO L256 TraceCheckUtils]: 16: Hoare triple {973#false} call __VERIFIER_assert((if 0 == #t~mem2 % 4294967296 then 1 else 0)); {972#true} is VALID [2018-11-23 13:08:59,034 INFO L273 TraceCheckUtils]: 17: Hoare triple {972#true} ~cond := #in~cond; {972#true} is VALID [2018-11-23 13:08:59,034 INFO L273 TraceCheckUtils]: 18: Hoare triple {972#true} assume !(0 == ~cond); {972#true} is VALID [2018-11-23 13:08:59,034 INFO L273 TraceCheckUtils]: 19: Hoare triple {972#true} assume true; {972#true} is VALID [2018-11-23 13:08:59,035 INFO L268 TraceCheckUtils]: 20: Hoare quadruple {972#true} {973#false} #60#return; {973#false} is VALID [2018-11-23 13:08:59,035 INFO L273 TraceCheckUtils]: 21: Hoare triple {973#false} havoc #t~mem2; {973#false} is VALID [2018-11-23 13:08:59,036 INFO L273 TraceCheckUtils]: 22: Hoare triple {973#false} #t~post1 := ~index~0;~index~0 := 1 + #t~post1;havoc #t~post1; {973#false} is VALID [2018-11-23 13:08:59,036 INFO L273 TraceCheckUtils]: 23: Hoare triple {973#false} assume !!(~index~0 % 4294967296 < 1000); {973#false} is VALID [2018-11-23 13:08:59,036 INFO L273 TraceCheckUtils]: 24: Hoare triple {973#false} assume !(0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {973#false} is VALID [2018-11-23 13:08:59,037 INFO L256 TraceCheckUtils]: 25: Hoare triple {973#false} call __VERIFIER_assert((if 0 != #t~mem3 % 4294967296 then 1 else 0)); {972#true} is VALID [2018-11-23 13:08:59,037 INFO L273 TraceCheckUtils]: 26: Hoare triple {972#true} ~cond := #in~cond; {972#true} is VALID [2018-11-23 13:08:59,037 INFO L273 TraceCheckUtils]: 27: Hoare triple {972#true} assume !(0 == ~cond); {972#true} is VALID [2018-11-23 13:08:59,037 INFO L273 TraceCheckUtils]: 28: Hoare triple {972#true} assume true; {972#true} is VALID [2018-11-23 13:08:59,039 INFO L268 TraceCheckUtils]: 29: Hoare quadruple {972#true} {973#false} #62#return; {973#false} is VALID [2018-11-23 13:08:59,039 INFO L273 TraceCheckUtils]: 30: Hoare triple {973#false} havoc #t~mem3; {973#false} is VALID [2018-11-23 13:08:59,039 INFO L273 TraceCheckUtils]: 31: Hoare triple {973#false} #t~post1 := ~index~0;~index~0 := 1 + #t~post1;havoc #t~post1; {973#false} is VALID [2018-11-23 13:08:59,039 INFO L273 TraceCheckUtils]: 32: Hoare triple {973#false} assume !!(~index~0 % 4294967296 < 1000); {973#false} is VALID [2018-11-23 13:08:59,040 INFO L273 TraceCheckUtils]: 33: Hoare triple {973#false} assume 0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296;call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {973#false} is VALID [2018-11-23 13:08:59,040 INFO L256 TraceCheckUtils]: 34: Hoare triple {973#false} call __VERIFIER_assert((if 0 == #t~mem2 % 4294967296 then 1 else 0)); {973#false} is VALID [2018-11-23 13:08:59,040 INFO L273 TraceCheckUtils]: 35: Hoare triple {973#false} ~cond := #in~cond; {973#false} is VALID [2018-11-23 13:08:59,040 INFO L273 TraceCheckUtils]: 36: Hoare triple {973#false} assume 0 == ~cond; {973#false} is VALID [2018-11-23 13:08:59,040 INFO L273 TraceCheckUtils]: 37: Hoare triple {973#false} assume !false; {973#false} is VALID [2018-11-23 13:08:59,046 INFO L134 CoverageAnalysis]: Checked inductivity of 25 backedges. 4 proven. 9 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 13:08:59,047 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 13:08:59,047 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 13:08:59,055 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:08:59,085 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:08:59,105 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:08:59,107 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:08:59,398 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 42 treesize of output 39 [2018-11-23 13:08:59,405 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 15 [2018-11-23 13:08:59,407 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 13:08:59,494 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:08:59,500 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 41 treesize of output 38 [2018-11-23 13:08:59,506 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 15 [2018-11-23 13:08:59,508 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 13:08:59,529 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:08:59,700 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 4 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 13:08:59,701 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 5 variables, input treesize:271, output treesize:22 [2018-11-23 13:08:59,716 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:08:59,717 WARN L384 uantifierElimination]: Input elimination task: ∃ [v_prenex_6, main_~index~0, v_prenex_7, v_prenex_8, |v_#memory_int_9|]. (let ((.cse14 (mod main_~index~0 4294967296))) (let ((.cse16 (* 4 .cse14)) (.cse15 (mod main_~index~0 2))) (let ((.cse10 (= .cse15 0)) (.cse6 (<= .cse14 2147483647)) (.cse1 (+ .cse16 |main_~#array~0.offset|)) (.cse0 (< .cse14 0)) (.cse13 (+ .cse16 |main_~#array~0.offset| (- 17179869184)))) (let ((.cse8 (= (store v_prenex_7 |main_~#array~0.base| (store (select v_prenex_7 |main_~#array~0.base|) .cse13 .cse15)) |#memory_int|)) (.cse11 (not .cse0)) (.cse12 (= |#memory_int| (store v_prenex_8 |main_~#array~0.base| (store (select v_prenex_8 |main_~#array~0.base|) .cse1 .cse15)))) (.cse2 (+ .cse15 (- 2))) (.cse3 (<= 2 main_~index~0)) (.cse9 (not .cse6)) (.cse4 (not .cse10)) (.cse5 (<= main_~index~0 2)) (.cse7 (< .cse14 1000))) (or (and .cse0 (= (store v_prenex_6 |main_~#array~0.base| (store (select v_prenex_6 |main_~#array~0.base|) .cse1 .cse2)) |#memory_int|) .cse3 .cse4 .cse5 .cse6 .cse7) (and .cse3 .cse8 .cse9 .cse10 .cse5 .cse7) (and .cse3 .cse11 .cse8 .cse9 .cse5 .cse7) (and .cse3 .cse11 .cse12 .cse5 .cse6 .cse7) (and .cse3 .cse12 .cse10 .cse5 .cse7 .cse6) (and .cse0 (= |#memory_int| (store |v_#memory_int_9| |main_~#array~0.base| (store (select |v_#memory_int_9| |main_~#array~0.base|) .cse13 .cse2))) .cse3 .cse9 .cse4 .cse5 .cse7)))))) [2018-11-23 13:08:59,717 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [main_~index~0]. (and (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod main_~index~0 4294967296)) |main_~#array~0.offset|))) (<= 2 main_~index~0) (<= main_~index~0 2)) [2018-11-23 13:09:00,765 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 21 [2018-11-23 13:09:00,771 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 13:09:00,772 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 17 [2018-11-23 13:09:00,774 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 13:09:00,780 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:09:00,789 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 13:09:00,789 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 4 variables, input treesize:31, output treesize:12 [2018-11-23 13:09:00,795 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:09:00,795 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#array~0.base|, v_prenex_9, |main_~#array~0.offset|]. (let ((.cse0 (select |#memory_int| |main_~#array~0.base|))) (and (<= 2 v_prenex_9) (= (mod v_prenex_9 2) (select .cse0 (+ (* 4 (mod v_prenex_9 4294967296)) |main_~#array~0.offset|))) (= (select .cse0 (+ |main_~#array~0.offset| 8)) |main_#t~mem2|) (<= v_prenex_9 2))) [2018-11-23 13:09:00,796 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_prenex_9]. (and (<= 2 v_prenex_9) (= |main_#t~mem2| (mod v_prenex_9 2)) (<= v_prenex_9 2)) [2018-11-23 13:09:00,861 INFO L256 TraceCheckUtils]: 0: Hoare triple {972#true} call ULTIMATE.init(); {972#true} is VALID [2018-11-23 13:09:00,862 INFO L273 TraceCheckUtils]: 1: Hoare triple {972#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {972#true} is VALID [2018-11-23 13:09:00,862 INFO L273 TraceCheckUtils]: 2: Hoare triple {972#true} assume true; {972#true} is VALID [2018-11-23 13:09:00,862 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {972#true} {972#true} #56#return; {972#true} is VALID [2018-11-23 13:09:00,862 INFO L256 TraceCheckUtils]: 4: Hoare triple {972#true} call #t~ret4 := main(); {972#true} is VALID [2018-11-23 13:09:00,863 INFO L273 TraceCheckUtils]: 5: Hoare triple {972#true} call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(4000);havoc ~index~0;~index~0 := 0; {974#(= main_~index~0 0)} is VALID [2018-11-23 13:09:00,863 INFO L273 TraceCheckUtils]: 6: Hoare triple {974#(= main_~index~0 0)} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {974#(= main_~index~0 0)} is VALID [2018-11-23 13:09:00,864 INFO L273 TraceCheckUtils]: 7: Hoare triple {974#(= main_~index~0 0)} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {975#(and (<= main_~index~0 1) (<= 1 main_~index~0))} is VALID [2018-11-23 13:09:00,864 INFO L273 TraceCheckUtils]: 8: Hoare triple {975#(and (<= main_~index~0 1) (<= 1 main_~index~0))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {975#(and (<= main_~index~0 1) (<= 1 main_~index~0))} is VALID [2018-11-23 13:09:00,865 INFO L273 TraceCheckUtils]: 9: Hoare triple {975#(and (<= main_~index~0 1) (<= 1 main_~index~0))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {976#(and (<= 2 main_~index~0) (<= main_~index~0 2))} is VALID [2018-11-23 13:09:00,869 INFO L273 TraceCheckUtils]: 10: Hoare triple {976#(and (<= 2 main_~index~0) (<= main_~index~0 2))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {1011#(exists ((main_~index~0 Int)) (and (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod main_~index~0 4294967296)) |main_~#array~0.offset|))) (<= 2 main_~index~0) (<= main_~index~0 2)))} is VALID [2018-11-23 13:09:00,870 INFO L273 TraceCheckUtils]: 11: Hoare triple {1011#(exists ((main_~index~0 Int)) (and (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod main_~index~0 4294967296)) |main_~#array~0.offset|))) (<= 2 main_~index~0) (<= main_~index~0 2)))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {1011#(exists ((main_~index~0 Int)) (and (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod main_~index~0 4294967296)) |main_~#array~0.offset|))) (<= 2 main_~index~0) (<= main_~index~0 2)))} is VALID [2018-11-23 13:09:00,870 INFO L273 TraceCheckUtils]: 12: Hoare triple {1011#(exists ((main_~index~0 Int)) (and (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod main_~index~0 4294967296)) |main_~#array~0.offset|))) (<= 2 main_~index~0) (<= main_~index~0 2)))} assume !(~index~0 % 4294967296 < 1000); {1011#(exists ((main_~index~0 Int)) (and (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod main_~index~0 4294967296)) |main_~#array~0.offset|))) (<= 2 main_~index~0) (<= main_~index~0 2)))} is VALID [2018-11-23 13:09:00,872 INFO L273 TraceCheckUtils]: 13: Hoare triple {1011#(exists ((main_~index~0 Int)) (and (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod main_~index~0 4294967296)) |main_~#array~0.offset|))) (<= 2 main_~index~0) (<= main_~index~0 2)))} ~index~0 := 0; {1021#(and (= 0 main_~index~0) (exists ((v_prenex_9 Int)) (and (<= 2 v_prenex_9) (= (mod v_prenex_9 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_9 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_9 2))))} is VALID [2018-11-23 13:09:00,873 INFO L273 TraceCheckUtils]: 14: Hoare triple {1021#(and (= 0 main_~index~0) (exists ((v_prenex_9 Int)) (and (<= 2 v_prenex_9) (= (mod v_prenex_9 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_9 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_9 2))))} assume !!(~index~0 % 4294967296 < 1000); {1021#(and (= 0 main_~index~0) (exists ((v_prenex_9 Int)) (and (<= 2 v_prenex_9) (= (mod v_prenex_9 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_9 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_9 2))))} is VALID [2018-11-23 13:09:00,873 INFO L273 TraceCheckUtils]: 15: Hoare triple {1021#(and (= 0 main_~index~0) (exists ((v_prenex_9 Int)) (and (<= 2 v_prenex_9) (= (mod v_prenex_9 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_9 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_9 2))))} assume 0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296;call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {1021#(and (= 0 main_~index~0) (exists ((v_prenex_9 Int)) (and (<= 2 v_prenex_9) (= (mod v_prenex_9 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_9 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_9 2))))} is VALID [2018-11-23 13:09:00,875 INFO L256 TraceCheckUtils]: 16: Hoare triple {1021#(and (= 0 main_~index~0) (exists ((v_prenex_9 Int)) (and (<= 2 v_prenex_9) (= (mod v_prenex_9 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_9 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_9 2))))} call __VERIFIER_assert((if 0 == #t~mem2 % 4294967296 then 1 else 0)); {1031#(exists ((|v_main_~#array~0.offset_BEFORE_CALL_2| Int) (|v_main_~#array~0.base_BEFORE_CALL_2| Int) (v_prenex_9 Int)) (and (<= 2 v_prenex_9) (<= v_prenex_9 2) (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_2|) (+ |v_main_~#array~0.offset_BEFORE_CALL_2| (* 4 (mod v_prenex_9 4294967296)))) (mod v_prenex_9 2))))} is VALID [2018-11-23 13:09:00,876 INFO L273 TraceCheckUtils]: 17: Hoare triple {1031#(exists ((|v_main_~#array~0.offset_BEFORE_CALL_2| Int) (|v_main_~#array~0.base_BEFORE_CALL_2| Int) (v_prenex_9 Int)) (and (<= 2 v_prenex_9) (<= v_prenex_9 2) (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_2|) (+ |v_main_~#array~0.offset_BEFORE_CALL_2| (* 4 (mod v_prenex_9 4294967296)))) (mod v_prenex_9 2))))} ~cond := #in~cond; {1035#(and (exists ((|v_main_~#array~0.offset_BEFORE_CALL_2| Int) (|v_main_~#array~0.base_BEFORE_CALL_2| Int) (v_prenex_9 Int)) (and (<= 2 v_prenex_9) (<= v_prenex_9 2) (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_2|) (+ |v_main_~#array~0.offset_BEFORE_CALL_2| (* 4 (mod v_prenex_9 4294967296)))) (mod v_prenex_9 2)))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} is VALID [2018-11-23 13:09:00,878 INFO L273 TraceCheckUtils]: 18: Hoare triple {1035#(and (exists ((|v_main_~#array~0.offset_BEFORE_CALL_2| Int) (|v_main_~#array~0.base_BEFORE_CALL_2| Int) (v_prenex_9 Int)) (and (<= 2 v_prenex_9) (<= v_prenex_9 2) (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_2|) (+ |v_main_~#array~0.offset_BEFORE_CALL_2| (* 4 (mod v_prenex_9 4294967296)))) (mod v_prenex_9 2)))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} assume !(0 == ~cond); {1039#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#array~0.offset_BEFORE_CALL_2| Int) (|v_main_~#array~0.base_BEFORE_CALL_2| Int) (v_prenex_9 Int)) (and (<= 2 v_prenex_9) (<= v_prenex_9 2) (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_2|) (+ |v_main_~#array~0.offset_BEFORE_CALL_2| (* 4 (mod v_prenex_9 4294967296)))) (mod v_prenex_9 2)))))} is VALID [2018-11-23 13:09:00,880 INFO L273 TraceCheckUtils]: 19: Hoare triple {1039#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#array~0.offset_BEFORE_CALL_2| Int) (|v_main_~#array~0.base_BEFORE_CALL_2| Int) (v_prenex_9 Int)) (and (<= 2 v_prenex_9) (<= v_prenex_9 2) (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_2|) (+ |v_main_~#array~0.offset_BEFORE_CALL_2| (* 4 (mod v_prenex_9 4294967296)))) (mod v_prenex_9 2)))))} assume true; {1039#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#array~0.offset_BEFORE_CALL_2| Int) (|v_main_~#array~0.base_BEFORE_CALL_2| Int) (v_prenex_9 Int)) (and (<= 2 v_prenex_9) (<= v_prenex_9 2) (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_2|) (+ |v_main_~#array~0.offset_BEFORE_CALL_2| (* 4 (mod v_prenex_9 4294967296)))) (mod v_prenex_9 2)))))} is VALID [2018-11-23 13:09:00,881 INFO L268 TraceCheckUtils]: 20: Hoare quadruple {1039#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#array~0.offset_BEFORE_CALL_2| Int) (|v_main_~#array~0.base_BEFORE_CALL_2| Int) (v_prenex_9 Int)) (and (<= 2 v_prenex_9) (<= v_prenex_9 2) (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_2|) (+ |v_main_~#array~0.offset_BEFORE_CALL_2| (* 4 (mod v_prenex_9 4294967296)))) (mod v_prenex_9 2)))))} {1021#(and (= 0 main_~index~0) (exists ((v_prenex_9 Int)) (and (<= 2 v_prenex_9) (= (mod v_prenex_9 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_9 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_9 2))))} #60#return; {1021#(and (= 0 main_~index~0) (exists ((v_prenex_9 Int)) (and (<= 2 v_prenex_9) (= (mod v_prenex_9 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_9 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_9 2))))} is VALID [2018-11-23 13:09:00,882 INFO L273 TraceCheckUtils]: 21: Hoare triple {1021#(and (= 0 main_~index~0) (exists ((v_prenex_9 Int)) (and (<= 2 v_prenex_9) (= (mod v_prenex_9 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_9 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_9 2))))} havoc #t~mem2; {1021#(and (= 0 main_~index~0) (exists ((v_prenex_9 Int)) (and (<= 2 v_prenex_9) (= (mod v_prenex_9 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_9 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_9 2))))} is VALID [2018-11-23 13:09:00,883 INFO L273 TraceCheckUtils]: 22: Hoare triple {1021#(and (= 0 main_~index~0) (exists ((v_prenex_9 Int)) (and (<= 2 v_prenex_9) (= (mod v_prenex_9 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_9 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_9 2))))} #t~post1 := ~index~0;~index~0 := 1 + #t~post1;havoc #t~post1; {1052#(and (= 1 main_~index~0) (exists ((v_prenex_9 Int)) (and (<= 2 v_prenex_9) (= (mod v_prenex_9 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_9 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_9 2))))} is VALID [2018-11-23 13:09:00,883 INFO L273 TraceCheckUtils]: 23: Hoare triple {1052#(and (= 1 main_~index~0) (exists ((v_prenex_9 Int)) (and (<= 2 v_prenex_9) (= (mod v_prenex_9 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_9 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_9 2))))} assume !!(~index~0 % 4294967296 < 1000); {1052#(and (= 1 main_~index~0) (exists ((v_prenex_9 Int)) (and (<= 2 v_prenex_9) (= (mod v_prenex_9 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_9 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_9 2))))} is VALID [2018-11-23 13:09:00,885 INFO L273 TraceCheckUtils]: 24: Hoare triple {1052#(and (= 1 main_~index~0) (exists ((v_prenex_9 Int)) (and (<= 2 v_prenex_9) (= (mod v_prenex_9 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_9 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_9 2))))} assume !(0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {1052#(and (= 1 main_~index~0) (exists ((v_prenex_9 Int)) (and (<= 2 v_prenex_9) (= (mod v_prenex_9 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_9 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_9 2))))} is VALID [2018-11-23 13:09:00,887 INFO L256 TraceCheckUtils]: 25: Hoare triple {1052#(and (= 1 main_~index~0) (exists ((v_prenex_9 Int)) (and (<= 2 v_prenex_9) (= (mod v_prenex_9 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_9 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_9 2))))} call __VERIFIER_assert((if 0 != #t~mem3 % 4294967296 then 1 else 0)); {1031#(exists ((|v_main_~#array~0.offset_BEFORE_CALL_2| Int) (|v_main_~#array~0.base_BEFORE_CALL_2| Int) (v_prenex_9 Int)) (and (<= 2 v_prenex_9) (<= v_prenex_9 2) (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_2|) (+ |v_main_~#array~0.offset_BEFORE_CALL_2| (* 4 (mod v_prenex_9 4294967296)))) (mod v_prenex_9 2))))} is VALID [2018-11-23 13:09:00,888 INFO L273 TraceCheckUtils]: 26: Hoare triple {1031#(exists ((|v_main_~#array~0.offset_BEFORE_CALL_2| Int) (|v_main_~#array~0.base_BEFORE_CALL_2| Int) (v_prenex_9 Int)) (and (<= 2 v_prenex_9) (<= v_prenex_9 2) (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_2|) (+ |v_main_~#array~0.offset_BEFORE_CALL_2| (* 4 (mod v_prenex_9 4294967296)))) (mod v_prenex_9 2))))} ~cond := #in~cond; {1031#(exists ((|v_main_~#array~0.offset_BEFORE_CALL_2| Int) (|v_main_~#array~0.base_BEFORE_CALL_2| Int) (v_prenex_9 Int)) (and (<= 2 v_prenex_9) (<= v_prenex_9 2) (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_2|) (+ |v_main_~#array~0.offset_BEFORE_CALL_2| (* 4 (mod v_prenex_9 4294967296)))) (mod v_prenex_9 2))))} is VALID [2018-11-23 13:09:00,888 INFO L273 TraceCheckUtils]: 27: Hoare triple {1031#(exists ((|v_main_~#array~0.offset_BEFORE_CALL_2| Int) (|v_main_~#array~0.base_BEFORE_CALL_2| Int) (v_prenex_9 Int)) (and (<= 2 v_prenex_9) (<= v_prenex_9 2) (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_2|) (+ |v_main_~#array~0.offset_BEFORE_CALL_2| (* 4 (mod v_prenex_9 4294967296)))) (mod v_prenex_9 2))))} assume !(0 == ~cond); {1031#(exists ((|v_main_~#array~0.offset_BEFORE_CALL_2| Int) (|v_main_~#array~0.base_BEFORE_CALL_2| Int) (v_prenex_9 Int)) (and (<= 2 v_prenex_9) (<= v_prenex_9 2) (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_2|) (+ |v_main_~#array~0.offset_BEFORE_CALL_2| (* 4 (mod v_prenex_9 4294967296)))) (mod v_prenex_9 2))))} is VALID [2018-11-23 13:09:00,889 INFO L273 TraceCheckUtils]: 28: Hoare triple {1031#(exists ((|v_main_~#array~0.offset_BEFORE_CALL_2| Int) (|v_main_~#array~0.base_BEFORE_CALL_2| Int) (v_prenex_9 Int)) (and (<= 2 v_prenex_9) (<= v_prenex_9 2) (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_2|) (+ |v_main_~#array~0.offset_BEFORE_CALL_2| (* 4 (mod v_prenex_9 4294967296)))) (mod v_prenex_9 2))))} assume true; {1031#(exists ((|v_main_~#array~0.offset_BEFORE_CALL_2| Int) (|v_main_~#array~0.base_BEFORE_CALL_2| Int) (v_prenex_9 Int)) (and (<= 2 v_prenex_9) (<= v_prenex_9 2) (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_2|) (+ |v_main_~#array~0.offset_BEFORE_CALL_2| (* 4 (mod v_prenex_9 4294967296)))) (mod v_prenex_9 2))))} is VALID [2018-11-23 13:09:00,889 INFO L268 TraceCheckUtils]: 29: Hoare quadruple {1031#(exists ((|v_main_~#array~0.offset_BEFORE_CALL_2| Int) (|v_main_~#array~0.base_BEFORE_CALL_2| Int) (v_prenex_9 Int)) (and (<= 2 v_prenex_9) (<= v_prenex_9 2) (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_2|) (+ |v_main_~#array~0.offset_BEFORE_CALL_2| (* 4 (mod v_prenex_9 4294967296)))) (mod v_prenex_9 2))))} {1052#(and (= 1 main_~index~0) (exists ((v_prenex_9 Int)) (and (<= 2 v_prenex_9) (= (mod v_prenex_9 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_9 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_9 2))))} #62#return; {1052#(and (= 1 main_~index~0) (exists ((v_prenex_9 Int)) (and (<= 2 v_prenex_9) (= (mod v_prenex_9 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_9 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_9 2))))} is VALID [2018-11-23 13:09:00,890 INFO L273 TraceCheckUtils]: 30: Hoare triple {1052#(and (= 1 main_~index~0) (exists ((v_prenex_9 Int)) (and (<= 2 v_prenex_9) (= (mod v_prenex_9 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_9 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_9 2))))} havoc #t~mem3; {1052#(and (= 1 main_~index~0) (exists ((v_prenex_9 Int)) (and (<= 2 v_prenex_9) (= (mod v_prenex_9 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_9 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_9 2))))} is VALID [2018-11-23 13:09:00,891 INFO L273 TraceCheckUtils]: 31: Hoare triple {1052#(and (= 1 main_~index~0) (exists ((v_prenex_9 Int)) (and (<= 2 v_prenex_9) (= (mod v_prenex_9 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_9 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_9 2))))} #t~post1 := ~index~0;~index~0 := 1 + #t~post1;havoc #t~post1; {1080#(and (exists ((v_prenex_9 Int)) (and (<= 2 v_prenex_9) (= (mod v_prenex_9 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_9 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_9 2))) (= 2 main_~index~0))} is VALID [2018-11-23 13:09:00,892 INFO L273 TraceCheckUtils]: 32: Hoare triple {1080#(and (exists ((v_prenex_9 Int)) (and (<= 2 v_prenex_9) (= (mod v_prenex_9 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_9 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_9 2))) (= 2 main_~index~0))} assume !!(~index~0 % 4294967296 < 1000); {1080#(and (exists ((v_prenex_9 Int)) (and (<= 2 v_prenex_9) (= (mod v_prenex_9 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_9 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_9 2))) (= 2 main_~index~0))} is VALID [2018-11-23 13:09:00,896 INFO L273 TraceCheckUtils]: 33: Hoare triple {1080#(and (exists ((v_prenex_9 Int)) (and (<= 2 v_prenex_9) (= (mod v_prenex_9 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_9 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_9 2))) (= 2 main_~index~0))} assume 0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296;call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {1087#(exists ((v_prenex_9 Int)) (and (<= 2 v_prenex_9) (= |main_#t~mem2| (mod v_prenex_9 2)) (<= v_prenex_9 2)))} is VALID [2018-11-23 13:09:00,921 INFO L256 TraceCheckUtils]: 34: Hoare triple {1087#(exists ((v_prenex_9 Int)) (and (<= 2 v_prenex_9) (= |main_#t~mem2| (mod v_prenex_9 2)) (<= v_prenex_9 2)))} call __VERIFIER_assert((if 0 == #t~mem2 % 4294967296 then 1 else 0)); {1091#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 13:09:00,935 INFO L273 TraceCheckUtils]: 35: Hoare triple {1091#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {1095#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 13:09:00,936 INFO L273 TraceCheckUtils]: 36: Hoare triple {1095#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {973#false} is VALID [2018-11-23 13:09:00,936 INFO L273 TraceCheckUtils]: 37: Hoare triple {973#false} assume !false; {973#false} is VALID [2018-11-23 13:09:00,942 INFO L134 CoverageAnalysis]: Checked inductivity of 25 backedges. 0 proven. 24 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 13:09:00,961 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 13:09:00,962 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 15] total 16 [2018-11-23 13:09:00,962 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 38 [2018-11-23 13:09:00,963 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:09:00,963 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states. [2018-11-23 13:09:01,125 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:09:01,126 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2018-11-23 13:09:01,126 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2018-11-23 13:09:01,126 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=193, Unknown=0, NotChecked=0, Total=240 [2018-11-23 13:09:01,126 INFO L87 Difference]: Start difference. First operand 47 states and 51 transitions. Second operand 16 states. [2018-11-23 13:09:10,586 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:09:10,587 INFO L93 Difference]: Finished difference Result 175 states and 206 transitions. [2018-11-23 13:09:10,587 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2018-11-23 13:09:10,587 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 38 [2018-11-23 13:09:10,587 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:09:10,587 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 13:09:10,595 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 173 transitions. [2018-11-23 13:09:10,595 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 13:09:10,602 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 173 transitions. [2018-11-23 13:09:10,602 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 173 transitions. [2018-11-23 13:09:13,524 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 173 edges. 172 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2018-11-23 13:09:13,531 INFO L225 Difference]: With dead ends: 175 [2018-11-23 13:09:13,531 INFO L226 Difference]: Without dead ends: 141 [2018-11-23 13:09:13,532 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 52 GetRequests, 23 SyntacticMatches, 6 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 130 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=114, Invalid=486, Unknown=0, NotChecked=0, Total=600 [2018-11-23 13:09:13,533 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 141 states. [2018-11-23 13:09:13,915 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 141 to 88. [2018-11-23 13:09:13,915 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:09:13,915 INFO L82 GeneralOperation]: Start isEquivalent. First operand 141 states. Second operand 88 states. [2018-11-23 13:09:13,916 INFO L74 IsIncluded]: Start isIncluded. First operand 141 states. Second operand 88 states. [2018-11-23 13:09:13,916 INFO L87 Difference]: Start difference. First operand 141 states. Second operand 88 states. [2018-11-23 13:09:13,925 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:09:13,925 INFO L93 Difference]: Finished difference Result 141 states and 164 transitions. [2018-11-23 13:09:13,926 INFO L276 IsEmpty]: Start isEmpty. Operand 141 states and 164 transitions. [2018-11-23 13:09:13,927 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:09:13,927 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:09:13,928 INFO L74 IsIncluded]: Start isIncluded. First operand 88 states. Second operand 141 states. [2018-11-23 13:09:13,928 INFO L87 Difference]: Start difference. First operand 88 states. Second operand 141 states. [2018-11-23 13:09:13,936 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:09:13,936 INFO L93 Difference]: Finished difference Result 141 states and 164 transitions. [2018-11-23 13:09:13,936 INFO L276 IsEmpty]: Start isEmpty. Operand 141 states and 164 transitions. [2018-11-23 13:09:13,938 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:09:13,938 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:09:13,938 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:09:13,938 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:09:13,938 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 88 states. [2018-11-23 13:09:13,946 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 95 transitions. [2018-11-23 13:09:13,948 INFO L78 Accepts]: Start accepts. Automaton has 88 states and 95 transitions. Word has length 38 [2018-11-23 13:09:13,948 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:09:13,948 INFO L480 AbstractCegarLoop]: Abstraction has 88 states and 95 transitions. [2018-11-23 13:09:13,948 INFO L481 AbstractCegarLoop]: Interpolant automaton has 16 states. [2018-11-23 13:09:13,948 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 95 transitions. [2018-11-23 13:09:13,949 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2018-11-23 13:09:13,952 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:09:13,952 INFO L402 BasicCegarLoop]: trace histogram [5, 5, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:09:13,952 INFO L423 AbstractCegarLoop]: === Iteration 6 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:09:13,952 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:09:13,952 INFO L82 PathProgramCache]: Analyzing trace with hash -863832623, now seen corresponding path program 2 times [2018-11-23 13:09:13,953 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:09:13,953 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:09:13,954 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:09:13,955 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:09:13,955 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:09:14,039 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:09:14,804 INFO L256 TraceCheckUtils]: 0: Hoare triple {1764#true} call ULTIMATE.init(); {1764#true} is VALID [2018-11-23 13:09:14,804 INFO L273 TraceCheckUtils]: 1: Hoare triple {1764#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1764#true} is VALID [2018-11-23 13:09:14,804 INFO L273 TraceCheckUtils]: 2: Hoare triple {1764#true} assume true; {1764#true} is VALID [2018-11-23 13:09:14,804 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1764#true} {1764#true} #56#return; {1764#true} is VALID [2018-11-23 13:09:14,805 INFO L256 TraceCheckUtils]: 4: Hoare triple {1764#true} call #t~ret4 := main(); {1764#true} is VALID [2018-11-23 13:09:14,805 INFO L273 TraceCheckUtils]: 5: Hoare triple {1764#true} call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(4000);havoc ~index~0;~index~0 := 0; {1766#(= main_~index~0 0)} is VALID [2018-11-23 13:09:14,806 INFO L273 TraceCheckUtils]: 6: Hoare triple {1766#(= main_~index~0 0)} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {1766#(= main_~index~0 0)} is VALID [2018-11-23 13:09:14,806 INFO L273 TraceCheckUtils]: 7: Hoare triple {1766#(= main_~index~0 0)} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {1767#(and (<= main_~index~0 1) (<= 1 main_~index~0))} is VALID [2018-11-23 13:09:14,807 INFO L273 TraceCheckUtils]: 8: Hoare triple {1767#(and (<= main_~index~0 1) (<= 1 main_~index~0))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {1767#(and (<= main_~index~0 1) (<= 1 main_~index~0))} is VALID [2018-11-23 13:09:14,808 INFO L273 TraceCheckUtils]: 9: Hoare triple {1767#(and (<= main_~index~0 1) (<= 1 main_~index~0))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {1768#(and (<= 2 main_~index~0) (<= main_~index~0 2))} is VALID [2018-11-23 13:09:14,808 INFO L273 TraceCheckUtils]: 10: Hoare triple {1768#(and (<= 2 main_~index~0) (<= main_~index~0 2))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {1768#(and (<= 2 main_~index~0) (<= main_~index~0 2))} is VALID [2018-11-23 13:09:14,809 INFO L273 TraceCheckUtils]: 11: Hoare triple {1768#(and (<= 2 main_~index~0) (<= main_~index~0 2))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {1769#(and (<= 3 main_~index~0) (<= main_~index~0 3))} is VALID [2018-11-23 13:09:14,816 INFO L273 TraceCheckUtils]: 12: Hoare triple {1769#(and (<= 3 main_~index~0) (<= main_~index~0 3))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {1769#(and (<= 3 main_~index~0) (<= main_~index~0 3))} is VALID [2018-11-23 13:09:14,817 INFO L273 TraceCheckUtils]: 13: Hoare triple {1769#(and (<= 3 main_~index~0) (<= main_~index~0 3))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {1770#(and (<= 4 main_~index~0) (<= main_~index~0 4))} is VALID [2018-11-23 13:09:14,817 INFO L273 TraceCheckUtils]: 14: Hoare triple {1770#(and (<= 4 main_~index~0) (<= main_~index~0 4))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {1770#(and (<= 4 main_~index~0) (<= main_~index~0 4))} is VALID [2018-11-23 13:09:14,818 INFO L273 TraceCheckUtils]: 15: Hoare triple {1770#(and (<= 4 main_~index~0) (<= main_~index~0 4))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {1771#(and (<= main_~index~0 5) (< 0 (+ (div main_~index~0 4294967296) 1)))} is VALID [2018-11-23 13:09:14,819 INFO L273 TraceCheckUtils]: 16: Hoare triple {1771#(and (<= main_~index~0 5) (< 0 (+ (div main_~index~0 4294967296) 1)))} assume !(~index~0 % 4294967296 < 1000); {1765#false} is VALID [2018-11-23 13:09:14,819 INFO L273 TraceCheckUtils]: 17: Hoare triple {1765#false} ~index~0 := 0; {1765#false} is VALID [2018-11-23 13:09:14,819 INFO L273 TraceCheckUtils]: 18: Hoare triple {1765#false} assume !!(~index~0 % 4294967296 < 1000); {1765#false} is VALID [2018-11-23 13:09:14,819 INFO L273 TraceCheckUtils]: 19: Hoare triple {1765#false} assume 0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296;call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {1765#false} is VALID [2018-11-23 13:09:14,820 INFO L256 TraceCheckUtils]: 20: Hoare triple {1765#false} call __VERIFIER_assert((if 0 == #t~mem2 % 4294967296 then 1 else 0)); {1764#true} is VALID [2018-11-23 13:09:14,820 INFO L273 TraceCheckUtils]: 21: Hoare triple {1764#true} ~cond := #in~cond; {1764#true} is VALID [2018-11-23 13:09:14,820 INFO L273 TraceCheckUtils]: 22: Hoare triple {1764#true} assume !(0 == ~cond); {1764#true} is VALID [2018-11-23 13:09:14,820 INFO L273 TraceCheckUtils]: 23: Hoare triple {1764#true} assume true; {1764#true} is VALID [2018-11-23 13:09:14,821 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {1764#true} {1765#false} #60#return; {1765#false} is VALID [2018-11-23 13:09:14,821 INFO L273 TraceCheckUtils]: 25: Hoare triple {1765#false} havoc #t~mem2; {1765#false} is VALID [2018-11-23 13:09:14,821 INFO L273 TraceCheckUtils]: 26: Hoare triple {1765#false} #t~post1 := ~index~0;~index~0 := 1 + #t~post1;havoc #t~post1; {1765#false} is VALID [2018-11-23 13:09:14,821 INFO L273 TraceCheckUtils]: 27: Hoare triple {1765#false} assume !!(~index~0 % 4294967296 < 1000); {1765#false} is VALID [2018-11-23 13:09:14,822 INFO L273 TraceCheckUtils]: 28: Hoare triple {1765#false} assume !(0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {1765#false} is VALID [2018-11-23 13:09:14,822 INFO L256 TraceCheckUtils]: 29: Hoare triple {1765#false} call __VERIFIER_assert((if 0 != #t~mem3 % 4294967296 then 1 else 0)); {1764#true} is VALID [2018-11-23 13:09:14,822 INFO L273 TraceCheckUtils]: 30: Hoare triple {1764#true} ~cond := #in~cond; {1764#true} is VALID [2018-11-23 13:09:14,822 INFO L273 TraceCheckUtils]: 31: Hoare triple {1764#true} assume !(0 == ~cond); {1764#true} is VALID [2018-11-23 13:09:14,822 INFO L273 TraceCheckUtils]: 32: Hoare triple {1764#true} assume true; {1764#true} is VALID [2018-11-23 13:09:14,823 INFO L268 TraceCheckUtils]: 33: Hoare quadruple {1764#true} {1765#false} #62#return; {1765#false} is VALID [2018-11-23 13:09:14,823 INFO L273 TraceCheckUtils]: 34: Hoare triple {1765#false} havoc #t~mem3; {1765#false} is VALID [2018-11-23 13:09:14,823 INFO L273 TraceCheckUtils]: 35: Hoare triple {1765#false} #t~post1 := ~index~0;~index~0 := 1 + #t~post1;havoc #t~post1; {1765#false} is VALID [2018-11-23 13:09:14,823 INFO L273 TraceCheckUtils]: 36: Hoare triple {1765#false} assume !!(~index~0 % 4294967296 < 1000); {1765#false} is VALID [2018-11-23 13:09:14,823 INFO L273 TraceCheckUtils]: 37: Hoare triple {1765#false} assume 0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296;call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {1765#false} is VALID [2018-11-23 13:09:14,823 INFO L256 TraceCheckUtils]: 38: Hoare triple {1765#false} call __VERIFIER_assert((if 0 == #t~mem2 % 4294967296 then 1 else 0)); {1765#false} is VALID [2018-11-23 13:09:14,824 INFO L273 TraceCheckUtils]: 39: Hoare triple {1765#false} ~cond := #in~cond; {1765#false} is VALID [2018-11-23 13:09:14,824 INFO L273 TraceCheckUtils]: 40: Hoare triple {1765#false} assume 0 == ~cond; {1765#false} is VALID [2018-11-23 13:09:14,824 INFO L273 TraceCheckUtils]: 41: Hoare triple {1765#false} assume !false; {1765#false} is VALID [2018-11-23 13:09:14,826 INFO L134 CoverageAnalysis]: Checked inductivity of 41 backedges. 4 proven. 25 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 13:09:14,826 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 13:09:14,826 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 13:09:14,838 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 13:09:14,888 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 13:09:14,888 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 13:09:14,923 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:09:14,924 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:09:15,046 INFO L256 TraceCheckUtils]: 0: Hoare triple {1764#true} call ULTIMATE.init(); {1764#true} is VALID [2018-11-23 13:09:15,046 INFO L273 TraceCheckUtils]: 1: Hoare triple {1764#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1764#true} is VALID [2018-11-23 13:09:15,047 INFO L273 TraceCheckUtils]: 2: Hoare triple {1764#true} assume true; {1764#true} is VALID [2018-11-23 13:09:15,047 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1764#true} {1764#true} #56#return; {1764#true} is VALID [2018-11-23 13:09:15,047 INFO L256 TraceCheckUtils]: 4: Hoare triple {1764#true} call #t~ret4 := main(); {1764#true} is VALID [2018-11-23 13:09:15,048 INFO L273 TraceCheckUtils]: 5: Hoare triple {1764#true} call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(4000);havoc ~index~0;~index~0 := 0; {1766#(= main_~index~0 0)} is VALID [2018-11-23 13:09:15,048 INFO L273 TraceCheckUtils]: 6: Hoare triple {1766#(= main_~index~0 0)} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {1766#(= main_~index~0 0)} is VALID [2018-11-23 13:09:15,049 INFO L273 TraceCheckUtils]: 7: Hoare triple {1766#(= main_~index~0 0)} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {1767#(and (<= main_~index~0 1) (<= 1 main_~index~0))} is VALID [2018-11-23 13:09:15,050 INFO L273 TraceCheckUtils]: 8: Hoare triple {1767#(and (<= main_~index~0 1) (<= 1 main_~index~0))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {1767#(and (<= main_~index~0 1) (<= 1 main_~index~0))} is VALID [2018-11-23 13:09:15,050 INFO L273 TraceCheckUtils]: 9: Hoare triple {1767#(and (<= main_~index~0 1) (<= 1 main_~index~0))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {1768#(and (<= 2 main_~index~0) (<= main_~index~0 2))} is VALID [2018-11-23 13:09:15,052 INFO L273 TraceCheckUtils]: 10: Hoare triple {1768#(and (<= 2 main_~index~0) (<= main_~index~0 2))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {1768#(and (<= 2 main_~index~0) (<= main_~index~0 2))} is VALID [2018-11-23 13:09:15,053 INFO L273 TraceCheckUtils]: 11: Hoare triple {1768#(and (<= 2 main_~index~0) (<= main_~index~0 2))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {1769#(and (<= 3 main_~index~0) (<= main_~index~0 3))} is VALID [2018-11-23 13:09:15,054 INFO L273 TraceCheckUtils]: 12: Hoare triple {1769#(and (<= 3 main_~index~0) (<= main_~index~0 3))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {1769#(and (<= 3 main_~index~0) (<= main_~index~0 3))} is VALID [2018-11-23 13:09:15,055 INFO L273 TraceCheckUtils]: 13: Hoare triple {1769#(and (<= 3 main_~index~0) (<= main_~index~0 3))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {1770#(and (<= 4 main_~index~0) (<= main_~index~0 4))} is VALID [2018-11-23 13:09:15,056 INFO L273 TraceCheckUtils]: 14: Hoare triple {1770#(and (<= 4 main_~index~0) (<= main_~index~0 4))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {1770#(and (<= 4 main_~index~0) (<= main_~index~0 4))} is VALID [2018-11-23 13:09:15,058 INFO L273 TraceCheckUtils]: 15: Hoare triple {1770#(and (<= 4 main_~index~0) (<= main_~index~0 4))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {1820#(and (<= 5 main_~index~0) (<= main_~index~0 5))} is VALID [2018-11-23 13:09:15,059 INFO L273 TraceCheckUtils]: 16: Hoare triple {1820#(and (<= 5 main_~index~0) (<= main_~index~0 5))} assume !(~index~0 % 4294967296 < 1000); {1765#false} is VALID [2018-11-23 13:09:15,059 INFO L273 TraceCheckUtils]: 17: Hoare triple {1765#false} ~index~0 := 0; {1765#false} is VALID [2018-11-23 13:09:15,059 INFO L273 TraceCheckUtils]: 18: Hoare triple {1765#false} assume !!(~index~0 % 4294967296 < 1000); {1765#false} is VALID [2018-11-23 13:09:15,060 INFO L273 TraceCheckUtils]: 19: Hoare triple {1765#false} assume 0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296;call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {1765#false} is VALID [2018-11-23 13:09:15,060 INFO L256 TraceCheckUtils]: 20: Hoare triple {1765#false} call __VERIFIER_assert((if 0 == #t~mem2 % 4294967296 then 1 else 0)); {1765#false} is VALID [2018-11-23 13:09:15,061 INFO L273 TraceCheckUtils]: 21: Hoare triple {1765#false} ~cond := #in~cond; {1765#false} is VALID [2018-11-23 13:09:15,061 INFO L273 TraceCheckUtils]: 22: Hoare triple {1765#false} assume !(0 == ~cond); {1765#false} is VALID [2018-11-23 13:09:15,062 INFO L273 TraceCheckUtils]: 23: Hoare triple {1765#false} assume true; {1765#false} is VALID [2018-11-23 13:09:15,062 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {1765#false} {1765#false} #60#return; {1765#false} is VALID [2018-11-23 13:09:15,063 INFO L273 TraceCheckUtils]: 25: Hoare triple {1765#false} havoc #t~mem2; {1765#false} is VALID [2018-11-23 13:09:15,063 INFO L273 TraceCheckUtils]: 26: Hoare triple {1765#false} #t~post1 := ~index~0;~index~0 := 1 + #t~post1;havoc #t~post1; {1765#false} is VALID [2018-11-23 13:09:15,063 INFO L273 TraceCheckUtils]: 27: Hoare triple {1765#false} assume !!(~index~0 % 4294967296 < 1000); {1765#false} is VALID [2018-11-23 13:09:15,064 INFO L273 TraceCheckUtils]: 28: Hoare triple {1765#false} assume !(0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {1765#false} is VALID [2018-11-23 13:09:15,064 INFO L256 TraceCheckUtils]: 29: Hoare triple {1765#false} call __VERIFIER_assert((if 0 != #t~mem3 % 4294967296 then 1 else 0)); {1765#false} is VALID [2018-11-23 13:09:15,064 INFO L273 TraceCheckUtils]: 30: Hoare triple {1765#false} ~cond := #in~cond; {1765#false} is VALID [2018-11-23 13:09:15,064 INFO L273 TraceCheckUtils]: 31: Hoare triple {1765#false} assume !(0 == ~cond); {1765#false} is VALID [2018-11-23 13:09:15,065 INFO L273 TraceCheckUtils]: 32: Hoare triple {1765#false} assume true; {1765#false} is VALID [2018-11-23 13:09:15,065 INFO L268 TraceCheckUtils]: 33: Hoare quadruple {1765#false} {1765#false} #62#return; {1765#false} is VALID [2018-11-23 13:09:15,065 INFO L273 TraceCheckUtils]: 34: Hoare triple {1765#false} havoc #t~mem3; {1765#false} is VALID [2018-11-23 13:09:15,065 INFO L273 TraceCheckUtils]: 35: Hoare triple {1765#false} #t~post1 := ~index~0;~index~0 := 1 + #t~post1;havoc #t~post1; {1765#false} is VALID [2018-11-23 13:09:15,065 INFO L273 TraceCheckUtils]: 36: Hoare triple {1765#false} assume !!(~index~0 % 4294967296 < 1000); {1765#false} is VALID [2018-11-23 13:09:15,066 INFO L273 TraceCheckUtils]: 37: Hoare triple {1765#false} assume 0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296;call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {1765#false} is VALID [2018-11-23 13:09:15,066 INFO L256 TraceCheckUtils]: 38: Hoare triple {1765#false} call __VERIFIER_assert((if 0 == #t~mem2 % 4294967296 then 1 else 0)); {1765#false} is VALID [2018-11-23 13:09:15,066 INFO L273 TraceCheckUtils]: 39: Hoare triple {1765#false} ~cond := #in~cond; {1765#false} is VALID [2018-11-23 13:09:15,066 INFO L273 TraceCheckUtils]: 40: Hoare triple {1765#false} assume 0 == ~cond; {1765#false} is VALID [2018-11-23 13:09:15,066 INFO L273 TraceCheckUtils]: 41: Hoare triple {1765#false} assume !false; {1765#false} is VALID [2018-11-23 13:09:15,069 INFO L134 CoverageAnalysis]: Checked inductivity of 41 backedges. 0 proven. 25 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2018-11-23 13:09:15,088 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 13:09:15,088 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2018-11-23 13:09:15,088 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 42 [2018-11-23 13:09:15,089 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:09:15,089 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2018-11-23 13:09:15,195 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:09:15,195 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2018-11-23 13:09:15,196 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-11-23 13:09:15,196 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=51, Unknown=0, NotChecked=0, Total=72 [2018-11-23 13:09:15,196 INFO L87 Difference]: Start difference. First operand 88 states and 95 transitions. Second operand 9 states. [2018-11-23 13:09:16,732 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:09:16,732 INFO L93 Difference]: Finished difference Result 124 states and 140 transitions. [2018-11-23 13:09:16,732 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-11-23 13:09:16,733 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 42 [2018-11-23 13:09:16,733 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:09:16,733 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-23 13:09:16,736 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 94 transitions. [2018-11-23 13:09:16,736 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-23 13:09:16,738 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 94 transitions. [2018-11-23 13:09:16,738 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 94 transitions. [2018-11-23 13:09:16,888 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:09:16,891 INFO L225 Difference]: With dead ends: 124 [2018-11-23 13:09:16,891 INFO L226 Difference]: Without dead ends: 72 [2018-11-23 13:09:16,892 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 49 GetRequests, 40 SyntacticMatches, 2 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=21, Invalid=51, Unknown=0, NotChecked=0, Total=72 [2018-11-23 13:09:16,892 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 72 states. [2018-11-23 13:09:17,238 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 72 to 68. [2018-11-23 13:09:17,238 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:09:17,238 INFO L82 GeneralOperation]: Start isEquivalent. First operand 72 states. Second operand 68 states. [2018-11-23 13:09:17,238 INFO L74 IsIncluded]: Start isIncluded. First operand 72 states. Second operand 68 states. [2018-11-23 13:09:17,238 INFO L87 Difference]: Start difference. First operand 72 states. Second operand 68 states. [2018-11-23 13:09:17,242 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:09:17,242 INFO L93 Difference]: Finished difference Result 72 states and 79 transitions. [2018-11-23 13:09:17,243 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 79 transitions. [2018-11-23 13:09:17,243 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:09:17,243 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:09:17,243 INFO L74 IsIncluded]: Start isIncluded. First operand 68 states. Second operand 72 states. [2018-11-23 13:09:17,243 INFO L87 Difference]: Start difference. First operand 68 states. Second operand 72 states. [2018-11-23 13:09:17,246 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:09:17,246 INFO L93 Difference]: Finished difference Result 72 states and 79 transitions. [2018-11-23 13:09:17,247 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 79 transitions. [2018-11-23 13:09:17,247 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:09:17,247 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:09:17,247 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:09:17,247 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:09:17,248 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 68 states. [2018-11-23 13:09:17,250 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 74 transitions. [2018-11-23 13:09:17,250 INFO L78 Accepts]: Start accepts. Automaton has 68 states and 74 transitions. Word has length 42 [2018-11-23 13:09:17,251 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:09:17,251 INFO L480 AbstractCegarLoop]: Abstraction has 68 states and 74 transitions. [2018-11-23 13:09:17,251 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2018-11-23 13:09:17,251 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 74 transitions. [2018-11-23 13:09:17,252 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2018-11-23 13:09:17,252 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:09:17,252 INFO L402 BasicCegarLoop]: trace histogram [6, 6, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:09:17,252 INFO L423 AbstractCegarLoop]: === Iteration 7 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:09:17,252 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:09:17,253 INFO L82 PathProgramCache]: Analyzing trace with hash -1542199501, now seen corresponding path program 3 times [2018-11-23 13:09:17,253 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:09:17,253 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:09:17,254 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:09:17,254 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 13:09:17,254 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:09:17,292 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:09:17,603 INFO L256 TraceCheckUtils]: 0: Hoare triple {2309#true} call ULTIMATE.init(); {2309#true} is VALID [2018-11-23 13:09:17,603 INFO L273 TraceCheckUtils]: 1: Hoare triple {2309#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2309#true} is VALID [2018-11-23 13:09:17,604 INFO L273 TraceCheckUtils]: 2: Hoare triple {2309#true} assume true; {2309#true} is VALID [2018-11-23 13:09:17,604 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2309#true} {2309#true} #56#return; {2309#true} is VALID [2018-11-23 13:09:17,604 INFO L256 TraceCheckUtils]: 4: Hoare triple {2309#true} call #t~ret4 := main(); {2309#true} is VALID [2018-11-23 13:09:17,604 INFO L273 TraceCheckUtils]: 5: Hoare triple {2309#true} call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(4000);havoc ~index~0;~index~0 := 0; {2311#(= main_~index~0 0)} is VALID [2018-11-23 13:09:17,605 INFO L273 TraceCheckUtils]: 6: Hoare triple {2311#(= main_~index~0 0)} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {2311#(= main_~index~0 0)} is VALID [2018-11-23 13:09:17,605 INFO L273 TraceCheckUtils]: 7: Hoare triple {2311#(= main_~index~0 0)} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {2312#(and (<= main_~index~0 1) (<= 1 main_~index~0))} is VALID [2018-11-23 13:09:17,606 INFO L273 TraceCheckUtils]: 8: Hoare triple {2312#(and (<= main_~index~0 1) (<= 1 main_~index~0))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {2312#(and (<= main_~index~0 1) (<= 1 main_~index~0))} is VALID [2018-11-23 13:09:17,606 INFO L273 TraceCheckUtils]: 9: Hoare triple {2312#(and (<= main_~index~0 1) (<= 1 main_~index~0))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {2313#(and (<= 2 main_~index~0) (<= main_~index~0 2))} is VALID [2018-11-23 13:09:17,607 INFO L273 TraceCheckUtils]: 10: Hoare triple {2313#(and (<= 2 main_~index~0) (<= main_~index~0 2))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {2313#(and (<= 2 main_~index~0) (<= main_~index~0 2))} is VALID [2018-11-23 13:09:17,608 INFO L273 TraceCheckUtils]: 11: Hoare triple {2313#(and (<= 2 main_~index~0) (<= main_~index~0 2))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {2314#(and (<= 3 main_~index~0) (<= main_~index~0 3))} is VALID [2018-11-23 13:09:17,608 INFO L273 TraceCheckUtils]: 12: Hoare triple {2314#(and (<= 3 main_~index~0) (<= main_~index~0 3))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {2314#(and (<= 3 main_~index~0) (<= main_~index~0 3))} is VALID [2018-11-23 13:09:17,609 INFO L273 TraceCheckUtils]: 13: Hoare triple {2314#(and (<= 3 main_~index~0) (<= main_~index~0 3))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {2315#(and (<= 4 main_~index~0) (<= main_~index~0 4))} is VALID [2018-11-23 13:09:17,610 INFO L273 TraceCheckUtils]: 14: Hoare triple {2315#(and (<= 4 main_~index~0) (<= main_~index~0 4))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {2315#(and (<= 4 main_~index~0) (<= main_~index~0 4))} is VALID [2018-11-23 13:09:17,611 INFO L273 TraceCheckUtils]: 15: Hoare triple {2315#(and (<= 4 main_~index~0) (<= main_~index~0 4))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {2316#(and (<= 5 main_~index~0) (<= main_~index~0 5))} is VALID [2018-11-23 13:09:17,612 INFO L273 TraceCheckUtils]: 16: Hoare triple {2316#(and (<= 5 main_~index~0) (<= main_~index~0 5))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {2316#(and (<= 5 main_~index~0) (<= main_~index~0 5))} is VALID [2018-11-23 13:09:17,613 INFO L273 TraceCheckUtils]: 17: Hoare triple {2316#(and (<= 5 main_~index~0) (<= main_~index~0 5))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {2317#(and (< 0 (+ (div main_~index~0 4294967296) 1)) (<= main_~index~0 6))} is VALID [2018-11-23 13:09:17,614 INFO L273 TraceCheckUtils]: 18: Hoare triple {2317#(and (< 0 (+ (div main_~index~0 4294967296) 1)) (<= main_~index~0 6))} assume !(~index~0 % 4294967296 < 1000); {2310#false} is VALID [2018-11-23 13:09:17,615 INFO L273 TraceCheckUtils]: 19: Hoare triple {2310#false} ~index~0 := 0; {2310#false} is VALID [2018-11-23 13:09:17,615 INFO L273 TraceCheckUtils]: 20: Hoare triple {2310#false} assume !!(~index~0 % 4294967296 < 1000); {2310#false} is VALID [2018-11-23 13:09:17,615 INFO L273 TraceCheckUtils]: 21: Hoare triple {2310#false} assume 0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296;call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {2310#false} is VALID [2018-11-23 13:09:17,616 INFO L256 TraceCheckUtils]: 22: Hoare triple {2310#false} call __VERIFIER_assert((if 0 == #t~mem2 % 4294967296 then 1 else 0)); {2309#true} is VALID [2018-11-23 13:09:17,616 INFO L273 TraceCheckUtils]: 23: Hoare triple {2309#true} ~cond := #in~cond; {2309#true} is VALID [2018-11-23 13:09:17,616 INFO L273 TraceCheckUtils]: 24: Hoare triple {2309#true} assume !(0 == ~cond); {2309#true} is VALID [2018-11-23 13:09:17,617 INFO L273 TraceCheckUtils]: 25: Hoare triple {2309#true} assume true; {2309#true} is VALID [2018-11-23 13:09:17,617 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {2309#true} {2310#false} #60#return; {2310#false} is VALID [2018-11-23 13:09:17,617 INFO L273 TraceCheckUtils]: 27: Hoare triple {2310#false} havoc #t~mem2; {2310#false} is VALID [2018-11-23 13:09:17,618 INFO L273 TraceCheckUtils]: 28: Hoare triple {2310#false} #t~post1 := ~index~0;~index~0 := 1 + #t~post1;havoc #t~post1; {2310#false} is VALID [2018-11-23 13:09:17,618 INFO L273 TraceCheckUtils]: 29: Hoare triple {2310#false} assume !!(~index~0 % 4294967296 < 1000); {2310#false} is VALID [2018-11-23 13:09:17,618 INFO L273 TraceCheckUtils]: 30: Hoare triple {2310#false} assume !(0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {2310#false} is VALID [2018-11-23 13:09:17,618 INFO L256 TraceCheckUtils]: 31: Hoare triple {2310#false} call __VERIFIER_assert((if 0 != #t~mem3 % 4294967296 then 1 else 0)); {2309#true} is VALID [2018-11-23 13:09:17,618 INFO L273 TraceCheckUtils]: 32: Hoare triple {2309#true} ~cond := #in~cond; {2309#true} is VALID [2018-11-23 13:09:17,619 INFO L273 TraceCheckUtils]: 33: Hoare triple {2309#true} assume !(0 == ~cond); {2309#true} is VALID [2018-11-23 13:09:17,619 INFO L273 TraceCheckUtils]: 34: Hoare triple {2309#true} assume true; {2309#true} is VALID [2018-11-23 13:09:17,619 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {2309#true} {2310#false} #62#return; {2310#false} is VALID [2018-11-23 13:09:17,619 INFO L273 TraceCheckUtils]: 36: Hoare triple {2310#false} havoc #t~mem3; {2310#false} is VALID [2018-11-23 13:09:17,619 INFO L273 TraceCheckUtils]: 37: Hoare triple {2310#false} #t~post1 := ~index~0;~index~0 := 1 + #t~post1;havoc #t~post1; {2310#false} is VALID [2018-11-23 13:09:17,620 INFO L273 TraceCheckUtils]: 38: Hoare triple {2310#false} assume !!(~index~0 % 4294967296 < 1000); {2310#false} is VALID [2018-11-23 13:09:17,620 INFO L273 TraceCheckUtils]: 39: Hoare triple {2310#false} assume 0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296;call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {2310#false} is VALID [2018-11-23 13:09:17,620 INFO L256 TraceCheckUtils]: 40: Hoare triple {2310#false} call __VERIFIER_assert((if 0 == #t~mem2 % 4294967296 then 1 else 0)); {2310#false} is VALID [2018-11-23 13:09:17,620 INFO L273 TraceCheckUtils]: 41: Hoare triple {2310#false} ~cond := #in~cond; {2310#false} is VALID [2018-11-23 13:09:17,620 INFO L273 TraceCheckUtils]: 42: Hoare triple {2310#false} assume 0 == ~cond; {2310#false} is VALID [2018-11-23 13:09:17,621 INFO L273 TraceCheckUtils]: 43: Hoare triple {2310#false} assume !false; {2310#false} is VALID [2018-11-23 13:09:17,623 INFO L134 CoverageAnalysis]: Checked inductivity of 52 backedges. 4 proven. 36 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 13:09:17,623 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 13:09:17,623 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 13:09:17,633 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 13:09:17,839 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 7 check-sat command(s) [2018-11-23 13:09:17,839 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 13:09:17,863 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:09:17,864 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:09:18,014 INFO L256 TraceCheckUtils]: 0: Hoare triple {2309#true} call ULTIMATE.init(); {2309#true} is VALID [2018-11-23 13:09:18,014 INFO L273 TraceCheckUtils]: 1: Hoare triple {2309#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2309#true} is VALID [2018-11-23 13:09:18,014 INFO L273 TraceCheckUtils]: 2: Hoare triple {2309#true} assume true; {2309#true} is VALID [2018-11-23 13:09:18,015 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2309#true} {2309#true} #56#return; {2309#true} is VALID [2018-11-23 13:09:18,015 INFO L256 TraceCheckUtils]: 4: Hoare triple {2309#true} call #t~ret4 := main(); {2309#true} is VALID [2018-11-23 13:09:18,016 INFO L273 TraceCheckUtils]: 5: Hoare triple {2309#true} call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(4000);havoc ~index~0;~index~0 := 0; {2311#(= main_~index~0 0)} is VALID [2018-11-23 13:09:18,016 INFO L273 TraceCheckUtils]: 6: Hoare triple {2311#(= main_~index~0 0)} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {2311#(= main_~index~0 0)} is VALID [2018-11-23 13:09:18,017 INFO L273 TraceCheckUtils]: 7: Hoare triple {2311#(= main_~index~0 0)} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {2312#(and (<= main_~index~0 1) (<= 1 main_~index~0))} is VALID [2018-11-23 13:09:18,017 INFO L273 TraceCheckUtils]: 8: Hoare triple {2312#(and (<= main_~index~0 1) (<= 1 main_~index~0))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {2312#(and (<= main_~index~0 1) (<= 1 main_~index~0))} is VALID [2018-11-23 13:09:18,020 INFO L273 TraceCheckUtils]: 9: Hoare triple {2312#(and (<= main_~index~0 1) (<= 1 main_~index~0))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {2313#(and (<= 2 main_~index~0) (<= main_~index~0 2))} is VALID [2018-11-23 13:09:18,021 INFO L273 TraceCheckUtils]: 10: Hoare triple {2313#(and (<= 2 main_~index~0) (<= main_~index~0 2))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {2313#(and (<= 2 main_~index~0) (<= main_~index~0 2))} is VALID [2018-11-23 13:09:18,022 INFO L273 TraceCheckUtils]: 11: Hoare triple {2313#(and (<= 2 main_~index~0) (<= main_~index~0 2))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {2314#(and (<= 3 main_~index~0) (<= main_~index~0 3))} is VALID [2018-11-23 13:09:18,022 INFO L273 TraceCheckUtils]: 12: Hoare triple {2314#(and (<= 3 main_~index~0) (<= main_~index~0 3))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {2314#(and (<= 3 main_~index~0) (<= main_~index~0 3))} is VALID [2018-11-23 13:09:18,023 INFO L273 TraceCheckUtils]: 13: Hoare triple {2314#(and (<= 3 main_~index~0) (<= main_~index~0 3))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {2315#(and (<= 4 main_~index~0) (<= main_~index~0 4))} is VALID [2018-11-23 13:09:18,024 INFO L273 TraceCheckUtils]: 14: Hoare triple {2315#(and (<= 4 main_~index~0) (<= main_~index~0 4))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {2315#(and (<= 4 main_~index~0) (<= main_~index~0 4))} is VALID [2018-11-23 13:09:18,025 INFO L273 TraceCheckUtils]: 15: Hoare triple {2315#(and (<= 4 main_~index~0) (<= main_~index~0 4))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {2316#(and (<= 5 main_~index~0) (<= main_~index~0 5))} is VALID [2018-11-23 13:09:18,026 INFO L273 TraceCheckUtils]: 16: Hoare triple {2316#(and (<= 5 main_~index~0) (<= main_~index~0 5))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {2316#(and (<= 5 main_~index~0) (<= main_~index~0 5))} is VALID [2018-11-23 13:09:18,027 INFO L273 TraceCheckUtils]: 17: Hoare triple {2316#(and (<= 5 main_~index~0) (<= main_~index~0 5))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {2372#(and (<= 6 main_~index~0) (<= main_~index~0 6))} is VALID [2018-11-23 13:09:18,028 INFO L273 TraceCheckUtils]: 18: Hoare triple {2372#(and (<= 6 main_~index~0) (<= main_~index~0 6))} assume !(~index~0 % 4294967296 < 1000); {2310#false} is VALID [2018-11-23 13:09:18,028 INFO L273 TraceCheckUtils]: 19: Hoare triple {2310#false} ~index~0 := 0; {2310#false} is VALID [2018-11-23 13:09:18,028 INFO L273 TraceCheckUtils]: 20: Hoare triple {2310#false} assume !!(~index~0 % 4294967296 < 1000); {2310#false} is VALID [2018-11-23 13:09:18,029 INFO L273 TraceCheckUtils]: 21: Hoare triple {2310#false} assume 0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296;call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {2310#false} is VALID [2018-11-23 13:09:18,029 INFO L256 TraceCheckUtils]: 22: Hoare triple {2310#false} call __VERIFIER_assert((if 0 == #t~mem2 % 4294967296 then 1 else 0)); {2310#false} is VALID [2018-11-23 13:09:18,029 INFO L273 TraceCheckUtils]: 23: Hoare triple {2310#false} ~cond := #in~cond; {2310#false} is VALID [2018-11-23 13:09:18,030 INFO L273 TraceCheckUtils]: 24: Hoare triple {2310#false} assume !(0 == ~cond); {2310#false} is VALID [2018-11-23 13:09:18,030 INFO L273 TraceCheckUtils]: 25: Hoare triple {2310#false} assume true; {2310#false} is VALID [2018-11-23 13:09:18,030 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {2310#false} {2310#false} #60#return; {2310#false} is VALID [2018-11-23 13:09:18,031 INFO L273 TraceCheckUtils]: 27: Hoare triple {2310#false} havoc #t~mem2; {2310#false} is VALID [2018-11-23 13:09:18,031 INFO L273 TraceCheckUtils]: 28: Hoare triple {2310#false} #t~post1 := ~index~0;~index~0 := 1 + #t~post1;havoc #t~post1; {2310#false} is VALID [2018-11-23 13:09:18,031 INFO L273 TraceCheckUtils]: 29: Hoare triple {2310#false} assume !!(~index~0 % 4294967296 < 1000); {2310#false} is VALID [2018-11-23 13:09:18,031 INFO L273 TraceCheckUtils]: 30: Hoare triple {2310#false} assume !(0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {2310#false} is VALID [2018-11-23 13:09:18,032 INFO L256 TraceCheckUtils]: 31: Hoare triple {2310#false} call __VERIFIER_assert((if 0 != #t~mem3 % 4294967296 then 1 else 0)); {2310#false} is VALID [2018-11-23 13:09:18,032 INFO L273 TraceCheckUtils]: 32: Hoare triple {2310#false} ~cond := #in~cond; {2310#false} is VALID [2018-11-23 13:09:18,032 INFO L273 TraceCheckUtils]: 33: Hoare triple {2310#false} assume !(0 == ~cond); {2310#false} is VALID [2018-11-23 13:09:18,032 INFO L273 TraceCheckUtils]: 34: Hoare triple {2310#false} assume true; {2310#false} is VALID [2018-11-23 13:09:18,032 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {2310#false} {2310#false} #62#return; {2310#false} is VALID [2018-11-23 13:09:18,033 INFO L273 TraceCheckUtils]: 36: Hoare triple {2310#false} havoc #t~mem3; {2310#false} is VALID [2018-11-23 13:09:18,033 INFO L273 TraceCheckUtils]: 37: Hoare triple {2310#false} #t~post1 := ~index~0;~index~0 := 1 + #t~post1;havoc #t~post1; {2310#false} is VALID [2018-11-23 13:09:18,033 INFO L273 TraceCheckUtils]: 38: Hoare triple {2310#false} assume !!(~index~0 % 4294967296 < 1000); {2310#false} is VALID [2018-11-23 13:09:18,033 INFO L273 TraceCheckUtils]: 39: Hoare triple {2310#false} assume 0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296;call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {2310#false} is VALID [2018-11-23 13:09:18,033 INFO L256 TraceCheckUtils]: 40: Hoare triple {2310#false} call __VERIFIER_assert((if 0 == #t~mem2 % 4294967296 then 1 else 0)); {2310#false} is VALID [2018-11-23 13:09:18,034 INFO L273 TraceCheckUtils]: 41: Hoare triple {2310#false} ~cond := #in~cond; {2310#false} is VALID [2018-11-23 13:09:18,034 INFO L273 TraceCheckUtils]: 42: Hoare triple {2310#false} assume 0 == ~cond; {2310#false} is VALID [2018-11-23 13:09:18,034 INFO L273 TraceCheckUtils]: 43: Hoare triple {2310#false} assume !false; {2310#false} is VALID [2018-11-23 13:09:18,036 INFO L134 CoverageAnalysis]: Checked inductivity of 52 backedges. 0 proven. 36 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2018-11-23 13:09:18,056 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 13:09:18,056 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 10 [2018-11-23 13:09:18,056 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 44 [2018-11-23 13:09:18,057 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:09:18,057 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-11-23 13:09:18,103 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:09:18,103 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-11-23 13:09:18,104 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-11-23 13:09:18,104 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2018-11-23 13:09:18,104 INFO L87 Difference]: Start difference. First operand 68 states and 74 transitions. Second operand 10 states. [2018-11-23 13:09:19,411 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:09:19,412 INFO L93 Difference]: Finished difference Result 128 states and 143 transitions. [2018-11-23 13:09:19,412 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-11-23 13:09:19,412 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 44 [2018-11-23 13:09:19,412 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:09:19,412 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-11-23 13:09:19,415 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 99 transitions. [2018-11-23 13:09:19,415 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-11-23 13:09:19,417 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 99 transitions. [2018-11-23 13:09:19,418 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 99 transitions. [2018-11-23 13:09:19,530 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 99 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:09:19,533 INFO L225 Difference]: With dead ends: 128 [2018-11-23 13:09:19,534 INFO L226 Difference]: Without dead ends: 79 [2018-11-23 13:09:19,535 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 52 GetRequests, 42 SyntacticMatches, 2 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2018-11-23 13:09:19,536 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 79 states. [2018-11-23 13:09:19,879 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 79 to 75. [2018-11-23 13:09:19,879 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:09:19,879 INFO L82 GeneralOperation]: Start isEquivalent. First operand 79 states. Second operand 75 states. [2018-11-23 13:09:19,879 INFO L74 IsIncluded]: Start isIncluded. First operand 79 states. Second operand 75 states. [2018-11-23 13:09:19,879 INFO L87 Difference]: Start difference. First operand 79 states. Second operand 75 states. [2018-11-23 13:09:19,884 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:09:19,884 INFO L93 Difference]: Finished difference Result 79 states and 87 transitions. [2018-11-23 13:09:19,884 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 87 transitions. [2018-11-23 13:09:19,885 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:09:19,885 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:09:19,885 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand 79 states. [2018-11-23 13:09:19,885 INFO L87 Difference]: Start difference. First operand 75 states. Second operand 79 states. [2018-11-23 13:09:19,888 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:09:19,888 INFO L93 Difference]: Finished difference Result 79 states and 87 transitions. [2018-11-23 13:09:19,888 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 87 transitions. [2018-11-23 13:09:19,888 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:09:19,889 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:09:19,889 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:09:19,889 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:09:19,889 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 75 states. [2018-11-23 13:09:19,891 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 75 states to 75 states and 82 transitions. [2018-11-23 13:09:19,892 INFO L78 Accepts]: Start accepts. Automaton has 75 states and 82 transitions. Word has length 44 [2018-11-23 13:09:19,892 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:09:19,892 INFO L480 AbstractCegarLoop]: Abstraction has 75 states and 82 transitions. [2018-11-23 13:09:19,892 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-11-23 13:09:19,892 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 82 transitions. [2018-11-23 13:09:19,893 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2018-11-23 13:09:19,893 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:09:19,893 INFO L402 BasicCegarLoop]: trace histogram [7, 7, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:09:19,893 INFO L423 AbstractCegarLoop]: === Iteration 8 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:09:19,893 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:09:19,894 INFO L82 PathProgramCache]: Analyzing trace with hash -617740267, now seen corresponding path program 4 times [2018-11-23 13:09:19,894 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:09:19,894 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:09:19,894 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:09:19,895 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 13:09:19,895 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:09:19,928 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:09:20,480 INFO L256 TraceCheckUtils]: 0: Hoare triple {2891#true} call ULTIMATE.init(); {2891#true} is VALID [2018-11-23 13:09:20,480 INFO L273 TraceCheckUtils]: 1: Hoare triple {2891#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2891#true} is VALID [2018-11-23 13:09:20,481 INFO L273 TraceCheckUtils]: 2: Hoare triple {2891#true} assume true; {2891#true} is VALID [2018-11-23 13:09:20,481 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2891#true} {2891#true} #56#return; {2891#true} is VALID [2018-11-23 13:09:20,481 INFO L256 TraceCheckUtils]: 4: Hoare triple {2891#true} call #t~ret4 := main(); {2891#true} is VALID [2018-11-23 13:09:20,481 INFO L273 TraceCheckUtils]: 5: Hoare triple {2891#true} call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(4000);havoc ~index~0;~index~0 := 0; {2893#(= main_~index~0 0)} is VALID [2018-11-23 13:09:20,482 INFO L273 TraceCheckUtils]: 6: Hoare triple {2893#(= main_~index~0 0)} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {2893#(= main_~index~0 0)} is VALID [2018-11-23 13:09:20,482 INFO L273 TraceCheckUtils]: 7: Hoare triple {2893#(= main_~index~0 0)} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {2894#(and (<= main_~index~0 1) (<= 1 main_~index~0))} is VALID [2018-11-23 13:09:20,483 INFO L273 TraceCheckUtils]: 8: Hoare triple {2894#(and (<= main_~index~0 1) (<= 1 main_~index~0))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {2894#(and (<= main_~index~0 1) (<= 1 main_~index~0))} is VALID [2018-11-23 13:09:20,484 INFO L273 TraceCheckUtils]: 9: Hoare triple {2894#(and (<= main_~index~0 1) (<= 1 main_~index~0))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {2895#(and (<= 2 main_~index~0) (<= main_~index~0 2))} is VALID [2018-11-23 13:09:20,505 INFO L273 TraceCheckUtils]: 10: Hoare triple {2895#(and (<= 2 main_~index~0) (<= main_~index~0 2))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {2895#(and (<= 2 main_~index~0) (<= main_~index~0 2))} is VALID [2018-11-23 13:09:20,519 INFO L273 TraceCheckUtils]: 11: Hoare triple {2895#(and (<= 2 main_~index~0) (<= main_~index~0 2))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {2896#(and (<= 3 main_~index~0) (<= main_~index~0 3))} is VALID [2018-11-23 13:09:20,534 INFO L273 TraceCheckUtils]: 12: Hoare triple {2896#(and (<= 3 main_~index~0) (<= main_~index~0 3))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {2896#(and (<= 3 main_~index~0) (<= main_~index~0 3))} is VALID [2018-11-23 13:09:20,543 INFO L273 TraceCheckUtils]: 13: Hoare triple {2896#(and (<= 3 main_~index~0) (<= main_~index~0 3))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {2897#(and (<= 4 main_~index~0) (<= main_~index~0 4))} is VALID [2018-11-23 13:09:20,556 INFO L273 TraceCheckUtils]: 14: Hoare triple {2897#(and (<= 4 main_~index~0) (<= main_~index~0 4))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {2897#(and (<= 4 main_~index~0) (<= main_~index~0 4))} is VALID [2018-11-23 13:09:20,557 INFO L273 TraceCheckUtils]: 15: Hoare triple {2897#(and (<= 4 main_~index~0) (<= main_~index~0 4))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {2898#(and (<= 5 main_~index~0) (<= main_~index~0 5))} is VALID [2018-11-23 13:09:20,558 INFO L273 TraceCheckUtils]: 16: Hoare triple {2898#(and (<= 5 main_~index~0) (<= main_~index~0 5))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {2898#(and (<= 5 main_~index~0) (<= main_~index~0 5))} is VALID [2018-11-23 13:09:20,558 INFO L273 TraceCheckUtils]: 17: Hoare triple {2898#(and (<= 5 main_~index~0) (<= main_~index~0 5))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {2899#(and (<= 6 main_~index~0) (<= main_~index~0 6))} is VALID [2018-11-23 13:09:20,559 INFO L273 TraceCheckUtils]: 18: Hoare triple {2899#(and (<= 6 main_~index~0) (<= main_~index~0 6))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {2899#(and (<= 6 main_~index~0) (<= main_~index~0 6))} is VALID [2018-11-23 13:09:20,560 INFO L273 TraceCheckUtils]: 19: Hoare triple {2899#(and (<= 6 main_~index~0) (<= main_~index~0 6))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {2900#(and (<= main_~index~0 7) (< 0 (+ (div main_~index~0 4294967296) 1)))} is VALID [2018-11-23 13:09:20,562 INFO L273 TraceCheckUtils]: 20: Hoare triple {2900#(and (<= main_~index~0 7) (< 0 (+ (div main_~index~0 4294967296) 1)))} assume !(~index~0 % 4294967296 < 1000); {2892#false} is VALID [2018-11-23 13:09:20,562 INFO L273 TraceCheckUtils]: 21: Hoare triple {2892#false} ~index~0 := 0; {2892#false} is VALID [2018-11-23 13:09:20,562 INFO L273 TraceCheckUtils]: 22: Hoare triple {2892#false} assume !!(~index~0 % 4294967296 < 1000); {2892#false} is VALID [2018-11-23 13:09:20,563 INFO L273 TraceCheckUtils]: 23: Hoare triple {2892#false} assume 0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296;call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {2892#false} is VALID [2018-11-23 13:09:20,563 INFO L256 TraceCheckUtils]: 24: Hoare triple {2892#false} call __VERIFIER_assert((if 0 == #t~mem2 % 4294967296 then 1 else 0)); {2891#true} is VALID [2018-11-23 13:09:20,563 INFO L273 TraceCheckUtils]: 25: Hoare triple {2891#true} ~cond := #in~cond; {2891#true} is VALID [2018-11-23 13:09:20,563 INFO L273 TraceCheckUtils]: 26: Hoare triple {2891#true} assume !(0 == ~cond); {2891#true} is VALID [2018-11-23 13:09:20,564 INFO L273 TraceCheckUtils]: 27: Hoare triple {2891#true} assume true; {2891#true} is VALID [2018-11-23 13:09:20,567 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {2891#true} {2892#false} #60#return; {2892#false} is VALID [2018-11-23 13:09:20,567 INFO L273 TraceCheckUtils]: 29: Hoare triple {2892#false} havoc #t~mem2; {2892#false} is VALID [2018-11-23 13:09:20,567 INFO L273 TraceCheckUtils]: 30: Hoare triple {2892#false} #t~post1 := ~index~0;~index~0 := 1 + #t~post1;havoc #t~post1; {2892#false} is VALID [2018-11-23 13:09:20,567 INFO L273 TraceCheckUtils]: 31: Hoare triple {2892#false} assume !!(~index~0 % 4294967296 < 1000); {2892#false} is VALID [2018-11-23 13:09:20,567 INFO L273 TraceCheckUtils]: 32: Hoare triple {2892#false} assume !(0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {2892#false} is VALID [2018-11-23 13:09:20,567 INFO L256 TraceCheckUtils]: 33: Hoare triple {2892#false} call __VERIFIER_assert((if 0 != #t~mem3 % 4294967296 then 1 else 0)); {2891#true} is VALID [2018-11-23 13:09:20,568 INFO L273 TraceCheckUtils]: 34: Hoare triple {2891#true} ~cond := #in~cond; {2891#true} is VALID [2018-11-23 13:09:20,568 INFO L273 TraceCheckUtils]: 35: Hoare triple {2891#true} assume !(0 == ~cond); {2891#true} is VALID [2018-11-23 13:09:20,568 INFO L273 TraceCheckUtils]: 36: Hoare triple {2891#true} assume true; {2891#true} is VALID [2018-11-23 13:09:20,568 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {2891#true} {2892#false} #62#return; {2892#false} is VALID [2018-11-23 13:09:20,568 INFO L273 TraceCheckUtils]: 38: Hoare triple {2892#false} havoc #t~mem3; {2892#false} is VALID [2018-11-23 13:09:20,568 INFO L273 TraceCheckUtils]: 39: Hoare triple {2892#false} #t~post1 := ~index~0;~index~0 := 1 + #t~post1;havoc #t~post1; {2892#false} is VALID [2018-11-23 13:09:20,568 INFO L273 TraceCheckUtils]: 40: Hoare triple {2892#false} assume !!(~index~0 % 4294967296 < 1000); {2892#false} is VALID [2018-11-23 13:09:20,569 INFO L273 TraceCheckUtils]: 41: Hoare triple {2892#false} assume 0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296;call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {2892#false} is VALID [2018-11-23 13:09:20,570 INFO L256 TraceCheckUtils]: 42: Hoare triple {2892#false} call __VERIFIER_assert((if 0 == #t~mem2 % 4294967296 then 1 else 0)); {2892#false} is VALID [2018-11-23 13:09:20,570 INFO L273 TraceCheckUtils]: 43: Hoare triple {2892#false} ~cond := #in~cond; {2892#false} is VALID [2018-11-23 13:09:20,570 INFO L273 TraceCheckUtils]: 44: Hoare triple {2892#false} assume 0 == ~cond; {2892#false} is VALID [2018-11-23 13:09:20,570 INFO L273 TraceCheckUtils]: 45: Hoare triple {2892#false} assume !false; {2892#false} is VALID [2018-11-23 13:09:20,572 INFO L134 CoverageAnalysis]: Checked inductivity of 65 backedges. 4 proven. 49 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 13:09:20,572 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 13:09:20,572 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 13:09:20,581 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 13:09:20,607 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 13:09:20,607 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 13:09:20,620 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:09:20,621 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:09:20,777 INFO L256 TraceCheckUtils]: 0: Hoare triple {2891#true} call ULTIMATE.init(); {2891#true} is VALID [2018-11-23 13:09:20,777 INFO L273 TraceCheckUtils]: 1: Hoare triple {2891#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2891#true} is VALID [2018-11-23 13:09:20,778 INFO L273 TraceCheckUtils]: 2: Hoare triple {2891#true} assume true; {2891#true} is VALID [2018-11-23 13:09:20,778 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2891#true} {2891#true} #56#return; {2891#true} is VALID [2018-11-23 13:09:20,778 INFO L256 TraceCheckUtils]: 4: Hoare triple {2891#true} call #t~ret4 := main(); {2891#true} is VALID [2018-11-23 13:09:20,779 INFO L273 TraceCheckUtils]: 5: Hoare triple {2891#true} call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(4000);havoc ~index~0;~index~0 := 0; {2893#(= main_~index~0 0)} is VALID [2018-11-23 13:09:20,779 INFO L273 TraceCheckUtils]: 6: Hoare triple {2893#(= main_~index~0 0)} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {2893#(= main_~index~0 0)} is VALID [2018-11-23 13:09:20,780 INFO L273 TraceCheckUtils]: 7: Hoare triple {2893#(= main_~index~0 0)} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {2894#(and (<= main_~index~0 1) (<= 1 main_~index~0))} is VALID [2018-11-23 13:09:20,781 INFO L273 TraceCheckUtils]: 8: Hoare triple {2894#(and (<= main_~index~0 1) (<= 1 main_~index~0))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {2894#(and (<= main_~index~0 1) (<= 1 main_~index~0))} is VALID [2018-11-23 13:09:20,781 INFO L273 TraceCheckUtils]: 9: Hoare triple {2894#(and (<= main_~index~0 1) (<= 1 main_~index~0))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {2895#(and (<= 2 main_~index~0) (<= main_~index~0 2))} is VALID [2018-11-23 13:09:20,782 INFO L273 TraceCheckUtils]: 10: Hoare triple {2895#(and (<= 2 main_~index~0) (<= main_~index~0 2))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {2895#(and (<= 2 main_~index~0) (<= main_~index~0 2))} is VALID [2018-11-23 13:09:20,783 INFO L273 TraceCheckUtils]: 11: Hoare triple {2895#(and (<= 2 main_~index~0) (<= main_~index~0 2))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {2896#(and (<= 3 main_~index~0) (<= main_~index~0 3))} is VALID [2018-11-23 13:09:20,784 INFO L273 TraceCheckUtils]: 12: Hoare triple {2896#(and (<= 3 main_~index~0) (<= main_~index~0 3))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {2896#(and (<= 3 main_~index~0) (<= main_~index~0 3))} is VALID [2018-11-23 13:09:20,785 INFO L273 TraceCheckUtils]: 13: Hoare triple {2896#(and (<= 3 main_~index~0) (<= main_~index~0 3))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {2897#(and (<= 4 main_~index~0) (<= main_~index~0 4))} is VALID [2018-11-23 13:09:20,786 INFO L273 TraceCheckUtils]: 14: Hoare triple {2897#(and (<= 4 main_~index~0) (<= main_~index~0 4))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {2897#(and (<= 4 main_~index~0) (<= main_~index~0 4))} is VALID [2018-11-23 13:09:20,786 INFO L273 TraceCheckUtils]: 15: Hoare triple {2897#(and (<= 4 main_~index~0) (<= main_~index~0 4))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {2898#(and (<= 5 main_~index~0) (<= main_~index~0 5))} is VALID [2018-11-23 13:09:20,787 INFO L273 TraceCheckUtils]: 16: Hoare triple {2898#(and (<= 5 main_~index~0) (<= main_~index~0 5))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {2898#(and (<= 5 main_~index~0) (<= main_~index~0 5))} is VALID [2018-11-23 13:09:20,788 INFO L273 TraceCheckUtils]: 17: Hoare triple {2898#(and (<= 5 main_~index~0) (<= main_~index~0 5))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {2899#(and (<= 6 main_~index~0) (<= main_~index~0 6))} is VALID [2018-11-23 13:09:20,789 INFO L273 TraceCheckUtils]: 18: Hoare triple {2899#(and (<= 6 main_~index~0) (<= main_~index~0 6))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {2899#(and (<= 6 main_~index~0) (<= main_~index~0 6))} is VALID [2018-11-23 13:09:20,790 INFO L273 TraceCheckUtils]: 19: Hoare triple {2899#(and (<= 6 main_~index~0) (<= main_~index~0 6))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {2961#(and (<= 7 main_~index~0) (<= main_~index~0 7))} is VALID [2018-11-23 13:09:20,791 INFO L273 TraceCheckUtils]: 20: Hoare triple {2961#(and (<= 7 main_~index~0) (<= main_~index~0 7))} assume !(~index~0 % 4294967296 < 1000); {2892#false} is VALID [2018-11-23 13:09:20,791 INFO L273 TraceCheckUtils]: 21: Hoare triple {2892#false} ~index~0 := 0; {2892#false} is VALID [2018-11-23 13:09:20,792 INFO L273 TraceCheckUtils]: 22: Hoare triple {2892#false} assume !!(~index~0 % 4294967296 < 1000); {2892#false} is VALID [2018-11-23 13:09:20,792 INFO L273 TraceCheckUtils]: 23: Hoare triple {2892#false} assume 0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296;call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {2892#false} is VALID [2018-11-23 13:09:20,792 INFO L256 TraceCheckUtils]: 24: Hoare triple {2892#false} call __VERIFIER_assert((if 0 == #t~mem2 % 4294967296 then 1 else 0)); {2892#false} is VALID [2018-11-23 13:09:20,792 INFO L273 TraceCheckUtils]: 25: Hoare triple {2892#false} ~cond := #in~cond; {2892#false} is VALID [2018-11-23 13:09:20,793 INFO L273 TraceCheckUtils]: 26: Hoare triple {2892#false} assume !(0 == ~cond); {2892#false} is VALID [2018-11-23 13:09:20,793 INFO L273 TraceCheckUtils]: 27: Hoare triple {2892#false} assume true; {2892#false} is VALID [2018-11-23 13:09:20,793 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {2892#false} {2892#false} #60#return; {2892#false} is VALID [2018-11-23 13:09:20,794 INFO L273 TraceCheckUtils]: 29: Hoare triple {2892#false} havoc #t~mem2; {2892#false} is VALID [2018-11-23 13:09:20,794 INFO L273 TraceCheckUtils]: 30: Hoare triple {2892#false} #t~post1 := ~index~0;~index~0 := 1 + #t~post1;havoc #t~post1; {2892#false} is VALID [2018-11-23 13:09:20,794 INFO L273 TraceCheckUtils]: 31: Hoare triple {2892#false} assume !!(~index~0 % 4294967296 < 1000); {2892#false} is VALID [2018-11-23 13:09:20,795 INFO L273 TraceCheckUtils]: 32: Hoare triple {2892#false} assume !(0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {2892#false} is VALID [2018-11-23 13:09:20,795 INFO L256 TraceCheckUtils]: 33: Hoare triple {2892#false} call __VERIFIER_assert((if 0 != #t~mem3 % 4294967296 then 1 else 0)); {2892#false} is VALID [2018-11-23 13:09:20,795 INFO L273 TraceCheckUtils]: 34: Hoare triple {2892#false} ~cond := #in~cond; {2892#false} is VALID [2018-11-23 13:09:20,795 INFO L273 TraceCheckUtils]: 35: Hoare triple {2892#false} assume !(0 == ~cond); {2892#false} is VALID [2018-11-23 13:09:20,795 INFO L273 TraceCheckUtils]: 36: Hoare triple {2892#false} assume true; {2892#false} is VALID [2018-11-23 13:09:20,796 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {2892#false} {2892#false} #62#return; {2892#false} is VALID [2018-11-23 13:09:20,796 INFO L273 TraceCheckUtils]: 38: Hoare triple {2892#false} havoc #t~mem3; {2892#false} is VALID [2018-11-23 13:09:20,796 INFO L273 TraceCheckUtils]: 39: Hoare triple {2892#false} #t~post1 := ~index~0;~index~0 := 1 + #t~post1;havoc #t~post1; {2892#false} is VALID [2018-11-23 13:09:20,796 INFO L273 TraceCheckUtils]: 40: Hoare triple {2892#false} assume !!(~index~0 % 4294967296 < 1000); {2892#false} is VALID [2018-11-23 13:09:20,796 INFO L273 TraceCheckUtils]: 41: Hoare triple {2892#false} assume 0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296;call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {2892#false} is VALID [2018-11-23 13:09:20,796 INFO L256 TraceCheckUtils]: 42: Hoare triple {2892#false} call __VERIFIER_assert((if 0 == #t~mem2 % 4294967296 then 1 else 0)); {2892#false} is VALID [2018-11-23 13:09:20,796 INFO L273 TraceCheckUtils]: 43: Hoare triple {2892#false} ~cond := #in~cond; {2892#false} is VALID [2018-11-23 13:09:20,797 INFO L273 TraceCheckUtils]: 44: Hoare triple {2892#false} assume 0 == ~cond; {2892#false} is VALID [2018-11-23 13:09:20,797 INFO L273 TraceCheckUtils]: 45: Hoare triple {2892#false} assume !false; {2892#false} is VALID [2018-11-23 13:09:20,798 INFO L134 CoverageAnalysis]: Checked inductivity of 65 backedges. 0 proven. 49 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2018-11-23 13:09:20,816 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 13:09:20,817 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 11 [2018-11-23 13:09:20,817 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 46 [2018-11-23 13:09:20,817 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:09:20,818 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2018-11-23 13:09:20,864 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:09:20,864 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2018-11-23 13:09:20,864 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2018-11-23 13:09:20,865 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=83, Unknown=0, NotChecked=0, Total=110 [2018-11-23 13:09:20,865 INFO L87 Difference]: Start difference. First operand 75 states and 82 transitions. Second operand 11 states. [2018-11-23 13:09:22,578 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:09:22,579 INFO L93 Difference]: Finished difference Result 140 states and 157 transitions. [2018-11-23 13:09:22,579 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-11-23 13:09:22,579 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 46 [2018-11-23 13:09:22,579 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:09:22,579 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-11-23 13:09:22,582 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 107 transitions. [2018-11-23 13:09:22,582 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-11-23 13:09:22,585 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 107 transitions. [2018-11-23 13:09:22,585 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 107 transitions. [2018-11-23 13:09:22,728 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 107 edges. 107 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:09:22,731 INFO L225 Difference]: With dead ends: 140 [2018-11-23 13:09:22,731 INFO L226 Difference]: Without dead ends: 86 [2018-11-23 13:09:22,732 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 55 GetRequests, 44 SyntacticMatches, 2 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=27, Invalid=83, Unknown=0, NotChecked=0, Total=110 [2018-11-23 13:09:22,733 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2018-11-23 13:09:23,009 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 82. [2018-11-23 13:09:23,009 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:09:23,010 INFO L82 GeneralOperation]: Start isEquivalent. First operand 86 states. Second operand 82 states. [2018-11-23 13:09:23,010 INFO L74 IsIncluded]: Start isIncluded. First operand 86 states. Second operand 82 states. [2018-11-23 13:09:23,010 INFO L87 Difference]: Start difference. First operand 86 states. Second operand 82 states. [2018-11-23 13:09:23,014 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:09:23,015 INFO L93 Difference]: Finished difference Result 86 states and 95 transitions. [2018-11-23 13:09:23,015 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 95 transitions. [2018-11-23 13:09:23,015 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:09:23,016 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:09:23,016 INFO L74 IsIncluded]: Start isIncluded. First operand 82 states. Second operand 86 states. [2018-11-23 13:09:23,016 INFO L87 Difference]: Start difference. First operand 82 states. Second operand 86 states. [2018-11-23 13:09:23,020 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:09:23,020 INFO L93 Difference]: Finished difference Result 86 states and 95 transitions. [2018-11-23 13:09:23,020 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 95 transitions. [2018-11-23 13:09:23,021 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:09:23,021 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:09:23,021 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:09:23,021 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:09:23,021 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 82 states. [2018-11-23 13:09:23,024 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 82 states to 82 states and 90 transitions. [2018-11-23 13:09:23,025 INFO L78 Accepts]: Start accepts. Automaton has 82 states and 90 transitions. Word has length 46 [2018-11-23 13:09:23,025 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:09:23,025 INFO L480 AbstractCegarLoop]: Abstraction has 82 states and 90 transitions. [2018-11-23 13:09:23,025 INFO L481 AbstractCegarLoop]: Interpolant automaton has 11 states. [2018-11-23 13:09:23,025 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 90 transitions. [2018-11-23 13:09:23,026 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2018-11-23 13:09:23,026 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:09:23,026 INFO L402 BasicCegarLoop]: trace histogram [8, 8, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:09:23,026 INFO L423 AbstractCegarLoop]: === Iteration 9 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:09:23,027 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:09:23,027 INFO L82 PathProgramCache]: Analyzing trace with hash -1270646665, now seen corresponding path program 5 times [2018-11-23 13:09:23,027 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:09:23,027 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:09:23,028 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:09:23,028 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 13:09:23,028 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:09:23,057 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:09:23,353 INFO L256 TraceCheckUtils]: 0: Hoare triple {3521#true} call ULTIMATE.init(); {3521#true} is VALID [2018-11-23 13:09:23,353 INFO L273 TraceCheckUtils]: 1: Hoare triple {3521#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {3521#true} is VALID [2018-11-23 13:09:23,354 INFO L273 TraceCheckUtils]: 2: Hoare triple {3521#true} assume true; {3521#true} is VALID [2018-11-23 13:09:23,354 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3521#true} {3521#true} #56#return; {3521#true} is VALID [2018-11-23 13:09:23,354 INFO L256 TraceCheckUtils]: 4: Hoare triple {3521#true} call #t~ret4 := main(); {3521#true} is VALID [2018-11-23 13:09:23,360 INFO L273 TraceCheckUtils]: 5: Hoare triple {3521#true} call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(4000);havoc ~index~0;~index~0 := 0; {3523#(= main_~index~0 0)} is VALID [2018-11-23 13:09:23,360 INFO L273 TraceCheckUtils]: 6: Hoare triple {3523#(= main_~index~0 0)} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {3523#(= main_~index~0 0)} is VALID [2018-11-23 13:09:23,361 INFO L273 TraceCheckUtils]: 7: Hoare triple {3523#(= main_~index~0 0)} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {3524#(and (<= main_~index~0 1) (<= 1 main_~index~0))} is VALID [2018-11-23 13:09:23,362 INFO L273 TraceCheckUtils]: 8: Hoare triple {3524#(and (<= main_~index~0 1) (<= 1 main_~index~0))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {3524#(and (<= main_~index~0 1) (<= 1 main_~index~0))} is VALID [2018-11-23 13:09:23,362 INFO L273 TraceCheckUtils]: 9: Hoare triple {3524#(and (<= main_~index~0 1) (<= 1 main_~index~0))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {3525#(and (<= 2 main_~index~0) (<= main_~index~0 2))} is VALID [2018-11-23 13:09:23,363 INFO L273 TraceCheckUtils]: 10: Hoare triple {3525#(and (<= 2 main_~index~0) (<= main_~index~0 2))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {3525#(and (<= 2 main_~index~0) (<= main_~index~0 2))} is VALID [2018-11-23 13:09:23,364 INFO L273 TraceCheckUtils]: 11: Hoare triple {3525#(and (<= 2 main_~index~0) (<= main_~index~0 2))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {3526#(and (<= 3 main_~index~0) (<= main_~index~0 3))} is VALID [2018-11-23 13:09:23,364 INFO L273 TraceCheckUtils]: 12: Hoare triple {3526#(and (<= 3 main_~index~0) (<= main_~index~0 3))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {3526#(and (<= 3 main_~index~0) (<= main_~index~0 3))} is VALID [2018-11-23 13:09:23,365 INFO L273 TraceCheckUtils]: 13: Hoare triple {3526#(and (<= 3 main_~index~0) (<= main_~index~0 3))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {3527#(and (<= 4 main_~index~0) (<= main_~index~0 4))} is VALID [2018-11-23 13:09:23,366 INFO L273 TraceCheckUtils]: 14: Hoare triple {3527#(and (<= 4 main_~index~0) (<= main_~index~0 4))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {3527#(and (<= 4 main_~index~0) (<= main_~index~0 4))} is VALID [2018-11-23 13:09:23,367 INFO L273 TraceCheckUtils]: 15: Hoare triple {3527#(and (<= 4 main_~index~0) (<= main_~index~0 4))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {3528#(and (<= 5 main_~index~0) (<= main_~index~0 5))} is VALID [2018-11-23 13:09:23,368 INFO L273 TraceCheckUtils]: 16: Hoare triple {3528#(and (<= 5 main_~index~0) (<= main_~index~0 5))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {3528#(and (<= 5 main_~index~0) (<= main_~index~0 5))} is VALID [2018-11-23 13:09:23,369 INFO L273 TraceCheckUtils]: 17: Hoare triple {3528#(and (<= 5 main_~index~0) (<= main_~index~0 5))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {3529#(and (<= 6 main_~index~0) (<= main_~index~0 6))} is VALID [2018-11-23 13:09:23,370 INFO L273 TraceCheckUtils]: 18: Hoare triple {3529#(and (<= 6 main_~index~0) (<= main_~index~0 6))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {3529#(and (<= 6 main_~index~0) (<= main_~index~0 6))} is VALID [2018-11-23 13:09:23,371 INFO L273 TraceCheckUtils]: 19: Hoare triple {3529#(and (<= 6 main_~index~0) (<= main_~index~0 6))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {3530#(and (<= 7 main_~index~0) (<= main_~index~0 7))} is VALID [2018-11-23 13:09:23,378 INFO L273 TraceCheckUtils]: 20: Hoare triple {3530#(and (<= 7 main_~index~0) (<= main_~index~0 7))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {3530#(and (<= 7 main_~index~0) (<= main_~index~0 7))} is VALID [2018-11-23 13:09:23,379 INFO L273 TraceCheckUtils]: 21: Hoare triple {3530#(and (<= 7 main_~index~0) (<= main_~index~0 7))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {3531#(and (<= main_~index~0 8) (< 0 (+ (div main_~index~0 4294967296) 1)))} is VALID [2018-11-23 13:09:23,379 INFO L273 TraceCheckUtils]: 22: Hoare triple {3531#(and (<= main_~index~0 8) (< 0 (+ (div main_~index~0 4294967296) 1)))} assume !(~index~0 % 4294967296 < 1000); {3522#false} is VALID [2018-11-23 13:09:23,380 INFO L273 TraceCheckUtils]: 23: Hoare triple {3522#false} ~index~0 := 0; {3522#false} is VALID [2018-11-23 13:09:23,380 INFO L273 TraceCheckUtils]: 24: Hoare triple {3522#false} assume !!(~index~0 % 4294967296 < 1000); {3522#false} is VALID [2018-11-23 13:09:23,380 INFO L273 TraceCheckUtils]: 25: Hoare triple {3522#false} assume 0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296;call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {3522#false} is VALID [2018-11-23 13:09:23,380 INFO L256 TraceCheckUtils]: 26: Hoare triple {3522#false} call __VERIFIER_assert((if 0 == #t~mem2 % 4294967296 then 1 else 0)); {3521#true} is VALID [2018-11-23 13:09:23,380 INFO L273 TraceCheckUtils]: 27: Hoare triple {3521#true} ~cond := #in~cond; {3521#true} is VALID [2018-11-23 13:09:23,380 INFO L273 TraceCheckUtils]: 28: Hoare triple {3521#true} assume !(0 == ~cond); {3521#true} is VALID [2018-11-23 13:09:23,381 INFO L273 TraceCheckUtils]: 29: Hoare triple {3521#true} assume true; {3521#true} is VALID [2018-11-23 13:09:23,381 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {3521#true} {3522#false} #60#return; {3522#false} is VALID [2018-11-23 13:09:23,381 INFO L273 TraceCheckUtils]: 31: Hoare triple {3522#false} havoc #t~mem2; {3522#false} is VALID [2018-11-23 13:09:23,381 INFO L273 TraceCheckUtils]: 32: Hoare triple {3522#false} #t~post1 := ~index~0;~index~0 := 1 + #t~post1;havoc #t~post1; {3522#false} is VALID [2018-11-23 13:09:23,381 INFO L273 TraceCheckUtils]: 33: Hoare triple {3522#false} assume !!(~index~0 % 4294967296 < 1000); {3522#false} is VALID [2018-11-23 13:09:23,382 INFO L273 TraceCheckUtils]: 34: Hoare triple {3522#false} assume !(0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {3522#false} is VALID [2018-11-23 13:09:23,382 INFO L256 TraceCheckUtils]: 35: Hoare triple {3522#false} call __VERIFIER_assert((if 0 != #t~mem3 % 4294967296 then 1 else 0)); {3521#true} is VALID [2018-11-23 13:09:23,382 INFO L273 TraceCheckUtils]: 36: Hoare triple {3521#true} ~cond := #in~cond; {3521#true} is VALID [2018-11-23 13:09:23,382 INFO L273 TraceCheckUtils]: 37: Hoare triple {3521#true} assume !(0 == ~cond); {3521#true} is VALID [2018-11-23 13:09:23,382 INFO L273 TraceCheckUtils]: 38: Hoare triple {3521#true} assume true; {3521#true} is VALID [2018-11-23 13:09:23,383 INFO L268 TraceCheckUtils]: 39: Hoare quadruple {3521#true} {3522#false} #62#return; {3522#false} is VALID [2018-11-23 13:09:23,383 INFO L273 TraceCheckUtils]: 40: Hoare triple {3522#false} havoc #t~mem3; {3522#false} is VALID [2018-11-23 13:09:23,383 INFO L273 TraceCheckUtils]: 41: Hoare triple {3522#false} #t~post1 := ~index~0;~index~0 := 1 + #t~post1;havoc #t~post1; {3522#false} is VALID [2018-11-23 13:09:23,384 INFO L273 TraceCheckUtils]: 42: Hoare triple {3522#false} assume !!(~index~0 % 4294967296 < 1000); {3522#false} is VALID [2018-11-23 13:09:23,384 INFO L273 TraceCheckUtils]: 43: Hoare triple {3522#false} assume 0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296;call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {3522#false} is VALID [2018-11-23 13:09:23,384 INFO L256 TraceCheckUtils]: 44: Hoare triple {3522#false} call __VERIFIER_assert((if 0 == #t~mem2 % 4294967296 then 1 else 0)); {3522#false} is VALID [2018-11-23 13:09:23,384 INFO L273 TraceCheckUtils]: 45: Hoare triple {3522#false} ~cond := #in~cond; {3522#false} is VALID [2018-11-23 13:09:23,384 INFO L273 TraceCheckUtils]: 46: Hoare triple {3522#false} assume 0 == ~cond; {3522#false} is VALID [2018-11-23 13:09:23,385 INFO L273 TraceCheckUtils]: 47: Hoare triple {3522#false} assume !false; {3522#false} is VALID [2018-11-23 13:09:23,388 INFO L134 CoverageAnalysis]: Checked inductivity of 80 backedges. 4 proven. 64 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 13:09:23,388 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 13:09:23,388 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 13:09:23,397 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-23 13:09:42,782 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 9 check-sat command(s) [2018-11-23 13:09:42,782 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 13:09:42,847 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:09:42,850 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:09:42,909 WARN L307 Elim1Store]: Array PQE input equivalent to false [2018-11-23 13:09:42,910 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 13:09:42,976 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 19 treesize of output 16 [2018-11-23 13:09:42,982 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 15 [2018-11-23 13:09:42,985 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 13:09:42,988 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:09:42,999 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:09:43,000 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 4 variables, input treesize:271, output treesize:22 [2018-11-23 13:09:43,170 WARN L307 Elim1Store]: Array PQE input equivalent to false [2018-11-23 13:09:43,171 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 13:09:43,177 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 61 treesize of output 56 [2018-11-23 13:09:43,187 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:09:43,214 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:09:43,216 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 34 treesize of output 71 [2018-11-23 13:09:43,219 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 13:09:43,243 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:09:43,366 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:09:43,366 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 4 variables, input treesize:385, output treesize:41 [2018-11-23 13:09:43,605 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 77 treesize of output 70 [2018-11-23 13:09:43,617 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:09:43,621 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:09:43,623 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:09:43,626 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:09:43,628 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 4 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 49 treesize of output 136 [2018-11-23 13:09:43,631 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 13:09:43,670 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:09:43,683 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 78 treesize of output 71 [2018-11-23 13:09:43,702 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:09:43,704 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:09:43,707 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:09:43,711 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:09:43,712 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 4 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 49 treesize of output 136 [2018-11-23 13:09:43,715 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 13:09:43,756 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:09:43,951 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:09:43,951 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 4 variables, input treesize:487, output treesize:58 [2018-11-23 13:09:44,283 WARN L307 Elim1Store]: Array PQE input equivalent to false [2018-11-23 13:09:44,284 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 13:09:50,481 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 75 treesize of output 66 [2018-11-23 13:09:50,497 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:09:50,512 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:09:50,519 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:09:50,521 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:09:50,528 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:09:50,533 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:09:50,540 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:09:50,542 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 7 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 66 treesize of output 213 [2018-11-23 13:09:50,546 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 13:09:50,591 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:09:50,629 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:09:50,629 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 4 variables, input treesize:601, output treesize:77 [2018-11-23 13:09:51,023 WARN L180 SmtUtils]: Spent 124.00 ms on a formula simplification that was a NOOP. DAG size: 44 [2018-11-23 13:09:51,074 WARN L307 Elim1Store]: Array PQE input equivalent to false [2018-11-23 13:09:51,075 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 13:09:59,030 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 92 treesize of output 81 [2018-11-23 13:09:59,048 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:09:59,050 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:09:59,052 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:09:59,054 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:09:59,057 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:09:59,059 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:09:59,061 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:09:59,062 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:09:59,064 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:09:59,066 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:09:59,068 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:09:59,073 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 11 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 81 treesize of output 308 [2018-11-23 13:09:59,077 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 13:09:59,159 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:10:01,718 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:10:01,719 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 4 variables, input treesize:703, output treesize:94 [2018-11-23 13:10:02,669 WARN L180 SmtUtils]: Spent 627.00 ms on a formula simplification that was a NOOP. DAG size: 51 [2018-11-23 13:10:02,762 WARN L307 Elim1Store]: Array PQE input equivalent to false [2018-11-23 13:10:02,763 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 13:10:02,785 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 133 treesize of output 120 [2018-11-23 13:10:02,812 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:10:02,826 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:10:02,835 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:10:02,848 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:10:02,860 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:10:02,870 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:10:02,878 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:10:02,883 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:10:02,896 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:10:02,904 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:10:02,911 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:10:02,926 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:10:02,939 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:10:02,948 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:10:02,955 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:10:02,965 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:10:02,965 INFO L303 Elim1Store]: Index analysis took 173 ms [2018-11-23 13:10:02,967 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 16 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 98 treesize of output 425 [2018-11-23 13:10:02,982 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 13:10:03,151 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:10:09,671 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 4 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 13:10:09,671 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 5 variables, input treesize:817, output treesize:113 [2018-11-23 13:10:13,305 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 116 treesize of output 102 [2018-11-23 13:10:13,334 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:10:13,335 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:10:13,338 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:10:13,339 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:10:13,341 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:10:13,344 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:10:13,344 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 13:10:13,347 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:10:13,350 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:10:13,353 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:10:13,357 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:10:13,358 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:10:13,360 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:10:13,362 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:10:13,367 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:10:13,369 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:10:13,370 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:10:13,372 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:10:13,375 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 7 select indices, 7 select index equivalence classes, 16 disjoint index pairs (out of 21 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 102 treesize of output 335 [2018-11-23 13:10:13,384 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 13:10:13,471 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:10:13,479 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 13:10:13,479 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 4 variables, input treesize:122, output treesize:14 [2018-11-23 13:10:13,498 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:10:13,498 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#array~0.base|, v_prenex_30, |main_~#array~0.offset|]. (let ((.cse2 (mod v_prenex_30 2)) (.cse1 (mod (+ v_prenex_30 1) 2)) (.cse0 (select |#memory_int| |main_~#array~0.base|))) (and (= (select .cse0 (+ (* 4 (mod (+ v_prenex_30 4294967291) 4294967296)) |main_~#array~0.offset|)) .cse1) (<= 7 v_prenex_30) (= .cse2 (select .cse0 (+ (* 4 (mod (+ v_prenex_30 4294967292) 4294967296)) |main_~#array~0.offset|))) (= .cse2 (select .cse0 (+ (* 4 (mod v_prenex_30 4294967296)) |main_~#array~0.offset|))) (= .cse2 (select .cse0 (+ (* 4 (mod (+ v_prenex_30 4294967294) 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_30 7) (= (select .cse0 (+ |main_~#array~0.offset| 8)) |main_#t~mem2|) (= (select .cse0 (+ (* 4 (mod (+ v_prenex_30 4294967293) 4294967296)) |main_~#array~0.offset|)) .cse1) (= .cse1 (select .cse0 (+ (* 4 (mod (+ v_prenex_30 4294967295) 4294967296)) |main_~#array~0.offset|))))) [2018-11-23 13:10:13,498 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_prenex_30]. (and (= (mod (+ v_prenex_30 1) 2) |main_#t~mem2|) (<= 7 v_prenex_30) (<= v_prenex_30 7)) [2018-11-23 13:10:13,808 INFO L256 TraceCheckUtils]: 0: Hoare triple {3521#true} call ULTIMATE.init(); {3521#true} is VALID [2018-11-23 13:10:13,809 INFO L273 TraceCheckUtils]: 1: Hoare triple {3521#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {3521#true} is VALID [2018-11-23 13:10:13,809 INFO L273 TraceCheckUtils]: 2: Hoare triple {3521#true} assume true; {3521#true} is VALID [2018-11-23 13:10:13,809 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3521#true} {3521#true} #56#return; {3521#true} is VALID [2018-11-23 13:10:13,809 INFO L256 TraceCheckUtils]: 4: Hoare triple {3521#true} call #t~ret4 := main(); {3521#true} is VALID [2018-11-23 13:10:13,810 INFO L273 TraceCheckUtils]: 5: Hoare triple {3521#true} call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(4000);havoc ~index~0;~index~0 := 0; {3523#(= main_~index~0 0)} is VALID [2018-11-23 13:10:13,810 INFO L273 TraceCheckUtils]: 6: Hoare triple {3523#(= main_~index~0 0)} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {3523#(= main_~index~0 0)} is VALID [2018-11-23 13:10:13,811 INFO L273 TraceCheckUtils]: 7: Hoare triple {3523#(= main_~index~0 0)} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {3524#(and (<= main_~index~0 1) (<= 1 main_~index~0))} is VALID [2018-11-23 13:10:13,812 INFO L273 TraceCheckUtils]: 8: Hoare triple {3524#(and (<= main_~index~0 1) (<= 1 main_~index~0))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {3524#(and (<= main_~index~0 1) (<= 1 main_~index~0))} is VALID [2018-11-23 13:10:13,812 INFO L273 TraceCheckUtils]: 9: Hoare triple {3524#(and (<= main_~index~0 1) (<= 1 main_~index~0))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {3525#(and (<= 2 main_~index~0) (<= main_~index~0 2))} is VALID [2018-11-23 13:10:13,828 INFO L273 TraceCheckUtils]: 10: Hoare triple {3525#(and (<= 2 main_~index~0) (<= main_~index~0 2))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {3565#(and (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod main_~index~0 4294967296)) |main_~#array~0.offset|))) (<= 2 main_~index~0) (<= main_~index~0 2))} is VALID [2018-11-23 13:10:13,832 INFO L273 TraceCheckUtils]: 11: Hoare triple {3565#(and (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod main_~index~0 4294967296)) |main_~#array~0.offset|))) (<= 2 main_~index~0) (<= main_~index~0 2))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {3569#(and (= (mod (+ main_~index~0 1) 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967295) 4294967296)) |main_~#array~0.offset|))) (<= 3 main_~index~0) (<= main_~index~0 3))} is VALID [2018-11-23 13:10:13,834 INFO L273 TraceCheckUtils]: 12: Hoare triple {3569#(and (= (mod (+ main_~index~0 1) 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967295) 4294967296)) |main_~#array~0.offset|))) (<= 3 main_~index~0) (<= main_~index~0 3))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {3573#(and (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod main_~index~0 4294967296)) |main_~#array~0.offset|))) (= (mod (+ main_~index~0 1) 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967295) 4294967296)) |main_~#array~0.offset|))) (<= 3 main_~index~0) (<= main_~index~0 3))} is VALID [2018-11-23 13:10:13,841 INFO L273 TraceCheckUtils]: 13: Hoare triple {3573#(and (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod main_~index~0 4294967296)) |main_~#array~0.offset|))) (= (mod (+ main_~index~0 1) 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967295) 4294967296)) |main_~#array~0.offset|))) (<= 3 main_~index~0) (<= main_~index~0 3))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {3577#(and (= (mod (+ main_~index~0 1) 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967295) 4294967296)) |main_~#array~0.offset|))) (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967294) 4294967296)) |main_~#array~0.offset|))) (<= 4 main_~index~0) (<= main_~index~0 4))} is VALID [2018-11-23 13:10:13,844 INFO L273 TraceCheckUtils]: 14: Hoare triple {3577#(and (= (mod (+ main_~index~0 1) 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967295) 4294967296)) |main_~#array~0.offset|))) (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967294) 4294967296)) |main_~#array~0.offset|))) (<= 4 main_~index~0) (<= main_~index~0 4))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {3581#(and (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod main_~index~0 4294967296)) |main_~#array~0.offset|))) (= (mod (+ main_~index~0 1) 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967295) 4294967296)) |main_~#array~0.offset|))) (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967294) 4294967296)) |main_~#array~0.offset|))) (<= 4 main_~index~0) (<= main_~index~0 4))} is VALID [2018-11-23 13:10:13,852 INFO L273 TraceCheckUtils]: 15: Hoare triple {3581#(and (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod main_~index~0 4294967296)) |main_~#array~0.offset|))) (= (mod (+ main_~index~0 1) 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967295) 4294967296)) |main_~#array~0.offset|))) (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967294) 4294967296)) |main_~#array~0.offset|))) (<= 4 main_~index~0) (<= main_~index~0 4))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {3585#(and (<= 5 main_~index~0) (= (mod (+ main_~index~0 1) 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967295) 4294967296)) |main_~#array~0.offset|))) (<= main_~index~0 5) (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967294) 4294967296)) |main_~#array~0.offset|))) (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967293) 4294967296)) |main_~#array~0.offset|)) (mod (+ main_~index~0 1) 2)))} is VALID [2018-11-23 13:10:13,856 INFO L273 TraceCheckUtils]: 16: Hoare triple {3585#(and (<= 5 main_~index~0) (= (mod (+ main_~index~0 1) 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967295) 4294967296)) |main_~#array~0.offset|))) (<= main_~index~0 5) (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967294) 4294967296)) |main_~#array~0.offset|))) (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967293) 4294967296)) |main_~#array~0.offset|)) (mod (+ main_~index~0 1) 2)))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {3589#(and (<= 5 main_~index~0) (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod main_~index~0 4294967296)) |main_~#array~0.offset|))) (= (mod (+ main_~index~0 1) 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967295) 4294967296)) |main_~#array~0.offset|))) (<= main_~index~0 5) (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967294) 4294967296)) |main_~#array~0.offset|))) (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967293) 4294967296)) |main_~#array~0.offset|)) (mod (+ main_~index~0 1) 2)))} is VALID [2018-11-23 13:10:13,869 INFO L273 TraceCheckUtils]: 17: Hoare triple {3589#(and (<= 5 main_~index~0) (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod main_~index~0 4294967296)) |main_~#array~0.offset|))) (= (mod (+ main_~index~0 1) 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967295) 4294967296)) |main_~#array~0.offset|))) (<= main_~index~0 5) (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967294) 4294967296)) |main_~#array~0.offset|))) (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967293) 4294967296)) |main_~#array~0.offset|)) (mod (+ main_~index~0 1) 2)))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {3593#(and (= (mod (+ main_~index~0 1) 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967295) 4294967296)) |main_~#array~0.offset|))) (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967292) 4294967296)) |main_~#array~0.offset|))) (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967294) 4294967296)) |main_~#array~0.offset|))) (<= 6 main_~index~0) (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967293) 4294967296)) |main_~#array~0.offset|)) (mod (+ main_~index~0 1) 2)) (<= main_~index~0 6))} is VALID [2018-11-23 13:10:13,874 INFO L273 TraceCheckUtils]: 18: Hoare triple {3593#(and (= (mod (+ main_~index~0 1) 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967295) 4294967296)) |main_~#array~0.offset|))) (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967292) 4294967296)) |main_~#array~0.offset|))) (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967294) 4294967296)) |main_~#array~0.offset|))) (<= 6 main_~index~0) (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967293) 4294967296)) |main_~#array~0.offset|)) (mod (+ main_~index~0 1) 2)) (<= main_~index~0 6))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {3597#(and (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod main_~index~0 4294967296)) |main_~#array~0.offset|))) (= (mod (+ main_~index~0 1) 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967295) 4294967296)) |main_~#array~0.offset|))) (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967292) 4294967296)) |main_~#array~0.offset|))) (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967294) 4294967296)) |main_~#array~0.offset|))) (<= 6 main_~index~0) (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967293) 4294967296)) |main_~#array~0.offset|)) (mod (+ main_~index~0 1) 2)) (<= main_~index~0 6))} is VALID [2018-11-23 13:10:13,899 INFO L273 TraceCheckUtils]: 19: Hoare triple {3597#(and (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod main_~index~0 4294967296)) |main_~#array~0.offset|))) (= (mod (+ main_~index~0 1) 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967295) 4294967296)) |main_~#array~0.offset|))) (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967292) 4294967296)) |main_~#array~0.offset|))) (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967294) 4294967296)) |main_~#array~0.offset|))) (<= 6 main_~index~0) (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967293) 4294967296)) |main_~#array~0.offset|)) (mod (+ main_~index~0 1) 2)) (<= main_~index~0 6))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {3601#(and (= (mod (+ main_~index~0 1) 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967295) 4294967296)) |main_~#array~0.offset|))) (<= 7 main_~index~0) (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967292) 4294967296)) |main_~#array~0.offset|))) (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967294) 4294967296)) |main_~#array~0.offset|))) (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967293) 4294967296)) |main_~#array~0.offset|)) (mod (+ main_~index~0 1) 2)) (<= main_~index~0 7) (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967291) 4294967296)) |main_~#array~0.offset|)) (mod (+ main_~index~0 1) 2)))} is VALID [2018-11-23 13:10:13,983 INFO L273 TraceCheckUtils]: 20: Hoare triple {3601#(and (= (mod (+ main_~index~0 1) 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967295) 4294967296)) |main_~#array~0.offset|))) (<= 7 main_~index~0) (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967292) 4294967296)) |main_~#array~0.offset|))) (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967294) 4294967296)) |main_~#array~0.offset|))) (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967293) 4294967296)) |main_~#array~0.offset|)) (mod (+ main_~index~0 1) 2)) (<= main_~index~0 7) (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967291) 4294967296)) |main_~#array~0.offset|)) (mod (+ main_~index~0 1) 2)))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {3605#(exists ((main_~index~0 Int)) (and (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod main_~index~0 4294967296)) |main_~#array~0.offset|))) (= (mod (+ main_~index~0 1) 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967295) 4294967296)) |main_~#array~0.offset|))) (<= 7 main_~index~0) (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967292) 4294967296)) |main_~#array~0.offset|))) (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967294) 4294967296)) |main_~#array~0.offset|))) (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967293) 4294967296)) |main_~#array~0.offset|)) (mod (+ main_~index~0 1) 2)) (<= main_~index~0 7) (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967291) 4294967296)) |main_~#array~0.offset|)) (mod (+ main_~index~0 1) 2))))} is VALID [2018-11-23 13:10:13,983 INFO L273 TraceCheckUtils]: 21: Hoare triple {3605#(exists ((main_~index~0 Int)) (and (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod main_~index~0 4294967296)) |main_~#array~0.offset|))) (= (mod (+ main_~index~0 1) 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967295) 4294967296)) |main_~#array~0.offset|))) (<= 7 main_~index~0) (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967292) 4294967296)) |main_~#array~0.offset|))) (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967294) 4294967296)) |main_~#array~0.offset|))) (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967293) 4294967296)) |main_~#array~0.offset|)) (mod (+ main_~index~0 1) 2)) (<= main_~index~0 7) (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967291) 4294967296)) |main_~#array~0.offset|)) (mod (+ main_~index~0 1) 2))))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {3605#(exists ((main_~index~0 Int)) (and (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod main_~index~0 4294967296)) |main_~#array~0.offset|))) (= (mod (+ main_~index~0 1) 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967295) 4294967296)) |main_~#array~0.offset|))) (<= 7 main_~index~0) (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967292) 4294967296)) |main_~#array~0.offset|))) (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967294) 4294967296)) |main_~#array~0.offset|))) (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967293) 4294967296)) |main_~#array~0.offset|)) (mod (+ main_~index~0 1) 2)) (<= main_~index~0 7) (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967291) 4294967296)) |main_~#array~0.offset|)) (mod (+ main_~index~0 1) 2))))} is VALID [2018-11-23 13:10:13,984 INFO L273 TraceCheckUtils]: 22: Hoare triple {3605#(exists ((main_~index~0 Int)) (and (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod main_~index~0 4294967296)) |main_~#array~0.offset|))) (= (mod (+ main_~index~0 1) 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967295) 4294967296)) |main_~#array~0.offset|))) (<= 7 main_~index~0) (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967292) 4294967296)) |main_~#array~0.offset|))) (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967294) 4294967296)) |main_~#array~0.offset|))) (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967293) 4294967296)) |main_~#array~0.offset|)) (mod (+ main_~index~0 1) 2)) (<= main_~index~0 7) (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967291) 4294967296)) |main_~#array~0.offset|)) (mod (+ main_~index~0 1) 2))))} assume !(~index~0 % 4294967296 < 1000); {3605#(exists ((main_~index~0 Int)) (and (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod main_~index~0 4294967296)) |main_~#array~0.offset|))) (= (mod (+ main_~index~0 1) 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967295) 4294967296)) |main_~#array~0.offset|))) (<= 7 main_~index~0) (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967292) 4294967296)) |main_~#array~0.offset|))) (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967294) 4294967296)) |main_~#array~0.offset|))) (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967293) 4294967296)) |main_~#array~0.offset|)) (mod (+ main_~index~0 1) 2)) (<= main_~index~0 7) (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967291) 4294967296)) |main_~#array~0.offset|)) (mod (+ main_~index~0 1) 2))))} is VALID [2018-11-23 13:10:13,987 INFO L273 TraceCheckUtils]: 23: Hoare triple {3605#(exists ((main_~index~0 Int)) (and (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod main_~index~0 4294967296)) |main_~#array~0.offset|))) (= (mod (+ main_~index~0 1) 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967295) 4294967296)) |main_~#array~0.offset|))) (<= 7 main_~index~0) (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967292) 4294967296)) |main_~#array~0.offset|))) (= (mod main_~index~0 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967294) 4294967296)) |main_~#array~0.offset|))) (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967293) 4294967296)) |main_~#array~0.offset|)) (mod (+ main_~index~0 1) 2)) (<= main_~index~0 7) (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ main_~index~0 4294967291) 4294967296)) |main_~#array~0.offset|)) (mod (+ main_~index~0 1) 2))))} ~index~0 := 0; {3615#(and (exists ((v_prenex_30 Int)) (and (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967291) 4294967296)) |main_~#array~0.offset|)) (mod (+ v_prenex_30 1) 2)) (<= 7 v_prenex_30) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967292) 4294967296)) |main_~#array~0.offset|))) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_30 4294967296)) |main_~#array~0.offset|))) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967294) 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_30 7) (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967293) 4294967296)) |main_~#array~0.offset|)) (mod (+ v_prenex_30 1) 2)) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967295) 4294967296)) |main_~#array~0.offset|))))) (= 0 main_~index~0))} is VALID [2018-11-23 13:10:13,989 INFO L273 TraceCheckUtils]: 24: Hoare triple {3615#(and (exists ((v_prenex_30 Int)) (and (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967291) 4294967296)) |main_~#array~0.offset|)) (mod (+ v_prenex_30 1) 2)) (<= 7 v_prenex_30) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967292) 4294967296)) |main_~#array~0.offset|))) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_30 4294967296)) |main_~#array~0.offset|))) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967294) 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_30 7) (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967293) 4294967296)) |main_~#array~0.offset|)) (mod (+ v_prenex_30 1) 2)) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967295) 4294967296)) |main_~#array~0.offset|))))) (= 0 main_~index~0))} assume !!(~index~0 % 4294967296 < 1000); {3615#(and (exists ((v_prenex_30 Int)) (and (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967291) 4294967296)) |main_~#array~0.offset|)) (mod (+ v_prenex_30 1) 2)) (<= 7 v_prenex_30) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967292) 4294967296)) |main_~#array~0.offset|))) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_30 4294967296)) |main_~#array~0.offset|))) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967294) 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_30 7) (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967293) 4294967296)) |main_~#array~0.offset|)) (mod (+ v_prenex_30 1) 2)) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967295) 4294967296)) |main_~#array~0.offset|))))) (= 0 main_~index~0))} is VALID [2018-11-23 13:10:13,990 INFO L273 TraceCheckUtils]: 25: Hoare triple {3615#(and (exists ((v_prenex_30 Int)) (and (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967291) 4294967296)) |main_~#array~0.offset|)) (mod (+ v_prenex_30 1) 2)) (<= 7 v_prenex_30) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967292) 4294967296)) |main_~#array~0.offset|))) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_30 4294967296)) |main_~#array~0.offset|))) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967294) 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_30 7) (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967293) 4294967296)) |main_~#array~0.offset|)) (mod (+ v_prenex_30 1) 2)) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967295) 4294967296)) |main_~#array~0.offset|))))) (= 0 main_~index~0))} assume 0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296;call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {3615#(and (exists ((v_prenex_30 Int)) (and (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967291) 4294967296)) |main_~#array~0.offset|)) (mod (+ v_prenex_30 1) 2)) (<= 7 v_prenex_30) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967292) 4294967296)) |main_~#array~0.offset|))) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_30 4294967296)) |main_~#array~0.offset|))) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967294) 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_30 7) (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967293) 4294967296)) |main_~#array~0.offset|)) (mod (+ v_prenex_30 1) 2)) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967295) 4294967296)) |main_~#array~0.offset|))))) (= 0 main_~index~0))} is VALID [2018-11-23 13:10:13,994 INFO L256 TraceCheckUtils]: 26: Hoare triple {3615#(and (exists ((v_prenex_30 Int)) (and (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967291) 4294967296)) |main_~#array~0.offset|)) (mod (+ v_prenex_30 1) 2)) (<= 7 v_prenex_30) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967292) 4294967296)) |main_~#array~0.offset|))) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_30 4294967296)) |main_~#array~0.offset|))) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967294) 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_30 7) (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967293) 4294967296)) |main_~#array~0.offset|)) (mod (+ v_prenex_30 1) 2)) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967295) 4294967296)) |main_~#array~0.offset|))))) (= 0 main_~index~0))} call __VERIFIER_assert((if 0 == #t~mem2 % 4294967296 then 1 else 0)); {3625#(exists ((|v_main_~#array~0.offset_BEFORE_CALL_4| Int) (v_prenex_30 Int) (|v_main_~#array~0.base_BEFORE_CALL_4| Int)) (and (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967291) 4294967296))))) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967293) 4294967296))))) (= (mod v_prenex_30 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967294) 4294967296))))) (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod v_prenex_30 4294967296)))) (mod v_prenex_30 2)) (<= 7 v_prenex_30) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ (* 4 (mod (+ v_prenex_30 4294967295) 4294967296)) |v_main_~#array~0.offset_BEFORE_CALL_4|))) (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967292) 4294967296)))) (mod v_prenex_30 2)) (<= v_prenex_30 7)))} is VALID [2018-11-23 13:10:13,995 INFO L273 TraceCheckUtils]: 27: Hoare triple {3625#(exists ((|v_main_~#array~0.offset_BEFORE_CALL_4| Int) (v_prenex_30 Int) (|v_main_~#array~0.base_BEFORE_CALL_4| Int)) (and (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967291) 4294967296))))) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967293) 4294967296))))) (= (mod v_prenex_30 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967294) 4294967296))))) (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod v_prenex_30 4294967296)))) (mod v_prenex_30 2)) (<= 7 v_prenex_30) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ (* 4 (mod (+ v_prenex_30 4294967295) 4294967296)) |v_main_~#array~0.offset_BEFORE_CALL_4|))) (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967292) 4294967296)))) (mod v_prenex_30 2)) (<= v_prenex_30 7)))} ~cond := #in~cond; {3629#(and (exists ((|v_main_~#array~0.offset_BEFORE_CALL_4| Int) (v_prenex_30 Int) (|v_main_~#array~0.base_BEFORE_CALL_4| Int)) (and (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967291) 4294967296))))) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967293) 4294967296))))) (= (mod v_prenex_30 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967294) 4294967296))))) (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod v_prenex_30 4294967296)))) (mod v_prenex_30 2)) (<= 7 v_prenex_30) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ (* 4 (mod (+ v_prenex_30 4294967295) 4294967296)) |v_main_~#array~0.offset_BEFORE_CALL_4|))) (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967292) 4294967296)))) (mod v_prenex_30 2)) (<= v_prenex_30 7))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} is VALID [2018-11-23 13:10:13,997 INFO L273 TraceCheckUtils]: 28: Hoare triple {3629#(and (exists ((|v_main_~#array~0.offset_BEFORE_CALL_4| Int) (v_prenex_30 Int) (|v_main_~#array~0.base_BEFORE_CALL_4| Int)) (and (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967291) 4294967296))))) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967293) 4294967296))))) (= (mod v_prenex_30 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967294) 4294967296))))) (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod v_prenex_30 4294967296)))) (mod v_prenex_30 2)) (<= 7 v_prenex_30) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ (* 4 (mod (+ v_prenex_30 4294967295) 4294967296)) |v_main_~#array~0.offset_BEFORE_CALL_4|))) (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967292) 4294967296)))) (mod v_prenex_30 2)) (<= v_prenex_30 7))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} assume !(0 == ~cond); {3633#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#array~0.offset_BEFORE_CALL_4| Int) (v_prenex_30 Int) (|v_main_~#array~0.base_BEFORE_CALL_4| Int)) (and (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967291) 4294967296))))) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967293) 4294967296))))) (= (mod v_prenex_30 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967294) 4294967296))))) (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod v_prenex_30 4294967296)))) (mod v_prenex_30 2)) (<= 7 v_prenex_30) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ (* 4 (mod (+ v_prenex_30 4294967295) 4294967296)) |v_main_~#array~0.offset_BEFORE_CALL_4|))) (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967292) 4294967296)))) (mod v_prenex_30 2)) (<= v_prenex_30 7))))} is VALID [2018-11-23 13:10:13,998 INFO L273 TraceCheckUtils]: 29: Hoare triple {3633#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#array~0.offset_BEFORE_CALL_4| Int) (v_prenex_30 Int) (|v_main_~#array~0.base_BEFORE_CALL_4| Int)) (and (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967291) 4294967296))))) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967293) 4294967296))))) (= (mod v_prenex_30 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967294) 4294967296))))) (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod v_prenex_30 4294967296)))) (mod v_prenex_30 2)) (<= 7 v_prenex_30) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ (* 4 (mod (+ v_prenex_30 4294967295) 4294967296)) |v_main_~#array~0.offset_BEFORE_CALL_4|))) (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967292) 4294967296)))) (mod v_prenex_30 2)) (<= v_prenex_30 7))))} assume true; {3633#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#array~0.offset_BEFORE_CALL_4| Int) (v_prenex_30 Int) (|v_main_~#array~0.base_BEFORE_CALL_4| Int)) (and (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967291) 4294967296))))) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967293) 4294967296))))) (= (mod v_prenex_30 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967294) 4294967296))))) (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod v_prenex_30 4294967296)))) (mod v_prenex_30 2)) (<= 7 v_prenex_30) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ (* 4 (mod (+ v_prenex_30 4294967295) 4294967296)) |v_main_~#array~0.offset_BEFORE_CALL_4|))) (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967292) 4294967296)))) (mod v_prenex_30 2)) (<= v_prenex_30 7))))} is VALID [2018-11-23 13:10:13,999 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {3633#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#array~0.offset_BEFORE_CALL_4| Int) (v_prenex_30 Int) (|v_main_~#array~0.base_BEFORE_CALL_4| Int)) (and (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967291) 4294967296))))) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967293) 4294967296))))) (= (mod v_prenex_30 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967294) 4294967296))))) (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod v_prenex_30 4294967296)))) (mod v_prenex_30 2)) (<= 7 v_prenex_30) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ (* 4 (mod (+ v_prenex_30 4294967295) 4294967296)) |v_main_~#array~0.offset_BEFORE_CALL_4|))) (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967292) 4294967296)))) (mod v_prenex_30 2)) (<= v_prenex_30 7))))} {3615#(and (exists ((v_prenex_30 Int)) (and (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967291) 4294967296)) |main_~#array~0.offset|)) (mod (+ v_prenex_30 1) 2)) (<= 7 v_prenex_30) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967292) 4294967296)) |main_~#array~0.offset|))) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_30 4294967296)) |main_~#array~0.offset|))) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967294) 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_30 7) (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967293) 4294967296)) |main_~#array~0.offset|)) (mod (+ v_prenex_30 1) 2)) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967295) 4294967296)) |main_~#array~0.offset|))))) (= 0 main_~index~0))} #60#return; {3615#(and (exists ((v_prenex_30 Int)) (and (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967291) 4294967296)) |main_~#array~0.offset|)) (mod (+ v_prenex_30 1) 2)) (<= 7 v_prenex_30) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967292) 4294967296)) |main_~#array~0.offset|))) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_30 4294967296)) |main_~#array~0.offset|))) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967294) 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_30 7) (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967293) 4294967296)) |main_~#array~0.offset|)) (mod (+ v_prenex_30 1) 2)) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967295) 4294967296)) |main_~#array~0.offset|))))) (= 0 main_~index~0))} is VALID [2018-11-23 13:10:14,000 INFO L273 TraceCheckUtils]: 31: Hoare triple {3615#(and (exists ((v_prenex_30 Int)) (and (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967291) 4294967296)) |main_~#array~0.offset|)) (mod (+ v_prenex_30 1) 2)) (<= 7 v_prenex_30) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967292) 4294967296)) |main_~#array~0.offset|))) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_30 4294967296)) |main_~#array~0.offset|))) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967294) 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_30 7) (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967293) 4294967296)) |main_~#array~0.offset|)) (mod (+ v_prenex_30 1) 2)) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967295) 4294967296)) |main_~#array~0.offset|))))) (= 0 main_~index~0))} havoc #t~mem2; {3615#(and (exists ((v_prenex_30 Int)) (and (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967291) 4294967296)) |main_~#array~0.offset|)) (mod (+ v_prenex_30 1) 2)) (<= 7 v_prenex_30) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967292) 4294967296)) |main_~#array~0.offset|))) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_30 4294967296)) |main_~#array~0.offset|))) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967294) 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_30 7) (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967293) 4294967296)) |main_~#array~0.offset|)) (mod (+ v_prenex_30 1) 2)) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967295) 4294967296)) |main_~#array~0.offset|))))) (= 0 main_~index~0))} is VALID [2018-11-23 13:10:14,002 INFO L273 TraceCheckUtils]: 32: Hoare triple {3615#(and (exists ((v_prenex_30 Int)) (and (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967291) 4294967296)) |main_~#array~0.offset|)) (mod (+ v_prenex_30 1) 2)) (<= 7 v_prenex_30) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967292) 4294967296)) |main_~#array~0.offset|))) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_30 4294967296)) |main_~#array~0.offset|))) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967294) 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_30 7) (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967293) 4294967296)) |main_~#array~0.offset|)) (mod (+ v_prenex_30 1) 2)) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967295) 4294967296)) |main_~#array~0.offset|))))) (= 0 main_~index~0))} #t~post1 := ~index~0;~index~0 := 1 + #t~post1;havoc #t~post1; {3646#(and (= 1 main_~index~0) (exists ((v_prenex_30 Int)) (and (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967291) 4294967296)) |main_~#array~0.offset|)) (mod (+ v_prenex_30 1) 2)) (<= 7 v_prenex_30) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967292) 4294967296)) |main_~#array~0.offset|))) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_30 4294967296)) |main_~#array~0.offset|))) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967294) 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_30 7) (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967293) 4294967296)) |main_~#array~0.offset|)) (mod (+ v_prenex_30 1) 2)) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967295) 4294967296)) |main_~#array~0.offset|))))))} is VALID [2018-11-23 13:10:14,003 INFO L273 TraceCheckUtils]: 33: Hoare triple {3646#(and (= 1 main_~index~0) (exists ((v_prenex_30 Int)) (and (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967291) 4294967296)) |main_~#array~0.offset|)) (mod (+ v_prenex_30 1) 2)) (<= 7 v_prenex_30) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967292) 4294967296)) |main_~#array~0.offset|))) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_30 4294967296)) |main_~#array~0.offset|))) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967294) 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_30 7) (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967293) 4294967296)) |main_~#array~0.offset|)) (mod (+ v_prenex_30 1) 2)) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967295) 4294967296)) |main_~#array~0.offset|))))))} assume !!(~index~0 % 4294967296 < 1000); {3646#(and (= 1 main_~index~0) (exists ((v_prenex_30 Int)) (and (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967291) 4294967296)) |main_~#array~0.offset|)) (mod (+ v_prenex_30 1) 2)) (<= 7 v_prenex_30) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967292) 4294967296)) |main_~#array~0.offset|))) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_30 4294967296)) |main_~#array~0.offset|))) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967294) 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_30 7) (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967293) 4294967296)) |main_~#array~0.offset|)) (mod (+ v_prenex_30 1) 2)) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967295) 4294967296)) |main_~#array~0.offset|))))))} is VALID [2018-11-23 13:10:14,005 INFO L273 TraceCheckUtils]: 34: Hoare triple {3646#(and (= 1 main_~index~0) (exists ((v_prenex_30 Int)) (and (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967291) 4294967296)) |main_~#array~0.offset|)) (mod (+ v_prenex_30 1) 2)) (<= 7 v_prenex_30) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967292) 4294967296)) |main_~#array~0.offset|))) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_30 4294967296)) |main_~#array~0.offset|))) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967294) 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_30 7) (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967293) 4294967296)) |main_~#array~0.offset|)) (mod (+ v_prenex_30 1) 2)) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967295) 4294967296)) |main_~#array~0.offset|))))))} assume !(0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {3646#(and (= 1 main_~index~0) (exists ((v_prenex_30 Int)) (and (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967291) 4294967296)) |main_~#array~0.offset|)) (mod (+ v_prenex_30 1) 2)) (<= 7 v_prenex_30) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967292) 4294967296)) |main_~#array~0.offset|))) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_30 4294967296)) |main_~#array~0.offset|))) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967294) 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_30 7) (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967293) 4294967296)) |main_~#array~0.offset|)) (mod (+ v_prenex_30 1) 2)) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967295) 4294967296)) |main_~#array~0.offset|))))))} is VALID [2018-11-23 13:10:14,009 INFO L256 TraceCheckUtils]: 35: Hoare triple {3646#(and (= 1 main_~index~0) (exists ((v_prenex_30 Int)) (and (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967291) 4294967296)) |main_~#array~0.offset|)) (mod (+ v_prenex_30 1) 2)) (<= 7 v_prenex_30) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967292) 4294967296)) |main_~#array~0.offset|))) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_30 4294967296)) |main_~#array~0.offset|))) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967294) 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_30 7) (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967293) 4294967296)) |main_~#array~0.offset|)) (mod (+ v_prenex_30 1) 2)) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967295) 4294967296)) |main_~#array~0.offset|))))))} call __VERIFIER_assert((if 0 != #t~mem3 % 4294967296 then 1 else 0)); {3625#(exists ((|v_main_~#array~0.offset_BEFORE_CALL_4| Int) (v_prenex_30 Int) (|v_main_~#array~0.base_BEFORE_CALL_4| Int)) (and (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967291) 4294967296))))) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967293) 4294967296))))) (= (mod v_prenex_30 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967294) 4294967296))))) (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod v_prenex_30 4294967296)))) (mod v_prenex_30 2)) (<= 7 v_prenex_30) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ (* 4 (mod (+ v_prenex_30 4294967295) 4294967296)) |v_main_~#array~0.offset_BEFORE_CALL_4|))) (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967292) 4294967296)))) (mod v_prenex_30 2)) (<= v_prenex_30 7)))} is VALID [2018-11-23 13:10:14,010 INFO L273 TraceCheckUtils]: 36: Hoare triple {3625#(exists ((|v_main_~#array~0.offset_BEFORE_CALL_4| Int) (v_prenex_30 Int) (|v_main_~#array~0.base_BEFORE_CALL_4| Int)) (and (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967291) 4294967296))))) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967293) 4294967296))))) (= (mod v_prenex_30 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967294) 4294967296))))) (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod v_prenex_30 4294967296)))) (mod v_prenex_30 2)) (<= 7 v_prenex_30) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ (* 4 (mod (+ v_prenex_30 4294967295) 4294967296)) |v_main_~#array~0.offset_BEFORE_CALL_4|))) (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967292) 4294967296)))) (mod v_prenex_30 2)) (<= v_prenex_30 7)))} ~cond := #in~cond; {3625#(exists ((|v_main_~#array~0.offset_BEFORE_CALL_4| Int) (v_prenex_30 Int) (|v_main_~#array~0.base_BEFORE_CALL_4| Int)) (and (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967291) 4294967296))))) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967293) 4294967296))))) (= (mod v_prenex_30 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967294) 4294967296))))) (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod v_prenex_30 4294967296)))) (mod v_prenex_30 2)) (<= 7 v_prenex_30) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ (* 4 (mod (+ v_prenex_30 4294967295) 4294967296)) |v_main_~#array~0.offset_BEFORE_CALL_4|))) (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967292) 4294967296)))) (mod v_prenex_30 2)) (<= v_prenex_30 7)))} is VALID [2018-11-23 13:10:14,010 INFO L273 TraceCheckUtils]: 37: Hoare triple {3625#(exists ((|v_main_~#array~0.offset_BEFORE_CALL_4| Int) (v_prenex_30 Int) (|v_main_~#array~0.base_BEFORE_CALL_4| Int)) (and (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967291) 4294967296))))) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967293) 4294967296))))) (= (mod v_prenex_30 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967294) 4294967296))))) (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod v_prenex_30 4294967296)))) (mod v_prenex_30 2)) (<= 7 v_prenex_30) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ (* 4 (mod (+ v_prenex_30 4294967295) 4294967296)) |v_main_~#array~0.offset_BEFORE_CALL_4|))) (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967292) 4294967296)))) (mod v_prenex_30 2)) (<= v_prenex_30 7)))} assume !(0 == ~cond); {3625#(exists ((|v_main_~#array~0.offset_BEFORE_CALL_4| Int) (v_prenex_30 Int) (|v_main_~#array~0.base_BEFORE_CALL_4| Int)) (and (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967291) 4294967296))))) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967293) 4294967296))))) (= (mod v_prenex_30 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967294) 4294967296))))) (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod v_prenex_30 4294967296)))) (mod v_prenex_30 2)) (<= 7 v_prenex_30) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ (* 4 (mod (+ v_prenex_30 4294967295) 4294967296)) |v_main_~#array~0.offset_BEFORE_CALL_4|))) (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967292) 4294967296)))) (mod v_prenex_30 2)) (<= v_prenex_30 7)))} is VALID [2018-11-23 13:10:14,010 INFO L273 TraceCheckUtils]: 38: Hoare triple {3625#(exists ((|v_main_~#array~0.offset_BEFORE_CALL_4| Int) (v_prenex_30 Int) (|v_main_~#array~0.base_BEFORE_CALL_4| Int)) (and (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967291) 4294967296))))) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967293) 4294967296))))) (= (mod v_prenex_30 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967294) 4294967296))))) (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod v_prenex_30 4294967296)))) (mod v_prenex_30 2)) (<= 7 v_prenex_30) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ (* 4 (mod (+ v_prenex_30 4294967295) 4294967296)) |v_main_~#array~0.offset_BEFORE_CALL_4|))) (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967292) 4294967296)))) (mod v_prenex_30 2)) (<= v_prenex_30 7)))} assume true; {3625#(exists ((|v_main_~#array~0.offset_BEFORE_CALL_4| Int) (v_prenex_30 Int) (|v_main_~#array~0.base_BEFORE_CALL_4| Int)) (and (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967291) 4294967296))))) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967293) 4294967296))))) (= (mod v_prenex_30 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967294) 4294967296))))) (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod v_prenex_30 4294967296)))) (mod v_prenex_30 2)) (<= 7 v_prenex_30) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ (* 4 (mod (+ v_prenex_30 4294967295) 4294967296)) |v_main_~#array~0.offset_BEFORE_CALL_4|))) (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967292) 4294967296)))) (mod v_prenex_30 2)) (<= v_prenex_30 7)))} is VALID [2018-11-23 13:10:14,011 INFO L268 TraceCheckUtils]: 39: Hoare quadruple {3625#(exists ((|v_main_~#array~0.offset_BEFORE_CALL_4| Int) (v_prenex_30 Int) (|v_main_~#array~0.base_BEFORE_CALL_4| Int)) (and (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967291) 4294967296))))) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967293) 4294967296))))) (= (mod v_prenex_30 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967294) 4294967296))))) (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod v_prenex_30 4294967296)))) (mod v_prenex_30 2)) (<= 7 v_prenex_30) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ (* 4 (mod (+ v_prenex_30 4294967295) 4294967296)) |v_main_~#array~0.offset_BEFORE_CALL_4|))) (= (select (select |#memory_int| |v_main_~#array~0.base_BEFORE_CALL_4|) (+ |v_main_~#array~0.offset_BEFORE_CALL_4| (* 4 (mod (+ v_prenex_30 4294967292) 4294967296)))) (mod v_prenex_30 2)) (<= v_prenex_30 7)))} {3646#(and (= 1 main_~index~0) (exists ((v_prenex_30 Int)) (and (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967291) 4294967296)) |main_~#array~0.offset|)) (mod (+ v_prenex_30 1) 2)) (<= 7 v_prenex_30) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967292) 4294967296)) |main_~#array~0.offset|))) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_30 4294967296)) |main_~#array~0.offset|))) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967294) 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_30 7) (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967293) 4294967296)) |main_~#array~0.offset|)) (mod (+ v_prenex_30 1) 2)) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967295) 4294967296)) |main_~#array~0.offset|))))))} #62#return; {3646#(and (= 1 main_~index~0) (exists ((v_prenex_30 Int)) (and (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967291) 4294967296)) |main_~#array~0.offset|)) (mod (+ v_prenex_30 1) 2)) (<= 7 v_prenex_30) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967292) 4294967296)) |main_~#array~0.offset|))) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_30 4294967296)) |main_~#array~0.offset|))) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967294) 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_30 7) (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967293) 4294967296)) |main_~#array~0.offset|)) (mod (+ v_prenex_30 1) 2)) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967295) 4294967296)) |main_~#array~0.offset|))))))} is VALID [2018-11-23 13:10:14,012 INFO L273 TraceCheckUtils]: 40: Hoare triple {3646#(and (= 1 main_~index~0) (exists ((v_prenex_30 Int)) (and (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967291) 4294967296)) |main_~#array~0.offset|)) (mod (+ v_prenex_30 1) 2)) (<= 7 v_prenex_30) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967292) 4294967296)) |main_~#array~0.offset|))) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_30 4294967296)) |main_~#array~0.offset|))) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967294) 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_30 7) (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967293) 4294967296)) |main_~#array~0.offset|)) (mod (+ v_prenex_30 1) 2)) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967295) 4294967296)) |main_~#array~0.offset|))))))} havoc #t~mem3; {3646#(and (= 1 main_~index~0) (exists ((v_prenex_30 Int)) (and (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967291) 4294967296)) |main_~#array~0.offset|)) (mod (+ v_prenex_30 1) 2)) (<= 7 v_prenex_30) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967292) 4294967296)) |main_~#array~0.offset|))) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_30 4294967296)) |main_~#array~0.offset|))) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967294) 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_30 7) (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967293) 4294967296)) |main_~#array~0.offset|)) (mod (+ v_prenex_30 1) 2)) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967295) 4294967296)) |main_~#array~0.offset|))))))} is VALID [2018-11-23 13:10:14,013 INFO L273 TraceCheckUtils]: 41: Hoare triple {3646#(and (= 1 main_~index~0) (exists ((v_prenex_30 Int)) (and (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967291) 4294967296)) |main_~#array~0.offset|)) (mod (+ v_prenex_30 1) 2)) (<= 7 v_prenex_30) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967292) 4294967296)) |main_~#array~0.offset|))) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_30 4294967296)) |main_~#array~0.offset|))) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967294) 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_30 7) (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967293) 4294967296)) |main_~#array~0.offset|)) (mod (+ v_prenex_30 1) 2)) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967295) 4294967296)) |main_~#array~0.offset|))))))} #t~post1 := ~index~0;~index~0 := 1 + #t~post1;havoc #t~post1; {3674#(and (exists ((v_prenex_30 Int)) (and (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967291) 4294967296)) |main_~#array~0.offset|)) (mod (+ v_prenex_30 1) 2)) (<= 7 v_prenex_30) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967292) 4294967296)) |main_~#array~0.offset|))) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_30 4294967296)) |main_~#array~0.offset|))) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967294) 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_30 7) (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967293) 4294967296)) |main_~#array~0.offset|)) (mod (+ v_prenex_30 1) 2)) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967295) 4294967296)) |main_~#array~0.offset|))))) (= 2 main_~index~0))} is VALID [2018-11-23 13:10:14,014 INFO L273 TraceCheckUtils]: 42: Hoare triple {3674#(and (exists ((v_prenex_30 Int)) (and (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967291) 4294967296)) |main_~#array~0.offset|)) (mod (+ v_prenex_30 1) 2)) (<= 7 v_prenex_30) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967292) 4294967296)) |main_~#array~0.offset|))) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_30 4294967296)) |main_~#array~0.offset|))) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967294) 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_30 7) (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967293) 4294967296)) |main_~#array~0.offset|)) (mod (+ v_prenex_30 1) 2)) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967295) 4294967296)) |main_~#array~0.offset|))))) (= 2 main_~index~0))} assume !!(~index~0 % 4294967296 < 1000); {3674#(and (exists ((v_prenex_30 Int)) (and (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967291) 4294967296)) |main_~#array~0.offset|)) (mod (+ v_prenex_30 1) 2)) (<= 7 v_prenex_30) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967292) 4294967296)) |main_~#array~0.offset|))) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_30 4294967296)) |main_~#array~0.offset|))) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967294) 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_30 7) (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967293) 4294967296)) |main_~#array~0.offset|)) (mod (+ v_prenex_30 1) 2)) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967295) 4294967296)) |main_~#array~0.offset|))))) (= 2 main_~index~0))} is VALID [2018-11-23 13:10:14,027 INFO L273 TraceCheckUtils]: 43: Hoare triple {3674#(and (exists ((v_prenex_30 Int)) (and (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967291) 4294967296)) |main_~#array~0.offset|)) (mod (+ v_prenex_30 1) 2)) (<= 7 v_prenex_30) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967292) 4294967296)) |main_~#array~0.offset|))) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod v_prenex_30 4294967296)) |main_~#array~0.offset|))) (= (mod v_prenex_30 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967294) 4294967296)) |main_~#array~0.offset|))) (<= v_prenex_30 7) (= (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967293) 4294967296)) |main_~#array~0.offset|)) (mod (+ v_prenex_30 1) 2)) (= (mod (+ v_prenex_30 1) 2) (select (select |#memory_int| |main_~#array~0.base|) (+ (* 4 (mod (+ v_prenex_30 4294967295) 4294967296)) |main_~#array~0.offset|))))) (= 2 main_~index~0))} assume 0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296;call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {3681#(exists ((v_prenex_30 Int)) (and (= (mod (+ v_prenex_30 1) 2) |main_#t~mem2|) (<= 7 v_prenex_30) (<= v_prenex_30 7)))} is VALID [2018-11-23 13:10:14,029 INFO L256 TraceCheckUtils]: 44: Hoare triple {3681#(exists ((v_prenex_30 Int)) (and (= (mod (+ v_prenex_30 1) 2) |main_#t~mem2|) (<= 7 v_prenex_30) (<= v_prenex_30 7)))} call __VERIFIER_assert((if 0 == #t~mem2 % 4294967296 then 1 else 0)); {3685#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 13:10:14,029 INFO L273 TraceCheckUtils]: 45: Hoare triple {3685#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {3689#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 13:10:14,029 INFO L273 TraceCheckUtils]: 46: Hoare triple {3689#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3522#false} is VALID [2018-11-23 13:10:14,030 INFO L273 TraceCheckUtils]: 47: Hoare triple {3522#false} assume !false; {3522#false} is VALID [2018-11-23 13:10:14,061 INFO L134 CoverageAnalysis]: Checked inductivity of 80 backedges. 0 proven. 79 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 13:10:14,081 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 13:10:14,081 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 25] total 31 [2018-11-23 13:10:14,081 INFO L78 Accepts]: Start accepts. Automaton has 31 states. Word has length 48 [2018-11-23 13:10:14,081 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:10:14,082 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 31 states. [2018-11-23 13:10:14,376 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:10:14,376 INFO L459 AbstractCegarLoop]: Interpolant automaton has 31 states [2018-11-23 13:10:14,376 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 31 interpolants. [2018-11-23 13:10:14,377 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=107, Invalid=823, Unknown=0, NotChecked=0, Total=930 [2018-11-23 13:10:14,377 INFO L87 Difference]: Start difference. First operand 82 states and 90 transitions. Second operand 31 states. [2018-11-23 13:10:19,021 WARN L180 SmtUtils]: Spent 953.00 ms on a formula simplification. DAG size of input: 58 DAG size of output: 58 [2018-11-23 13:10:31,527 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:10:31,528 INFO L93 Difference]: Finished difference Result 154 states and 174 transitions. [2018-11-23 13:10:31,528 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2018-11-23 13:10:31,528 INFO L78 Accepts]: Start accepts. Automaton has 31 states. Word has length 48 [2018-11-23 13:10:31,528 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:10:31,528 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2018-11-23 13:10:31,531 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 118 transitions. [2018-11-23 13:10:31,532 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2018-11-23 13:10:31,534 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 118 transitions. [2018-11-23 13:10:31,535 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states and 118 transitions. [2018-11-23 13:10:31,800 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 118 edges. 118 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:10:31,801 INFO L225 Difference]: With dead ends: 154 [2018-11-23 13:10:31,801 INFO L226 Difference]: Without dead ends: 95 [2018-11-23 13:10:31,803 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 60 GetRequests, 23 SyntacticMatches, 6 SemanticMatches, 31 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 294 ImplicationChecksByTransitivity, 6.0s TimeCoverageRelationStatistics Valid=123, Invalid=933, Unknown=0, NotChecked=0, Total=1056 [2018-11-23 13:10:31,803 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 95 states. [2018-11-23 13:10:32,092 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 95 to 84. [2018-11-23 13:10:32,093 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:10:32,093 INFO L82 GeneralOperation]: Start isEquivalent. First operand 95 states. Second operand 84 states. [2018-11-23 13:10:32,093 INFO L74 IsIncluded]: Start isIncluded. First operand 95 states. Second operand 84 states. [2018-11-23 13:10:32,093 INFO L87 Difference]: Start difference. First operand 95 states. Second operand 84 states. [2018-11-23 13:10:32,099 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:10:32,099 INFO L93 Difference]: Finished difference Result 95 states and 107 transitions. [2018-11-23 13:10:32,099 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 107 transitions. [2018-11-23 13:10:32,100 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:10:32,100 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:10:32,100 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand 95 states. [2018-11-23 13:10:32,100 INFO L87 Difference]: Start difference. First operand 84 states. Second operand 95 states. [2018-11-23 13:10:32,103 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:10:32,104 INFO L93 Difference]: Finished difference Result 95 states and 107 transitions. [2018-11-23 13:10:32,104 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 107 transitions. [2018-11-23 13:10:32,104 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:10:32,105 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:10:32,105 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:10:32,105 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:10:32,105 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 84 states. [2018-11-23 13:10:32,107 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 84 states to 84 states and 92 transitions. [2018-11-23 13:10:32,107 INFO L78 Accepts]: Start accepts. Automaton has 84 states and 92 transitions. Word has length 48 [2018-11-23 13:10:32,107 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:10:32,108 INFO L480 AbstractCegarLoop]: Abstraction has 84 states and 92 transitions. [2018-11-23 13:10:32,108 INFO L481 AbstractCegarLoop]: Interpolant automaton has 31 states. [2018-11-23 13:10:32,108 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 92 transitions. [2018-11-23 13:10:32,108 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2018-11-23 13:10:32,109 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:10:32,109 INFO L402 BasicCegarLoop]: trace histogram [9, 9, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:10:32,109 INFO L423 AbstractCegarLoop]: === Iteration 10 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:10:32,109 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:10:32,109 INFO L82 PathProgramCache]: Analyzing trace with hash -1648469927, now seen corresponding path program 6 times [2018-11-23 13:10:32,109 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:10:32,110 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:10:32,110 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:10:32,110 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 13:10:32,110 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:10:32,138 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:10:32,349 INFO L256 TraceCheckUtils]: 0: Hoare triple {4222#true} call ULTIMATE.init(); {4222#true} is VALID [2018-11-23 13:10:32,349 INFO L273 TraceCheckUtils]: 1: Hoare triple {4222#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {4222#true} is VALID [2018-11-23 13:10:32,349 INFO L273 TraceCheckUtils]: 2: Hoare triple {4222#true} assume true; {4222#true} is VALID [2018-11-23 13:10:32,350 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4222#true} {4222#true} #56#return; {4222#true} is VALID [2018-11-23 13:10:32,350 INFO L256 TraceCheckUtils]: 4: Hoare triple {4222#true} call #t~ret4 := main(); {4222#true} is VALID [2018-11-23 13:10:32,350 INFO L273 TraceCheckUtils]: 5: Hoare triple {4222#true} call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(4000);havoc ~index~0;~index~0 := 0; {4224#(= main_~index~0 0)} is VALID [2018-11-23 13:10:32,351 INFO L273 TraceCheckUtils]: 6: Hoare triple {4224#(= main_~index~0 0)} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {4224#(= main_~index~0 0)} is VALID [2018-11-23 13:10:32,352 INFO L273 TraceCheckUtils]: 7: Hoare triple {4224#(= main_~index~0 0)} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {4225#(and (<= main_~index~0 1) (<= 1 main_~index~0))} is VALID [2018-11-23 13:10:32,353 INFO L273 TraceCheckUtils]: 8: Hoare triple {4225#(and (<= main_~index~0 1) (<= 1 main_~index~0))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {4225#(and (<= main_~index~0 1) (<= 1 main_~index~0))} is VALID [2018-11-23 13:10:32,354 INFO L273 TraceCheckUtils]: 9: Hoare triple {4225#(and (<= main_~index~0 1) (<= 1 main_~index~0))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {4226#(and (<= 2 main_~index~0) (<= main_~index~0 2))} is VALID [2018-11-23 13:10:32,355 INFO L273 TraceCheckUtils]: 10: Hoare triple {4226#(and (<= 2 main_~index~0) (<= main_~index~0 2))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {4226#(and (<= 2 main_~index~0) (<= main_~index~0 2))} is VALID [2018-11-23 13:10:32,356 INFO L273 TraceCheckUtils]: 11: Hoare triple {4226#(and (<= 2 main_~index~0) (<= main_~index~0 2))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {4227#(and (<= 3 main_~index~0) (<= main_~index~0 3))} is VALID [2018-11-23 13:10:32,357 INFO L273 TraceCheckUtils]: 12: Hoare triple {4227#(and (<= 3 main_~index~0) (<= main_~index~0 3))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {4227#(and (<= 3 main_~index~0) (<= main_~index~0 3))} is VALID [2018-11-23 13:10:32,358 INFO L273 TraceCheckUtils]: 13: Hoare triple {4227#(and (<= 3 main_~index~0) (<= main_~index~0 3))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {4228#(and (<= 4 main_~index~0) (<= main_~index~0 4))} is VALID [2018-11-23 13:10:32,359 INFO L273 TraceCheckUtils]: 14: Hoare triple {4228#(and (<= 4 main_~index~0) (<= main_~index~0 4))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {4228#(and (<= 4 main_~index~0) (<= main_~index~0 4))} is VALID [2018-11-23 13:10:32,359 INFO L273 TraceCheckUtils]: 15: Hoare triple {4228#(and (<= 4 main_~index~0) (<= main_~index~0 4))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {4229#(and (<= 5 main_~index~0) (<= main_~index~0 5))} is VALID [2018-11-23 13:10:32,360 INFO L273 TraceCheckUtils]: 16: Hoare triple {4229#(and (<= 5 main_~index~0) (<= main_~index~0 5))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {4229#(and (<= 5 main_~index~0) (<= main_~index~0 5))} is VALID [2018-11-23 13:10:32,361 INFO L273 TraceCheckUtils]: 17: Hoare triple {4229#(and (<= 5 main_~index~0) (<= main_~index~0 5))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {4230#(and (<= 6 main_~index~0) (<= main_~index~0 6))} is VALID [2018-11-23 13:10:32,362 INFO L273 TraceCheckUtils]: 18: Hoare triple {4230#(and (<= 6 main_~index~0) (<= main_~index~0 6))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {4230#(and (<= 6 main_~index~0) (<= main_~index~0 6))} is VALID [2018-11-23 13:10:32,363 INFO L273 TraceCheckUtils]: 19: Hoare triple {4230#(and (<= 6 main_~index~0) (<= main_~index~0 6))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {4231#(and (<= 7 main_~index~0) (<= main_~index~0 7))} is VALID [2018-11-23 13:10:32,364 INFO L273 TraceCheckUtils]: 20: Hoare triple {4231#(and (<= 7 main_~index~0) (<= main_~index~0 7))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {4231#(and (<= 7 main_~index~0) (<= main_~index~0 7))} is VALID [2018-11-23 13:10:32,365 INFO L273 TraceCheckUtils]: 21: Hoare triple {4231#(and (<= 7 main_~index~0) (<= main_~index~0 7))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {4232#(and (<= main_~index~0 8) (<= 8 main_~index~0))} is VALID [2018-11-23 13:10:32,366 INFO L273 TraceCheckUtils]: 22: Hoare triple {4232#(and (<= main_~index~0 8) (<= 8 main_~index~0))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {4232#(and (<= main_~index~0 8) (<= 8 main_~index~0))} is VALID [2018-11-23 13:10:32,367 INFO L273 TraceCheckUtils]: 23: Hoare triple {4232#(and (<= main_~index~0 8) (<= 8 main_~index~0))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {4233#(and (< 0 (+ (div main_~index~0 4294967296) 1)) (<= main_~index~0 9))} is VALID [2018-11-23 13:10:32,368 INFO L273 TraceCheckUtils]: 24: Hoare triple {4233#(and (< 0 (+ (div main_~index~0 4294967296) 1)) (<= main_~index~0 9))} assume !(~index~0 % 4294967296 < 1000); {4223#false} is VALID [2018-11-23 13:10:32,368 INFO L273 TraceCheckUtils]: 25: Hoare triple {4223#false} ~index~0 := 0; {4223#false} is VALID [2018-11-23 13:10:32,368 INFO L273 TraceCheckUtils]: 26: Hoare triple {4223#false} assume !!(~index~0 % 4294967296 < 1000); {4223#false} is VALID [2018-11-23 13:10:32,369 INFO L273 TraceCheckUtils]: 27: Hoare triple {4223#false} assume 0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296;call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {4223#false} is VALID [2018-11-23 13:10:32,369 INFO L256 TraceCheckUtils]: 28: Hoare triple {4223#false} call __VERIFIER_assert((if 0 == #t~mem2 % 4294967296 then 1 else 0)); {4222#true} is VALID [2018-11-23 13:10:32,369 INFO L273 TraceCheckUtils]: 29: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2018-11-23 13:10:32,369 INFO L273 TraceCheckUtils]: 30: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2018-11-23 13:10:32,370 INFO L273 TraceCheckUtils]: 31: Hoare triple {4222#true} assume true; {4222#true} is VALID [2018-11-23 13:10:32,370 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {4222#true} {4223#false} #60#return; {4223#false} is VALID [2018-11-23 13:10:32,370 INFO L273 TraceCheckUtils]: 33: Hoare triple {4223#false} havoc #t~mem2; {4223#false} is VALID [2018-11-23 13:10:32,370 INFO L273 TraceCheckUtils]: 34: Hoare triple {4223#false} #t~post1 := ~index~0;~index~0 := 1 + #t~post1;havoc #t~post1; {4223#false} is VALID [2018-11-23 13:10:32,370 INFO L273 TraceCheckUtils]: 35: Hoare triple {4223#false} assume !!(~index~0 % 4294967296 < 1000); {4223#false} is VALID [2018-11-23 13:10:32,371 INFO L273 TraceCheckUtils]: 36: Hoare triple {4223#false} assume !(0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {4223#false} is VALID [2018-11-23 13:10:32,371 INFO L256 TraceCheckUtils]: 37: Hoare triple {4223#false} call __VERIFIER_assert((if 0 != #t~mem3 % 4294967296 then 1 else 0)); {4222#true} is VALID [2018-11-23 13:10:32,371 INFO L273 TraceCheckUtils]: 38: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2018-11-23 13:10:32,371 INFO L273 TraceCheckUtils]: 39: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2018-11-23 13:10:32,372 INFO L273 TraceCheckUtils]: 40: Hoare triple {4222#true} assume true; {4222#true} is VALID [2018-11-23 13:10:32,372 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {4222#true} {4223#false} #62#return; {4223#false} is VALID [2018-11-23 13:10:32,372 INFO L273 TraceCheckUtils]: 42: Hoare triple {4223#false} havoc #t~mem3; {4223#false} is VALID [2018-11-23 13:10:32,372 INFO L273 TraceCheckUtils]: 43: Hoare triple {4223#false} #t~post1 := ~index~0;~index~0 := 1 + #t~post1;havoc #t~post1; {4223#false} is VALID [2018-11-23 13:10:32,372 INFO L273 TraceCheckUtils]: 44: Hoare triple {4223#false} assume !!(~index~0 % 4294967296 < 1000); {4223#false} is VALID [2018-11-23 13:10:32,373 INFO L273 TraceCheckUtils]: 45: Hoare triple {4223#false} assume 0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296;call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {4223#false} is VALID [2018-11-23 13:10:32,373 INFO L256 TraceCheckUtils]: 46: Hoare triple {4223#false} call __VERIFIER_assert((if 0 == #t~mem2 % 4294967296 then 1 else 0)); {4223#false} is VALID [2018-11-23 13:10:32,373 INFO L273 TraceCheckUtils]: 47: Hoare triple {4223#false} ~cond := #in~cond; {4223#false} is VALID [2018-11-23 13:10:32,373 INFO L273 TraceCheckUtils]: 48: Hoare triple {4223#false} assume 0 == ~cond; {4223#false} is VALID [2018-11-23 13:10:32,373 INFO L273 TraceCheckUtils]: 49: Hoare triple {4223#false} assume !false; {4223#false} is VALID [2018-11-23 13:10:32,375 INFO L134 CoverageAnalysis]: Checked inductivity of 97 backedges. 4 proven. 81 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 13:10:32,375 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 13:10:32,375 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 13:10:32,385 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-23 13:10:33,192 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 10 check-sat command(s) [2018-11-23 13:10:33,193 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 13:10:33,212 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:10:33,213 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:10:33,319 INFO L256 TraceCheckUtils]: 0: Hoare triple {4222#true} call ULTIMATE.init(); {4222#true} is VALID [2018-11-23 13:10:33,319 INFO L273 TraceCheckUtils]: 1: Hoare triple {4222#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {4222#true} is VALID [2018-11-23 13:10:33,319 INFO L273 TraceCheckUtils]: 2: Hoare triple {4222#true} assume true; {4222#true} is VALID [2018-11-23 13:10:33,319 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4222#true} {4222#true} #56#return; {4222#true} is VALID [2018-11-23 13:10:33,320 INFO L256 TraceCheckUtils]: 4: Hoare triple {4222#true} call #t~ret4 := main(); {4222#true} is VALID [2018-11-23 13:10:33,323 INFO L273 TraceCheckUtils]: 5: Hoare triple {4222#true} call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(4000);havoc ~index~0;~index~0 := 0; {4224#(= main_~index~0 0)} is VALID [2018-11-23 13:10:33,327 INFO L273 TraceCheckUtils]: 6: Hoare triple {4224#(= main_~index~0 0)} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {4224#(= main_~index~0 0)} is VALID [2018-11-23 13:10:33,327 INFO L273 TraceCheckUtils]: 7: Hoare triple {4224#(= main_~index~0 0)} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {4225#(and (<= main_~index~0 1) (<= 1 main_~index~0))} is VALID [2018-11-23 13:10:33,329 INFO L273 TraceCheckUtils]: 8: Hoare triple {4225#(and (<= main_~index~0 1) (<= 1 main_~index~0))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {4225#(and (<= main_~index~0 1) (<= 1 main_~index~0))} is VALID [2018-11-23 13:10:33,330 INFO L273 TraceCheckUtils]: 9: Hoare triple {4225#(and (<= main_~index~0 1) (<= 1 main_~index~0))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {4226#(and (<= 2 main_~index~0) (<= main_~index~0 2))} is VALID [2018-11-23 13:10:33,331 INFO L273 TraceCheckUtils]: 10: Hoare triple {4226#(and (<= 2 main_~index~0) (<= main_~index~0 2))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {4226#(and (<= 2 main_~index~0) (<= main_~index~0 2))} is VALID [2018-11-23 13:10:33,332 INFO L273 TraceCheckUtils]: 11: Hoare triple {4226#(and (<= 2 main_~index~0) (<= main_~index~0 2))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {4227#(and (<= 3 main_~index~0) (<= main_~index~0 3))} is VALID [2018-11-23 13:10:33,333 INFO L273 TraceCheckUtils]: 12: Hoare triple {4227#(and (<= 3 main_~index~0) (<= main_~index~0 3))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {4227#(and (<= 3 main_~index~0) (<= main_~index~0 3))} is VALID [2018-11-23 13:10:33,334 INFO L273 TraceCheckUtils]: 13: Hoare triple {4227#(and (<= 3 main_~index~0) (<= main_~index~0 3))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {4228#(and (<= 4 main_~index~0) (<= main_~index~0 4))} is VALID [2018-11-23 13:10:33,335 INFO L273 TraceCheckUtils]: 14: Hoare triple {4228#(and (<= 4 main_~index~0) (<= main_~index~0 4))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {4228#(and (<= 4 main_~index~0) (<= main_~index~0 4))} is VALID [2018-11-23 13:10:33,336 INFO L273 TraceCheckUtils]: 15: Hoare triple {4228#(and (<= 4 main_~index~0) (<= main_~index~0 4))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {4229#(and (<= 5 main_~index~0) (<= main_~index~0 5))} is VALID [2018-11-23 13:10:33,337 INFO L273 TraceCheckUtils]: 16: Hoare triple {4229#(and (<= 5 main_~index~0) (<= main_~index~0 5))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {4229#(and (<= 5 main_~index~0) (<= main_~index~0 5))} is VALID [2018-11-23 13:10:33,338 INFO L273 TraceCheckUtils]: 17: Hoare triple {4229#(and (<= 5 main_~index~0) (<= main_~index~0 5))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {4230#(and (<= 6 main_~index~0) (<= main_~index~0 6))} is VALID [2018-11-23 13:10:33,339 INFO L273 TraceCheckUtils]: 18: Hoare triple {4230#(and (<= 6 main_~index~0) (<= main_~index~0 6))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {4230#(and (<= 6 main_~index~0) (<= main_~index~0 6))} is VALID [2018-11-23 13:10:33,340 INFO L273 TraceCheckUtils]: 19: Hoare triple {4230#(and (<= 6 main_~index~0) (<= main_~index~0 6))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {4231#(and (<= 7 main_~index~0) (<= main_~index~0 7))} is VALID [2018-11-23 13:10:33,341 INFO L273 TraceCheckUtils]: 20: Hoare triple {4231#(and (<= 7 main_~index~0) (<= main_~index~0 7))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {4231#(and (<= 7 main_~index~0) (<= main_~index~0 7))} is VALID [2018-11-23 13:10:33,342 INFO L273 TraceCheckUtils]: 21: Hoare triple {4231#(and (<= 7 main_~index~0) (<= main_~index~0 7))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {4232#(and (<= main_~index~0 8) (<= 8 main_~index~0))} is VALID [2018-11-23 13:10:33,343 INFO L273 TraceCheckUtils]: 22: Hoare triple {4232#(and (<= main_~index~0 8) (<= 8 main_~index~0))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {4232#(and (<= main_~index~0 8) (<= 8 main_~index~0))} is VALID [2018-11-23 13:10:33,344 INFO L273 TraceCheckUtils]: 23: Hoare triple {4232#(and (<= main_~index~0 8) (<= 8 main_~index~0))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {4306#(and (<= 9 main_~index~0) (<= main_~index~0 9))} is VALID [2018-11-23 13:10:33,345 INFO L273 TraceCheckUtils]: 24: Hoare triple {4306#(and (<= 9 main_~index~0) (<= main_~index~0 9))} assume !(~index~0 % 4294967296 < 1000); {4223#false} is VALID [2018-11-23 13:10:33,345 INFO L273 TraceCheckUtils]: 25: Hoare triple {4223#false} ~index~0 := 0; {4223#false} is VALID [2018-11-23 13:10:33,345 INFO L273 TraceCheckUtils]: 26: Hoare triple {4223#false} assume !!(~index~0 % 4294967296 < 1000); {4223#false} is VALID [2018-11-23 13:10:33,345 INFO L273 TraceCheckUtils]: 27: Hoare triple {4223#false} assume 0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296;call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {4223#false} is VALID [2018-11-23 13:10:33,346 INFO L256 TraceCheckUtils]: 28: Hoare triple {4223#false} call __VERIFIER_assert((if 0 == #t~mem2 % 4294967296 then 1 else 0)); {4223#false} is VALID [2018-11-23 13:10:33,346 INFO L273 TraceCheckUtils]: 29: Hoare triple {4223#false} ~cond := #in~cond; {4223#false} is VALID [2018-11-23 13:10:33,346 INFO L273 TraceCheckUtils]: 30: Hoare triple {4223#false} assume !(0 == ~cond); {4223#false} is VALID [2018-11-23 13:10:33,346 INFO L273 TraceCheckUtils]: 31: Hoare triple {4223#false} assume true; {4223#false} is VALID [2018-11-23 13:10:33,347 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {4223#false} {4223#false} #60#return; {4223#false} is VALID [2018-11-23 13:10:33,347 INFO L273 TraceCheckUtils]: 33: Hoare triple {4223#false} havoc #t~mem2; {4223#false} is VALID [2018-11-23 13:10:33,347 INFO L273 TraceCheckUtils]: 34: Hoare triple {4223#false} #t~post1 := ~index~0;~index~0 := 1 + #t~post1;havoc #t~post1; {4223#false} is VALID [2018-11-23 13:10:33,347 INFO L273 TraceCheckUtils]: 35: Hoare triple {4223#false} assume !!(~index~0 % 4294967296 < 1000); {4223#false} is VALID [2018-11-23 13:10:33,348 INFO L273 TraceCheckUtils]: 36: Hoare triple {4223#false} assume !(0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {4223#false} is VALID [2018-11-23 13:10:33,348 INFO L256 TraceCheckUtils]: 37: Hoare triple {4223#false} call __VERIFIER_assert((if 0 != #t~mem3 % 4294967296 then 1 else 0)); {4223#false} is VALID [2018-11-23 13:10:33,348 INFO L273 TraceCheckUtils]: 38: Hoare triple {4223#false} ~cond := #in~cond; {4223#false} is VALID [2018-11-23 13:10:33,348 INFO L273 TraceCheckUtils]: 39: Hoare triple {4223#false} assume !(0 == ~cond); {4223#false} is VALID [2018-11-23 13:10:33,348 INFO L273 TraceCheckUtils]: 40: Hoare triple {4223#false} assume true; {4223#false} is VALID [2018-11-23 13:10:33,348 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {4223#false} {4223#false} #62#return; {4223#false} is VALID [2018-11-23 13:10:33,349 INFO L273 TraceCheckUtils]: 42: Hoare triple {4223#false} havoc #t~mem3; {4223#false} is VALID [2018-11-23 13:10:33,349 INFO L273 TraceCheckUtils]: 43: Hoare triple {4223#false} #t~post1 := ~index~0;~index~0 := 1 + #t~post1;havoc #t~post1; {4223#false} is VALID [2018-11-23 13:10:33,349 INFO L273 TraceCheckUtils]: 44: Hoare triple {4223#false} assume !!(~index~0 % 4294967296 < 1000); {4223#false} is VALID [2018-11-23 13:10:33,349 INFO L273 TraceCheckUtils]: 45: Hoare triple {4223#false} assume 0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296;call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {4223#false} is VALID [2018-11-23 13:10:33,349 INFO L256 TraceCheckUtils]: 46: Hoare triple {4223#false} call __VERIFIER_assert((if 0 == #t~mem2 % 4294967296 then 1 else 0)); {4223#false} is VALID [2018-11-23 13:10:33,349 INFO L273 TraceCheckUtils]: 47: Hoare triple {4223#false} ~cond := #in~cond; {4223#false} is VALID [2018-11-23 13:10:33,349 INFO L273 TraceCheckUtils]: 48: Hoare triple {4223#false} assume 0 == ~cond; {4223#false} is VALID [2018-11-23 13:10:33,349 INFO L273 TraceCheckUtils]: 49: Hoare triple {4223#false} assume !false; {4223#false} is VALID [2018-11-23 13:10:33,351 INFO L134 CoverageAnalysis]: Checked inductivity of 97 backedges. 0 proven. 81 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2018-11-23 13:10:33,372 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 13:10:33,372 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 13 [2018-11-23 13:10:33,372 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 50 [2018-11-23 13:10:33,373 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:10:33,373 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states. [2018-11-23 13:10:33,440 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:10:33,440 INFO L459 AbstractCegarLoop]: Interpolant automaton has 13 states [2018-11-23 13:10:33,440 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2018-11-23 13:10:33,440 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=123, Unknown=0, NotChecked=0, Total=156 [2018-11-23 13:10:33,440 INFO L87 Difference]: Start difference. First operand 84 states and 92 transitions. Second operand 13 states. [2018-11-23 13:10:36,121 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:10:36,121 INFO L93 Difference]: Finished difference Result 159 states and 180 transitions. [2018-11-23 13:10:36,121 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2018-11-23 13:10:36,121 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 50 [2018-11-23 13:10:36,122 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:10:36,122 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2018-11-23 13:10:36,124 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 124 transitions. [2018-11-23 13:10:36,125 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2018-11-23 13:10:36,127 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 124 transitions. [2018-11-23 13:10:36,127 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 124 transitions. [2018-11-23 13:10:36,332 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 124 edges. 124 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:10:36,335 INFO L225 Difference]: With dead ends: 159 [2018-11-23 13:10:36,335 INFO L226 Difference]: Without dead ends: 100 [2018-11-23 13:10:36,337 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 61 GetRequests, 48 SyntacticMatches, 2 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=33, Invalid=123, Unknown=0, NotChecked=0, Total=156 [2018-11-23 13:10:36,337 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 100 states. [2018-11-23 13:10:36,669 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 100 to 96. [2018-11-23 13:10:36,669 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:10:36,669 INFO L82 GeneralOperation]: Start isEquivalent. First operand 100 states. Second operand 96 states. [2018-11-23 13:10:36,669 INFO L74 IsIncluded]: Start isIncluded. First operand 100 states. Second operand 96 states. [2018-11-23 13:10:36,669 INFO L87 Difference]: Start difference. First operand 100 states. Second operand 96 states. [2018-11-23 13:10:36,672 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:10:36,672 INFO L93 Difference]: Finished difference Result 100 states and 111 transitions. [2018-11-23 13:10:36,673 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 111 transitions. [2018-11-23 13:10:36,673 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:10:36,673 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:10:36,673 INFO L74 IsIncluded]: Start isIncluded. First operand 96 states. Second operand 100 states. [2018-11-23 13:10:36,674 INFO L87 Difference]: Start difference. First operand 96 states. Second operand 100 states. [2018-11-23 13:10:36,676 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:10:36,677 INFO L93 Difference]: Finished difference Result 100 states and 111 transitions. [2018-11-23 13:10:36,677 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 111 transitions. [2018-11-23 13:10:36,677 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:10:36,677 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:10:36,677 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:10:36,678 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:10:36,678 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 96 states. [2018-11-23 13:10:36,680 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 96 states to 96 states and 106 transitions. [2018-11-23 13:10:36,680 INFO L78 Accepts]: Start accepts. Automaton has 96 states and 106 transitions. Word has length 50 [2018-11-23 13:10:36,680 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:10:36,681 INFO L480 AbstractCegarLoop]: Abstraction has 96 states and 106 transitions. [2018-11-23 13:10:36,681 INFO L481 AbstractCegarLoop]: Interpolant automaton has 13 states. [2018-11-23 13:10:36,681 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 106 transitions. [2018-11-23 13:10:36,681 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2018-11-23 13:10:36,681 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:10:36,682 INFO L402 BasicCegarLoop]: trace histogram [10, 10, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:10:36,682 INFO L423 AbstractCegarLoop]: === Iteration 11 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:10:36,683 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:10:36,683 INFO L82 PathProgramCache]: Analyzing trace with hash 335595451, now seen corresponding path program 7 times [2018-11-23 13:10:36,683 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:10:36,683 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:10:36,684 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:10:36,684 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 13:10:36,684 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:10:36,740 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:10:37,604 INFO L256 TraceCheckUtils]: 0: Hoare triple {4941#true} call ULTIMATE.init(); {4941#true} is VALID [2018-11-23 13:10:37,604 INFO L273 TraceCheckUtils]: 1: Hoare triple {4941#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {4941#true} is VALID [2018-11-23 13:10:37,604 INFO L273 TraceCheckUtils]: 2: Hoare triple {4941#true} assume true; {4941#true} is VALID [2018-11-23 13:10:37,605 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4941#true} {4941#true} #56#return; {4941#true} is VALID [2018-11-23 13:10:37,605 INFO L256 TraceCheckUtils]: 4: Hoare triple {4941#true} call #t~ret4 := main(); {4941#true} is VALID [2018-11-23 13:10:37,605 INFO L273 TraceCheckUtils]: 5: Hoare triple {4941#true} call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(4000);havoc ~index~0;~index~0 := 0; {4943#(= main_~index~0 0)} is VALID [2018-11-23 13:10:37,605 INFO L273 TraceCheckUtils]: 6: Hoare triple {4943#(= main_~index~0 0)} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {4943#(= main_~index~0 0)} is VALID [2018-11-23 13:10:37,606 INFO L273 TraceCheckUtils]: 7: Hoare triple {4943#(= main_~index~0 0)} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {4944#(and (<= main_~index~0 1) (<= 1 main_~index~0))} is VALID [2018-11-23 13:10:37,625 INFO L273 TraceCheckUtils]: 8: Hoare triple {4944#(and (<= main_~index~0 1) (<= 1 main_~index~0))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {4944#(and (<= main_~index~0 1) (<= 1 main_~index~0))} is VALID [2018-11-23 13:10:37,630 INFO L273 TraceCheckUtils]: 9: Hoare triple {4944#(and (<= main_~index~0 1) (<= 1 main_~index~0))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {4945#(and (<= 2 main_~index~0) (<= main_~index~0 2))} is VALID [2018-11-23 13:10:37,631 INFO L273 TraceCheckUtils]: 10: Hoare triple {4945#(and (<= 2 main_~index~0) (<= main_~index~0 2))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {4945#(and (<= 2 main_~index~0) (<= main_~index~0 2))} is VALID [2018-11-23 13:10:37,631 INFO L273 TraceCheckUtils]: 11: Hoare triple {4945#(and (<= 2 main_~index~0) (<= main_~index~0 2))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {4946#(and (<= 3 main_~index~0) (<= main_~index~0 3))} is VALID [2018-11-23 13:10:37,632 INFO L273 TraceCheckUtils]: 12: Hoare triple {4946#(and (<= 3 main_~index~0) (<= main_~index~0 3))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {4946#(and (<= 3 main_~index~0) (<= main_~index~0 3))} is VALID [2018-11-23 13:10:37,632 INFO L273 TraceCheckUtils]: 13: Hoare triple {4946#(and (<= 3 main_~index~0) (<= main_~index~0 3))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {4947#(and (<= 4 main_~index~0) (<= main_~index~0 4))} is VALID [2018-11-23 13:10:37,633 INFO L273 TraceCheckUtils]: 14: Hoare triple {4947#(and (<= 4 main_~index~0) (<= main_~index~0 4))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {4947#(and (<= 4 main_~index~0) (<= main_~index~0 4))} is VALID [2018-11-23 13:10:37,634 INFO L273 TraceCheckUtils]: 15: Hoare triple {4947#(and (<= 4 main_~index~0) (<= main_~index~0 4))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {4948#(and (<= 5 main_~index~0) (<= main_~index~0 5))} is VALID [2018-11-23 13:10:37,635 INFO L273 TraceCheckUtils]: 16: Hoare triple {4948#(and (<= 5 main_~index~0) (<= main_~index~0 5))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {4948#(and (<= 5 main_~index~0) (<= main_~index~0 5))} is VALID [2018-11-23 13:10:37,635 INFO L273 TraceCheckUtils]: 17: Hoare triple {4948#(and (<= 5 main_~index~0) (<= main_~index~0 5))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {4949#(and (<= 6 main_~index~0) (<= main_~index~0 6))} is VALID [2018-11-23 13:10:37,637 INFO L273 TraceCheckUtils]: 18: Hoare triple {4949#(and (<= 6 main_~index~0) (<= main_~index~0 6))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {4949#(and (<= 6 main_~index~0) (<= main_~index~0 6))} is VALID [2018-11-23 13:10:37,637 INFO L273 TraceCheckUtils]: 19: Hoare triple {4949#(and (<= 6 main_~index~0) (<= main_~index~0 6))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {4950#(and (<= 7 main_~index~0) (<= main_~index~0 7))} is VALID [2018-11-23 13:10:37,638 INFO L273 TraceCheckUtils]: 20: Hoare triple {4950#(and (<= 7 main_~index~0) (<= main_~index~0 7))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {4950#(and (<= 7 main_~index~0) (<= main_~index~0 7))} is VALID [2018-11-23 13:10:37,639 INFO L273 TraceCheckUtils]: 21: Hoare triple {4950#(and (<= 7 main_~index~0) (<= main_~index~0 7))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {4951#(and (<= main_~index~0 8) (<= 8 main_~index~0))} is VALID [2018-11-23 13:10:37,640 INFO L273 TraceCheckUtils]: 22: Hoare triple {4951#(and (<= main_~index~0 8) (<= 8 main_~index~0))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {4951#(and (<= main_~index~0 8) (<= 8 main_~index~0))} is VALID [2018-11-23 13:10:37,641 INFO L273 TraceCheckUtils]: 23: Hoare triple {4951#(and (<= main_~index~0 8) (<= 8 main_~index~0))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {4952#(and (<= 9 main_~index~0) (<= main_~index~0 9))} is VALID [2018-11-23 13:10:37,642 INFO L273 TraceCheckUtils]: 24: Hoare triple {4952#(and (<= 9 main_~index~0) (<= main_~index~0 9))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {4952#(and (<= 9 main_~index~0) (<= main_~index~0 9))} is VALID [2018-11-23 13:10:37,643 INFO L273 TraceCheckUtils]: 25: Hoare triple {4952#(and (<= 9 main_~index~0) (<= main_~index~0 9))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {4953#(and (< 0 (+ (div main_~index~0 4294967296) 1)) (<= main_~index~0 10))} is VALID [2018-11-23 13:10:37,644 INFO L273 TraceCheckUtils]: 26: Hoare triple {4953#(and (< 0 (+ (div main_~index~0 4294967296) 1)) (<= main_~index~0 10))} assume !(~index~0 % 4294967296 < 1000); {4942#false} is VALID [2018-11-23 13:10:37,645 INFO L273 TraceCheckUtils]: 27: Hoare triple {4942#false} ~index~0 := 0; {4942#false} is VALID [2018-11-23 13:10:37,645 INFO L273 TraceCheckUtils]: 28: Hoare triple {4942#false} assume !!(~index~0 % 4294967296 < 1000); {4942#false} is VALID [2018-11-23 13:10:37,645 INFO L273 TraceCheckUtils]: 29: Hoare triple {4942#false} assume 0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296;call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {4942#false} is VALID [2018-11-23 13:10:37,645 INFO L256 TraceCheckUtils]: 30: Hoare triple {4942#false} call __VERIFIER_assert((if 0 == #t~mem2 % 4294967296 then 1 else 0)); {4941#true} is VALID [2018-11-23 13:10:37,646 INFO L273 TraceCheckUtils]: 31: Hoare triple {4941#true} ~cond := #in~cond; {4941#true} is VALID [2018-11-23 13:10:37,646 INFO L273 TraceCheckUtils]: 32: Hoare triple {4941#true} assume !(0 == ~cond); {4941#true} is VALID [2018-11-23 13:10:37,646 INFO L273 TraceCheckUtils]: 33: Hoare triple {4941#true} assume true; {4941#true} is VALID [2018-11-23 13:10:37,646 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {4941#true} {4942#false} #60#return; {4942#false} is VALID [2018-11-23 13:10:37,646 INFO L273 TraceCheckUtils]: 35: Hoare triple {4942#false} havoc #t~mem2; {4942#false} is VALID [2018-11-23 13:10:37,647 INFO L273 TraceCheckUtils]: 36: Hoare triple {4942#false} #t~post1 := ~index~0;~index~0 := 1 + #t~post1;havoc #t~post1; {4942#false} is VALID [2018-11-23 13:10:37,647 INFO L273 TraceCheckUtils]: 37: Hoare triple {4942#false} assume !!(~index~0 % 4294967296 < 1000); {4942#false} is VALID [2018-11-23 13:10:37,647 INFO L273 TraceCheckUtils]: 38: Hoare triple {4942#false} assume !(0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {4942#false} is VALID [2018-11-23 13:10:37,647 INFO L256 TraceCheckUtils]: 39: Hoare triple {4942#false} call __VERIFIER_assert((if 0 != #t~mem3 % 4294967296 then 1 else 0)); {4941#true} is VALID [2018-11-23 13:10:37,648 INFO L273 TraceCheckUtils]: 40: Hoare triple {4941#true} ~cond := #in~cond; {4941#true} is VALID [2018-11-23 13:10:37,648 INFO L273 TraceCheckUtils]: 41: Hoare triple {4941#true} assume !(0 == ~cond); {4941#true} is VALID [2018-11-23 13:10:37,648 INFO L273 TraceCheckUtils]: 42: Hoare triple {4941#true} assume true; {4941#true} is VALID [2018-11-23 13:10:37,648 INFO L268 TraceCheckUtils]: 43: Hoare quadruple {4941#true} {4942#false} #62#return; {4942#false} is VALID [2018-11-23 13:10:37,648 INFO L273 TraceCheckUtils]: 44: Hoare triple {4942#false} havoc #t~mem3; {4942#false} is VALID [2018-11-23 13:10:37,648 INFO L273 TraceCheckUtils]: 45: Hoare triple {4942#false} #t~post1 := ~index~0;~index~0 := 1 + #t~post1;havoc #t~post1; {4942#false} is VALID [2018-11-23 13:10:37,648 INFO L273 TraceCheckUtils]: 46: Hoare triple {4942#false} assume !!(~index~0 % 4294967296 < 1000); {4942#false} is VALID [2018-11-23 13:10:37,648 INFO L273 TraceCheckUtils]: 47: Hoare triple {4942#false} assume 0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296;call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {4942#false} is VALID [2018-11-23 13:10:37,648 INFO L256 TraceCheckUtils]: 48: Hoare triple {4942#false} call __VERIFIER_assert((if 0 == #t~mem2 % 4294967296 then 1 else 0)); {4942#false} is VALID [2018-11-23 13:10:37,649 INFO L273 TraceCheckUtils]: 49: Hoare triple {4942#false} ~cond := #in~cond; {4942#false} is VALID [2018-11-23 13:10:37,649 INFO L273 TraceCheckUtils]: 50: Hoare triple {4942#false} assume 0 == ~cond; {4942#false} is VALID [2018-11-23 13:10:37,649 INFO L273 TraceCheckUtils]: 51: Hoare triple {4942#false} assume !false; {4942#false} is VALID [2018-11-23 13:10:37,651 INFO L134 CoverageAnalysis]: Checked inductivity of 116 backedges. 4 proven. 100 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 13:10:37,651 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 13:10:37,651 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 10 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 10 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 13:10:37,661 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:10:37,688 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:10:37,699 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:10:37,701 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:10:38,063 INFO L256 TraceCheckUtils]: 0: Hoare triple {4941#true} call ULTIMATE.init(); {4941#true} is VALID [2018-11-23 13:10:38,063 INFO L273 TraceCheckUtils]: 1: Hoare triple {4941#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {4941#true} is VALID [2018-11-23 13:10:38,063 INFO L273 TraceCheckUtils]: 2: Hoare triple {4941#true} assume true; {4941#true} is VALID [2018-11-23 13:10:38,064 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4941#true} {4941#true} #56#return; {4941#true} is VALID [2018-11-23 13:10:38,064 INFO L256 TraceCheckUtils]: 4: Hoare triple {4941#true} call #t~ret4 := main(); {4941#true} is VALID [2018-11-23 13:10:38,064 INFO L273 TraceCheckUtils]: 5: Hoare triple {4941#true} call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(4000);havoc ~index~0;~index~0 := 0; {4943#(= main_~index~0 0)} is VALID [2018-11-23 13:10:38,065 INFO L273 TraceCheckUtils]: 6: Hoare triple {4943#(= main_~index~0 0)} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {4943#(= main_~index~0 0)} is VALID [2018-11-23 13:10:38,065 INFO L273 TraceCheckUtils]: 7: Hoare triple {4943#(= main_~index~0 0)} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {4944#(and (<= main_~index~0 1) (<= 1 main_~index~0))} is VALID [2018-11-23 13:10:38,066 INFO L273 TraceCheckUtils]: 8: Hoare triple {4944#(and (<= main_~index~0 1) (<= 1 main_~index~0))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {4944#(and (<= main_~index~0 1) (<= 1 main_~index~0))} is VALID [2018-11-23 13:10:38,066 INFO L273 TraceCheckUtils]: 9: Hoare triple {4944#(and (<= main_~index~0 1) (<= 1 main_~index~0))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {4945#(and (<= 2 main_~index~0) (<= main_~index~0 2))} is VALID [2018-11-23 13:10:38,067 INFO L273 TraceCheckUtils]: 10: Hoare triple {4945#(and (<= 2 main_~index~0) (<= main_~index~0 2))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {4945#(and (<= 2 main_~index~0) (<= main_~index~0 2))} is VALID [2018-11-23 13:10:38,068 INFO L273 TraceCheckUtils]: 11: Hoare triple {4945#(and (<= 2 main_~index~0) (<= main_~index~0 2))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {4946#(and (<= 3 main_~index~0) (<= main_~index~0 3))} is VALID [2018-11-23 13:10:38,069 INFO L273 TraceCheckUtils]: 12: Hoare triple {4946#(and (<= 3 main_~index~0) (<= main_~index~0 3))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {4946#(and (<= 3 main_~index~0) (<= main_~index~0 3))} is VALID [2018-11-23 13:10:38,069 INFO L273 TraceCheckUtils]: 13: Hoare triple {4946#(and (<= 3 main_~index~0) (<= main_~index~0 3))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {4947#(and (<= 4 main_~index~0) (<= main_~index~0 4))} is VALID [2018-11-23 13:10:38,070 INFO L273 TraceCheckUtils]: 14: Hoare triple {4947#(and (<= 4 main_~index~0) (<= main_~index~0 4))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {4947#(and (<= 4 main_~index~0) (<= main_~index~0 4))} is VALID [2018-11-23 13:10:38,071 INFO L273 TraceCheckUtils]: 15: Hoare triple {4947#(and (<= 4 main_~index~0) (<= main_~index~0 4))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {4948#(and (<= 5 main_~index~0) (<= main_~index~0 5))} is VALID [2018-11-23 13:10:38,072 INFO L273 TraceCheckUtils]: 16: Hoare triple {4948#(and (<= 5 main_~index~0) (<= main_~index~0 5))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {4948#(and (<= 5 main_~index~0) (<= main_~index~0 5))} is VALID [2018-11-23 13:10:38,073 INFO L273 TraceCheckUtils]: 17: Hoare triple {4948#(and (<= 5 main_~index~0) (<= main_~index~0 5))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {4949#(and (<= 6 main_~index~0) (<= main_~index~0 6))} is VALID [2018-11-23 13:10:38,074 INFO L273 TraceCheckUtils]: 18: Hoare triple {4949#(and (<= 6 main_~index~0) (<= main_~index~0 6))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {4949#(and (<= 6 main_~index~0) (<= main_~index~0 6))} is VALID [2018-11-23 13:10:38,075 INFO L273 TraceCheckUtils]: 19: Hoare triple {4949#(and (<= 6 main_~index~0) (<= main_~index~0 6))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {4950#(and (<= 7 main_~index~0) (<= main_~index~0 7))} is VALID [2018-11-23 13:10:38,076 INFO L273 TraceCheckUtils]: 20: Hoare triple {4950#(and (<= 7 main_~index~0) (<= main_~index~0 7))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {4950#(and (<= 7 main_~index~0) (<= main_~index~0 7))} is VALID [2018-11-23 13:10:38,077 INFO L273 TraceCheckUtils]: 21: Hoare triple {4950#(and (<= 7 main_~index~0) (<= main_~index~0 7))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {4951#(and (<= main_~index~0 8) (<= 8 main_~index~0))} is VALID [2018-11-23 13:10:38,078 INFO L273 TraceCheckUtils]: 22: Hoare triple {4951#(and (<= main_~index~0 8) (<= 8 main_~index~0))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {4951#(and (<= main_~index~0 8) (<= 8 main_~index~0))} is VALID [2018-11-23 13:10:38,079 INFO L273 TraceCheckUtils]: 23: Hoare triple {4951#(and (<= main_~index~0 8) (<= 8 main_~index~0))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {4952#(and (<= 9 main_~index~0) (<= main_~index~0 9))} is VALID [2018-11-23 13:10:38,080 INFO L273 TraceCheckUtils]: 24: Hoare triple {4952#(and (<= 9 main_~index~0) (<= main_~index~0 9))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {4952#(and (<= 9 main_~index~0) (<= main_~index~0 9))} is VALID [2018-11-23 13:10:38,081 INFO L273 TraceCheckUtils]: 25: Hoare triple {4952#(and (<= 9 main_~index~0) (<= main_~index~0 9))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {5032#(and (<= 10 main_~index~0) (<= main_~index~0 10))} is VALID [2018-11-23 13:10:38,081 INFO L273 TraceCheckUtils]: 26: Hoare triple {5032#(and (<= 10 main_~index~0) (<= main_~index~0 10))} assume !(~index~0 % 4294967296 < 1000); {4942#false} is VALID [2018-11-23 13:10:38,082 INFO L273 TraceCheckUtils]: 27: Hoare triple {4942#false} ~index~0 := 0; {4942#false} is VALID [2018-11-23 13:10:38,082 INFO L273 TraceCheckUtils]: 28: Hoare triple {4942#false} assume !!(~index~0 % 4294967296 < 1000); {4942#false} is VALID [2018-11-23 13:10:38,082 INFO L273 TraceCheckUtils]: 29: Hoare triple {4942#false} assume 0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296;call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {4942#false} is VALID [2018-11-23 13:10:38,082 INFO L256 TraceCheckUtils]: 30: Hoare triple {4942#false} call __VERIFIER_assert((if 0 == #t~mem2 % 4294967296 then 1 else 0)); {4942#false} is VALID [2018-11-23 13:10:38,083 INFO L273 TraceCheckUtils]: 31: Hoare triple {4942#false} ~cond := #in~cond; {4942#false} is VALID [2018-11-23 13:10:38,083 INFO L273 TraceCheckUtils]: 32: Hoare triple {4942#false} assume !(0 == ~cond); {4942#false} is VALID [2018-11-23 13:10:38,083 INFO L273 TraceCheckUtils]: 33: Hoare triple {4942#false} assume true; {4942#false} is VALID [2018-11-23 13:10:38,083 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {4942#false} {4942#false} #60#return; {4942#false} is VALID [2018-11-23 13:10:38,084 INFO L273 TraceCheckUtils]: 35: Hoare triple {4942#false} havoc #t~mem2; {4942#false} is VALID [2018-11-23 13:10:38,084 INFO L273 TraceCheckUtils]: 36: Hoare triple {4942#false} #t~post1 := ~index~0;~index~0 := 1 + #t~post1;havoc #t~post1; {4942#false} is VALID [2018-11-23 13:10:38,084 INFO L273 TraceCheckUtils]: 37: Hoare triple {4942#false} assume !!(~index~0 % 4294967296 < 1000); {4942#false} is VALID [2018-11-23 13:10:38,084 INFO L273 TraceCheckUtils]: 38: Hoare triple {4942#false} assume !(0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {4942#false} is VALID [2018-11-23 13:10:38,084 INFO L256 TraceCheckUtils]: 39: Hoare triple {4942#false} call __VERIFIER_assert((if 0 != #t~mem3 % 4294967296 then 1 else 0)); {4942#false} is VALID [2018-11-23 13:10:38,085 INFO L273 TraceCheckUtils]: 40: Hoare triple {4942#false} ~cond := #in~cond; {4942#false} is VALID [2018-11-23 13:10:38,085 INFO L273 TraceCheckUtils]: 41: Hoare triple {4942#false} assume !(0 == ~cond); {4942#false} is VALID [2018-11-23 13:10:38,085 INFO L273 TraceCheckUtils]: 42: Hoare triple {4942#false} assume true; {4942#false} is VALID [2018-11-23 13:10:38,085 INFO L268 TraceCheckUtils]: 43: Hoare quadruple {4942#false} {4942#false} #62#return; {4942#false} is VALID [2018-11-23 13:10:38,085 INFO L273 TraceCheckUtils]: 44: Hoare triple {4942#false} havoc #t~mem3; {4942#false} is VALID [2018-11-23 13:10:38,086 INFO L273 TraceCheckUtils]: 45: Hoare triple {4942#false} #t~post1 := ~index~0;~index~0 := 1 + #t~post1;havoc #t~post1; {4942#false} is VALID [2018-11-23 13:10:38,086 INFO L273 TraceCheckUtils]: 46: Hoare triple {4942#false} assume !!(~index~0 % 4294967296 < 1000); {4942#false} is VALID [2018-11-23 13:10:38,086 INFO L273 TraceCheckUtils]: 47: Hoare triple {4942#false} assume 0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296;call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {4942#false} is VALID [2018-11-23 13:10:38,086 INFO L256 TraceCheckUtils]: 48: Hoare triple {4942#false} call __VERIFIER_assert((if 0 == #t~mem2 % 4294967296 then 1 else 0)); {4942#false} is VALID [2018-11-23 13:10:38,086 INFO L273 TraceCheckUtils]: 49: Hoare triple {4942#false} ~cond := #in~cond; {4942#false} is VALID [2018-11-23 13:10:38,086 INFO L273 TraceCheckUtils]: 50: Hoare triple {4942#false} assume 0 == ~cond; {4942#false} is VALID [2018-11-23 13:10:38,086 INFO L273 TraceCheckUtils]: 51: Hoare triple {4942#false} assume !false; {4942#false} is VALID [2018-11-23 13:10:38,088 INFO L134 CoverageAnalysis]: Checked inductivity of 116 backedges. 0 proven. 100 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2018-11-23 13:10:38,107 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 13:10:38,107 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 14 [2018-11-23 13:10:38,108 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 52 [2018-11-23 13:10:38,108 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:10:38,108 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states. [2018-11-23 13:10:38,165 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:10:38,165 INFO L459 AbstractCegarLoop]: Interpolant automaton has 14 states [2018-11-23 13:10:38,165 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2018-11-23 13:10:38,165 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=146, Unknown=0, NotChecked=0, Total=182 [2018-11-23 13:10:38,166 INFO L87 Difference]: Start difference. First operand 96 states and 106 transitions. Second operand 14 states. [2018-11-23 13:10:41,365 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:10:41,365 INFO L93 Difference]: Finished difference Result 176 states and 199 transitions. [2018-11-23 13:10:41,365 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2018-11-23 13:10:41,365 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 52 [2018-11-23 13:10:41,366 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:10:41,366 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-11-23 13:10:41,368 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 131 transitions. [2018-11-23 13:10:41,368 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-11-23 13:10:41,370 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 131 transitions. [2018-11-23 13:10:41,371 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 131 transitions. [2018-11-23 13:10:42,634 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 131 edges. 131 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:10:42,636 INFO L225 Difference]: With dead ends: 176 [2018-11-23 13:10:42,637 INFO L226 Difference]: Without dead ends: 107 [2018-11-23 13:10:42,637 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 64 GetRequests, 50 SyntacticMatches, 2 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=36, Invalid=146, Unknown=0, NotChecked=0, Total=182 [2018-11-23 13:10:42,638 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 107 states. [2018-11-23 13:10:44,106 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 107 to 103. [2018-11-23 13:10:44,106 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:10:44,107 INFO L82 GeneralOperation]: Start isEquivalent. First operand 107 states. Second operand 103 states. [2018-11-23 13:10:44,107 INFO L74 IsIncluded]: Start isIncluded. First operand 107 states. Second operand 103 states. [2018-11-23 13:10:44,107 INFO L87 Difference]: Start difference. First operand 107 states. Second operand 103 states. [2018-11-23 13:10:44,110 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:10:44,111 INFO L93 Difference]: Finished difference Result 107 states and 119 transitions. [2018-11-23 13:10:44,111 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 119 transitions. [2018-11-23 13:10:44,111 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:10:44,111 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:10:44,112 INFO L74 IsIncluded]: Start isIncluded. First operand 103 states. Second operand 107 states. [2018-11-23 13:10:44,112 INFO L87 Difference]: Start difference. First operand 103 states. Second operand 107 states. [2018-11-23 13:10:44,115 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:10:44,115 INFO L93 Difference]: Finished difference Result 107 states and 119 transitions. [2018-11-23 13:10:44,115 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 119 transitions. [2018-11-23 13:10:44,116 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:10:44,116 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:10:44,116 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:10:44,116 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:10:44,116 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 103 states. [2018-11-23 13:10:44,119 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 114 transitions. [2018-11-23 13:10:44,119 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 114 transitions. Word has length 52 [2018-11-23 13:10:44,119 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:10:44,119 INFO L480 AbstractCegarLoop]: Abstraction has 103 states and 114 transitions. [2018-11-23 13:10:44,119 INFO L481 AbstractCegarLoop]: Interpolant automaton has 14 states. [2018-11-23 13:10:44,119 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 114 transitions. [2018-11-23 13:10:44,120 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2018-11-23 13:10:44,120 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:10:44,120 INFO L402 BasicCegarLoop]: trace histogram [11, 11, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:10:44,120 INFO L423 AbstractCegarLoop]: === Iteration 12 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:10:44,120 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:10:44,121 INFO L82 PathProgramCache]: Analyzing trace with hash 56944285, now seen corresponding path program 8 times [2018-11-23 13:10:44,121 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:10:44,121 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:10:44,121 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:10:44,122 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:10:44,122 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:10:44,149 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:10:44,660 INFO L256 TraceCheckUtils]: 0: Hoare triple {5715#true} call ULTIMATE.init(); {5715#true} is VALID [2018-11-23 13:10:44,660 INFO L273 TraceCheckUtils]: 1: Hoare triple {5715#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {5715#true} is VALID [2018-11-23 13:10:44,660 INFO L273 TraceCheckUtils]: 2: Hoare triple {5715#true} assume true; {5715#true} is VALID [2018-11-23 13:10:44,660 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5715#true} {5715#true} #56#return; {5715#true} is VALID [2018-11-23 13:10:44,660 INFO L256 TraceCheckUtils]: 4: Hoare triple {5715#true} call #t~ret4 := main(); {5715#true} is VALID [2018-11-23 13:10:44,661 INFO L273 TraceCheckUtils]: 5: Hoare triple {5715#true} call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(4000);havoc ~index~0;~index~0 := 0; {5717#(= main_~index~0 0)} is VALID [2018-11-23 13:10:44,661 INFO L273 TraceCheckUtils]: 6: Hoare triple {5717#(= main_~index~0 0)} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {5717#(= main_~index~0 0)} is VALID [2018-11-23 13:10:44,661 INFO L273 TraceCheckUtils]: 7: Hoare triple {5717#(= main_~index~0 0)} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {5718#(and (<= main_~index~0 1) (<= 1 main_~index~0))} is VALID [2018-11-23 13:10:44,662 INFO L273 TraceCheckUtils]: 8: Hoare triple {5718#(and (<= main_~index~0 1) (<= 1 main_~index~0))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {5718#(and (<= main_~index~0 1) (<= 1 main_~index~0))} is VALID [2018-11-23 13:10:44,663 INFO L273 TraceCheckUtils]: 9: Hoare triple {5718#(and (<= main_~index~0 1) (<= 1 main_~index~0))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {5719#(and (<= 2 main_~index~0) (<= main_~index~0 2))} is VALID [2018-11-23 13:10:44,663 INFO L273 TraceCheckUtils]: 10: Hoare triple {5719#(and (<= 2 main_~index~0) (<= main_~index~0 2))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {5719#(and (<= 2 main_~index~0) (<= main_~index~0 2))} is VALID [2018-11-23 13:10:44,664 INFO L273 TraceCheckUtils]: 11: Hoare triple {5719#(and (<= 2 main_~index~0) (<= main_~index~0 2))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {5720#(and (<= 3 main_~index~0) (<= main_~index~0 3))} is VALID [2018-11-23 13:10:44,664 INFO L273 TraceCheckUtils]: 12: Hoare triple {5720#(and (<= 3 main_~index~0) (<= main_~index~0 3))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {5720#(and (<= 3 main_~index~0) (<= main_~index~0 3))} is VALID [2018-11-23 13:10:44,665 INFO L273 TraceCheckUtils]: 13: Hoare triple {5720#(and (<= 3 main_~index~0) (<= main_~index~0 3))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {5721#(and (<= 4 main_~index~0) (<= main_~index~0 4))} is VALID [2018-11-23 13:10:44,666 INFO L273 TraceCheckUtils]: 14: Hoare triple {5721#(and (<= 4 main_~index~0) (<= main_~index~0 4))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {5721#(and (<= 4 main_~index~0) (<= main_~index~0 4))} is VALID [2018-11-23 13:10:44,667 INFO L273 TraceCheckUtils]: 15: Hoare triple {5721#(and (<= 4 main_~index~0) (<= main_~index~0 4))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {5722#(and (<= 5 main_~index~0) (<= main_~index~0 5))} is VALID [2018-11-23 13:10:44,668 INFO L273 TraceCheckUtils]: 16: Hoare triple {5722#(and (<= 5 main_~index~0) (<= main_~index~0 5))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {5722#(and (<= 5 main_~index~0) (<= main_~index~0 5))} is VALID [2018-11-23 13:10:44,668 INFO L273 TraceCheckUtils]: 17: Hoare triple {5722#(and (<= 5 main_~index~0) (<= main_~index~0 5))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {5723#(and (<= 6 main_~index~0) (<= main_~index~0 6))} is VALID [2018-11-23 13:10:44,669 INFO L273 TraceCheckUtils]: 18: Hoare triple {5723#(and (<= 6 main_~index~0) (<= main_~index~0 6))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {5723#(and (<= 6 main_~index~0) (<= main_~index~0 6))} is VALID [2018-11-23 13:10:44,670 INFO L273 TraceCheckUtils]: 19: Hoare triple {5723#(and (<= 6 main_~index~0) (<= main_~index~0 6))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {5724#(and (<= 7 main_~index~0) (<= main_~index~0 7))} is VALID [2018-11-23 13:10:44,671 INFO L273 TraceCheckUtils]: 20: Hoare triple {5724#(and (<= 7 main_~index~0) (<= main_~index~0 7))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {5724#(and (<= 7 main_~index~0) (<= main_~index~0 7))} is VALID [2018-11-23 13:10:44,672 INFO L273 TraceCheckUtils]: 21: Hoare triple {5724#(and (<= 7 main_~index~0) (<= main_~index~0 7))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {5725#(and (<= main_~index~0 8) (<= 8 main_~index~0))} is VALID [2018-11-23 13:10:44,690 INFO L273 TraceCheckUtils]: 22: Hoare triple {5725#(and (<= main_~index~0 8) (<= 8 main_~index~0))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {5725#(and (<= main_~index~0 8) (<= 8 main_~index~0))} is VALID [2018-11-23 13:10:44,699 INFO L273 TraceCheckUtils]: 23: Hoare triple {5725#(and (<= main_~index~0 8) (<= 8 main_~index~0))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {5726#(and (<= 9 main_~index~0) (<= main_~index~0 9))} is VALID [2018-11-23 13:10:44,712 INFO L273 TraceCheckUtils]: 24: Hoare triple {5726#(and (<= 9 main_~index~0) (<= main_~index~0 9))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {5726#(and (<= 9 main_~index~0) (<= main_~index~0 9))} is VALID [2018-11-23 13:10:44,721 INFO L273 TraceCheckUtils]: 25: Hoare triple {5726#(and (<= 9 main_~index~0) (<= main_~index~0 9))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {5727#(and (<= 10 main_~index~0) (<= main_~index~0 10))} is VALID [2018-11-23 13:10:44,735 INFO L273 TraceCheckUtils]: 26: Hoare triple {5727#(and (<= 10 main_~index~0) (<= main_~index~0 10))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {5727#(and (<= 10 main_~index~0) (<= main_~index~0 10))} is VALID [2018-11-23 13:10:44,744 INFO L273 TraceCheckUtils]: 27: Hoare triple {5727#(and (<= 10 main_~index~0) (<= main_~index~0 10))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {5728#(and (<= main_~index~0 11) (< 0 (+ (div main_~index~0 4294967296) 1)))} is VALID [2018-11-23 13:10:44,759 INFO L273 TraceCheckUtils]: 28: Hoare triple {5728#(and (<= main_~index~0 11) (< 0 (+ (div main_~index~0 4294967296) 1)))} assume !(~index~0 % 4294967296 < 1000); {5716#false} is VALID [2018-11-23 13:10:44,759 INFO L273 TraceCheckUtils]: 29: Hoare triple {5716#false} ~index~0 := 0; {5716#false} is VALID [2018-11-23 13:10:44,759 INFO L273 TraceCheckUtils]: 30: Hoare triple {5716#false} assume !!(~index~0 % 4294967296 < 1000); {5716#false} is VALID [2018-11-23 13:10:44,759 INFO L273 TraceCheckUtils]: 31: Hoare triple {5716#false} assume 0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296;call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {5716#false} is VALID [2018-11-23 13:10:44,760 INFO L256 TraceCheckUtils]: 32: Hoare triple {5716#false} call __VERIFIER_assert((if 0 == #t~mem2 % 4294967296 then 1 else 0)); {5715#true} is VALID [2018-11-23 13:10:44,760 INFO L273 TraceCheckUtils]: 33: Hoare triple {5715#true} ~cond := #in~cond; {5715#true} is VALID [2018-11-23 13:10:44,760 INFO L273 TraceCheckUtils]: 34: Hoare triple {5715#true} assume !(0 == ~cond); {5715#true} is VALID [2018-11-23 13:10:44,760 INFO L273 TraceCheckUtils]: 35: Hoare triple {5715#true} assume true; {5715#true} is VALID [2018-11-23 13:10:44,760 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {5715#true} {5716#false} #60#return; {5716#false} is VALID [2018-11-23 13:10:44,760 INFO L273 TraceCheckUtils]: 37: Hoare triple {5716#false} havoc #t~mem2; {5716#false} is VALID [2018-11-23 13:10:44,761 INFO L273 TraceCheckUtils]: 38: Hoare triple {5716#false} #t~post1 := ~index~0;~index~0 := 1 + #t~post1;havoc #t~post1; {5716#false} is VALID [2018-11-23 13:10:44,761 INFO L273 TraceCheckUtils]: 39: Hoare triple {5716#false} assume !!(~index~0 % 4294967296 < 1000); {5716#false} is VALID [2018-11-23 13:10:44,761 INFO L273 TraceCheckUtils]: 40: Hoare triple {5716#false} assume !(0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {5716#false} is VALID [2018-11-23 13:10:44,761 INFO L256 TraceCheckUtils]: 41: Hoare triple {5716#false} call __VERIFIER_assert((if 0 != #t~mem3 % 4294967296 then 1 else 0)); {5715#true} is VALID [2018-11-23 13:10:44,761 INFO L273 TraceCheckUtils]: 42: Hoare triple {5715#true} ~cond := #in~cond; {5715#true} is VALID [2018-11-23 13:10:44,761 INFO L273 TraceCheckUtils]: 43: Hoare triple {5715#true} assume !(0 == ~cond); {5715#true} is VALID [2018-11-23 13:10:44,762 INFO L273 TraceCheckUtils]: 44: Hoare triple {5715#true} assume true; {5715#true} is VALID [2018-11-23 13:10:44,762 INFO L268 TraceCheckUtils]: 45: Hoare quadruple {5715#true} {5716#false} #62#return; {5716#false} is VALID [2018-11-23 13:10:44,762 INFO L273 TraceCheckUtils]: 46: Hoare triple {5716#false} havoc #t~mem3; {5716#false} is VALID [2018-11-23 13:10:44,762 INFO L273 TraceCheckUtils]: 47: Hoare triple {5716#false} #t~post1 := ~index~0;~index~0 := 1 + #t~post1;havoc #t~post1; {5716#false} is VALID [2018-11-23 13:10:44,762 INFO L273 TraceCheckUtils]: 48: Hoare triple {5716#false} assume !!(~index~0 % 4294967296 < 1000); {5716#false} is VALID [2018-11-23 13:10:44,762 INFO L273 TraceCheckUtils]: 49: Hoare triple {5716#false} assume 0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296;call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {5716#false} is VALID [2018-11-23 13:10:44,763 INFO L256 TraceCheckUtils]: 50: Hoare triple {5716#false} call __VERIFIER_assert((if 0 == #t~mem2 % 4294967296 then 1 else 0)); {5716#false} is VALID [2018-11-23 13:10:44,763 INFO L273 TraceCheckUtils]: 51: Hoare triple {5716#false} ~cond := #in~cond; {5716#false} is VALID [2018-11-23 13:10:44,763 INFO L273 TraceCheckUtils]: 52: Hoare triple {5716#false} assume 0 == ~cond; {5716#false} is VALID [2018-11-23 13:10:44,763 INFO L273 TraceCheckUtils]: 53: Hoare triple {5716#false} assume !false; {5716#false} is VALID [2018-11-23 13:10:44,766 INFO L134 CoverageAnalysis]: Checked inductivity of 137 backedges. 4 proven. 121 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 13:10:44,766 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 13:10:44,766 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 11 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 11 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 13:10:44,782 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 13:10:44,813 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 13:10:44,814 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 13:10:44,825 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:10:44,826 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:10:44,949 INFO L256 TraceCheckUtils]: 0: Hoare triple {5715#true} call ULTIMATE.init(); {5715#true} is VALID [2018-11-23 13:10:44,950 INFO L273 TraceCheckUtils]: 1: Hoare triple {5715#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {5715#true} is VALID [2018-11-23 13:10:44,950 INFO L273 TraceCheckUtils]: 2: Hoare triple {5715#true} assume true; {5715#true} is VALID [2018-11-23 13:10:44,950 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5715#true} {5715#true} #56#return; {5715#true} is VALID [2018-11-23 13:10:44,950 INFO L256 TraceCheckUtils]: 4: Hoare triple {5715#true} call #t~ret4 := main(); {5715#true} is VALID [2018-11-23 13:10:44,951 INFO L273 TraceCheckUtils]: 5: Hoare triple {5715#true} call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(4000);havoc ~index~0;~index~0 := 0; {5717#(= main_~index~0 0)} is VALID [2018-11-23 13:10:44,951 INFO L273 TraceCheckUtils]: 6: Hoare triple {5717#(= main_~index~0 0)} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {5717#(= main_~index~0 0)} is VALID [2018-11-23 13:10:44,951 INFO L273 TraceCheckUtils]: 7: Hoare triple {5717#(= main_~index~0 0)} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {5718#(and (<= main_~index~0 1) (<= 1 main_~index~0))} is VALID [2018-11-23 13:10:44,952 INFO L273 TraceCheckUtils]: 8: Hoare triple {5718#(and (<= main_~index~0 1) (<= 1 main_~index~0))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {5718#(and (<= main_~index~0 1) (<= 1 main_~index~0))} is VALID [2018-11-23 13:10:44,953 INFO L273 TraceCheckUtils]: 9: Hoare triple {5718#(and (<= main_~index~0 1) (<= 1 main_~index~0))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {5719#(and (<= 2 main_~index~0) (<= main_~index~0 2))} is VALID [2018-11-23 13:10:44,953 INFO L273 TraceCheckUtils]: 10: Hoare triple {5719#(and (<= 2 main_~index~0) (<= main_~index~0 2))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {5719#(and (<= 2 main_~index~0) (<= main_~index~0 2))} is VALID [2018-11-23 13:10:44,954 INFO L273 TraceCheckUtils]: 11: Hoare triple {5719#(and (<= 2 main_~index~0) (<= main_~index~0 2))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {5720#(and (<= 3 main_~index~0) (<= main_~index~0 3))} is VALID [2018-11-23 13:10:44,954 INFO L273 TraceCheckUtils]: 12: Hoare triple {5720#(and (<= 3 main_~index~0) (<= main_~index~0 3))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {5720#(and (<= 3 main_~index~0) (<= main_~index~0 3))} is VALID [2018-11-23 13:10:44,955 INFO L273 TraceCheckUtils]: 13: Hoare triple {5720#(and (<= 3 main_~index~0) (<= main_~index~0 3))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {5721#(and (<= 4 main_~index~0) (<= main_~index~0 4))} is VALID [2018-11-23 13:10:44,956 INFO L273 TraceCheckUtils]: 14: Hoare triple {5721#(and (<= 4 main_~index~0) (<= main_~index~0 4))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {5721#(and (<= 4 main_~index~0) (<= main_~index~0 4))} is VALID [2018-11-23 13:10:44,957 INFO L273 TraceCheckUtils]: 15: Hoare triple {5721#(and (<= 4 main_~index~0) (<= main_~index~0 4))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {5722#(and (<= 5 main_~index~0) (<= main_~index~0 5))} is VALID [2018-11-23 13:10:44,958 INFO L273 TraceCheckUtils]: 16: Hoare triple {5722#(and (<= 5 main_~index~0) (<= main_~index~0 5))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {5722#(and (<= 5 main_~index~0) (<= main_~index~0 5))} is VALID [2018-11-23 13:10:44,959 INFO L273 TraceCheckUtils]: 17: Hoare triple {5722#(and (<= 5 main_~index~0) (<= main_~index~0 5))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {5723#(and (<= 6 main_~index~0) (<= main_~index~0 6))} is VALID [2018-11-23 13:10:44,959 INFO L273 TraceCheckUtils]: 18: Hoare triple {5723#(and (<= 6 main_~index~0) (<= main_~index~0 6))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {5723#(and (<= 6 main_~index~0) (<= main_~index~0 6))} is VALID [2018-11-23 13:10:44,960 INFO L273 TraceCheckUtils]: 19: Hoare triple {5723#(and (<= 6 main_~index~0) (<= main_~index~0 6))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {5724#(and (<= 7 main_~index~0) (<= main_~index~0 7))} is VALID [2018-11-23 13:10:44,961 INFO L273 TraceCheckUtils]: 20: Hoare triple {5724#(and (<= 7 main_~index~0) (<= main_~index~0 7))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {5724#(and (<= 7 main_~index~0) (<= main_~index~0 7))} is VALID [2018-11-23 13:10:44,962 INFO L273 TraceCheckUtils]: 21: Hoare triple {5724#(and (<= 7 main_~index~0) (<= main_~index~0 7))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {5725#(and (<= main_~index~0 8) (<= 8 main_~index~0))} is VALID [2018-11-23 13:10:44,963 INFO L273 TraceCheckUtils]: 22: Hoare triple {5725#(and (<= main_~index~0 8) (<= 8 main_~index~0))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {5725#(and (<= main_~index~0 8) (<= 8 main_~index~0))} is VALID [2018-11-23 13:10:44,964 INFO L273 TraceCheckUtils]: 23: Hoare triple {5725#(and (<= main_~index~0 8) (<= 8 main_~index~0))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {5726#(and (<= 9 main_~index~0) (<= main_~index~0 9))} is VALID [2018-11-23 13:10:44,965 INFO L273 TraceCheckUtils]: 24: Hoare triple {5726#(and (<= 9 main_~index~0) (<= main_~index~0 9))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {5726#(and (<= 9 main_~index~0) (<= main_~index~0 9))} is VALID [2018-11-23 13:10:44,966 INFO L273 TraceCheckUtils]: 25: Hoare triple {5726#(and (<= 9 main_~index~0) (<= main_~index~0 9))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {5727#(and (<= 10 main_~index~0) (<= main_~index~0 10))} is VALID [2018-11-23 13:10:44,967 INFO L273 TraceCheckUtils]: 26: Hoare triple {5727#(and (<= 10 main_~index~0) (<= main_~index~0 10))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {5727#(and (<= 10 main_~index~0) (<= main_~index~0 10))} is VALID [2018-11-23 13:10:44,968 INFO L273 TraceCheckUtils]: 27: Hoare triple {5727#(and (<= 10 main_~index~0) (<= main_~index~0 10))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {5813#(and (<= main_~index~0 11) (<= 11 main_~index~0))} is VALID [2018-11-23 13:10:44,968 INFO L273 TraceCheckUtils]: 28: Hoare triple {5813#(and (<= main_~index~0 11) (<= 11 main_~index~0))} assume !(~index~0 % 4294967296 < 1000); {5716#false} is VALID [2018-11-23 13:10:44,969 INFO L273 TraceCheckUtils]: 29: Hoare triple {5716#false} ~index~0 := 0; {5716#false} is VALID [2018-11-23 13:10:44,969 INFO L273 TraceCheckUtils]: 30: Hoare triple {5716#false} assume !!(~index~0 % 4294967296 < 1000); {5716#false} is VALID [2018-11-23 13:10:44,969 INFO L273 TraceCheckUtils]: 31: Hoare triple {5716#false} assume 0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296;call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {5716#false} is VALID [2018-11-23 13:10:44,969 INFO L256 TraceCheckUtils]: 32: Hoare triple {5716#false} call __VERIFIER_assert((if 0 == #t~mem2 % 4294967296 then 1 else 0)); {5716#false} is VALID [2018-11-23 13:10:44,970 INFO L273 TraceCheckUtils]: 33: Hoare triple {5716#false} ~cond := #in~cond; {5716#false} is VALID [2018-11-23 13:10:44,970 INFO L273 TraceCheckUtils]: 34: Hoare triple {5716#false} assume !(0 == ~cond); {5716#false} is VALID [2018-11-23 13:10:44,970 INFO L273 TraceCheckUtils]: 35: Hoare triple {5716#false} assume true; {5716#false} is VALID [2018-11-23 13:10:44,970 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {5716#false} {5716#false} #60#return; {5716#false} is VALID [2018-11-23 13:10:44,970 INFO L273 TraceCheckUtils]: 37: Hoare triple {5716#false} havoc #t~mem2; {5716#false} is VALID [2018-11-23 13:10:44,971 INFO L273 TraceCheckUtils]: 38: Hoare triple {5716#false} #t~post1 := ~index~0;~index~0 := 1 + #t~post1;havoc #t~post1; {5716#false} is VALID [2018-11-23 13:10:44,971 INFO L273 TraceCheckUtils]: 39: Hoare triple {5716#false} assume !!(~index~0 % 4294967296 < 1000); {5716#false} is VALID [2018-11-23 13:10:44,971 INFO L273 TraceCheckUtils]: 40: Hoare triple {5716#false} assume !(0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {5716#false} is VALID [2018-11-23 13:10:44,971 INFO L256 TraceCheckUtils]: 41: Hoare triple {5716#false} call __VERIFIER_assert((if 0 != #t~mem3 % 4294967296 then 1 else 0)); {5716#false} is VALID [2018-11-23 13:10:44,971 INFO L273 TraceCheckUtils]: 42: Hoare triple {5716#false} ~cond := #in~cond; {5716#false} is VALID [2018-11-23 13:10:44,972 INFO L273 TraceCheckUtils]: 43: Hoare triple {5716#false} assume !(0 == ~cond); {5716#false} is VALID [2018-11-23 13:10:44,972 INFO L273 TraceCheckUtils]: 44: Hoare triple {5716#false} assume true; {5716#false} is VALID [2018-11-23 13:10:44,972 INFO L268 TraceCheckUtils]: 45: Hoare quadruple {5716#false} {5716#false} #62#return; {5716#false} is VALID [2018-11-23 13:10:44,972 INFO L273 TraceCheckUtils]: 46: Hoare triple {5716#false} havoc #t~mem3; {5716#false} is VALID [2018-11-23 13:10:44,972 INFO L273 TraceCheckUtils]: 47: Hoare triple {5716#false} #t~post1 := ~index~0;~index~0 := 1 + #t~post1;havoc #t~post1; {5716#false} is VALID [2018-11-23 13:10:44,973 INFO L273 TraceCheckUtils]: 48: Hoare triple {5716#false} assume !!(~index~0 % 4294967296 < 1000); {5716#false} is VALID [2018-11-23 13:10:44,973 INFO L273 TraceCheckUtils]: 49: Hoare triple {5716#false} assume 0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296;call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {5716#false} is VALID [2018-11-23 13:10:44,973 INFO L256 TraceCheckUtils]: 50: Hoare triple {5716#false} call __VERIFIER_assert((if 0 == #t~mem2 % 4294967296 then 1 else 0)); {5716#false} is VALID [2018-11-23 13:10:44,973 INFO L273 TraceCheckUtils]: 51: Hoare triple {5716#false} ~cond := #in~cond; {5716#false} is VALID [2018-11-23 13:10:44,973 INFO L273 TraceCheckUtils]: 52: Hoare triple {5716#false} assume 0 == ~cond; {5716#false} is VALID [2018-11-23 13:10:44,973 INFO L273 TraceCheckUtils]: 53: Hoare triple {5716#false} assume !false; {5716#false} is VALID [2018-11-23 13:10:44,976 INFO L134 CoverageAnalysis]: Checked inductivity of 137 backedges. 0 proven. 121 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2018-11-23 13:10:44,997 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 13:10:44,997 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 14] total 15 [2018-11-23 13:10:44,998 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 54 [2018-11-23 13:10:44,998 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:10:44,998 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states. [2018-11-23 13:10:45,063 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:10:45,063 INFO L459 AbstractCegarLoop]: Interpolant automaton has 15 states [2018-11-23 13:10:45,064 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2018-11-23 13:10:45,064 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=171, Unknown=0, NotChecked=0, Total=210 [2018-11-23 13:10:45,064 INFO L87 Difference]: Start difference. First operand 103 states and 114 transitions. Second operand 15 states. [2018-11-23 13:10:48,502 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:10:48,502 INFO L93 Difference]: Finished difference Result 188 states and 213 transitions. [2018-11-23 13:10:48,502 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2018-11-23 13:10:48,502 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 54 [2018-11-23 13:10:48,502 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:10:48,503 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-23 13:10:48,505 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 139 transitions. [2018-11-23 13:10:48,505 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-23 13:10:48,508 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 139 transitions. [2018-11-23 13:10:48,508 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 139 transitions. [2018-11-23 13:10:49,679 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 139 edges. 139 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:10:49,683 INFO L225 Difference]: With dead ends: 188 [2018-11-23 13:10:49,683 INFO L226 Difference]: Without dead ends: 114 [2018-11-23 13:10:49,684 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 67 GetRequests, 52 SyntacticMatches, 2 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=39, Invalid=171, Unknown=0, NotChecked=0, Total=210 [2018-11-23 13:10:49,684 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 114 states. [2018-11-23 13:10:50,061 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 114 to 110. [2018-11-23 13:10:50,061 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:10:50,061 INFO L82 GeneralOperation]: Start isEquivalent. First operand 114 states. Second operand 110 states. [2018-11-23 13:10:50,062 INFO L74 IsIncluded]: Start isIncluded. First operand 114 states. Second operand 110 states. [2018-11-23 13:10:50,062 INFO L87 Difference]: Start difference. First operand 114 states. Second operand 110 states. [2018-11-23 13:10:50,066 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:10:50,067 INFO L93 Difference]: Finished difference Result 114 states and 127 transitions. [2018-11-23 13:10:50,067 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 127 transitions. [2018-11-23 13:10:50,067 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:10:50,067 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:10:50,068 INFO L74 IsIncluded]: Start isIncluded. First operand 110 states. Second operand 114 states. [2018-11-23 13:10:50,068 INFO L87 Difference]: Start difference. First operand 110 states. Second operand 114 states. [2018-11-23 13:10:50,071 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:10:50,071 INFO L93 Difference]: Finished difference Result 114 states and 127 transitions. [2018-11-23 13:10:50,071 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 127 transitions. [2018-11-23 13:10:50,071 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:10:50,072 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:10:50,072 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:10:50,072 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:10:50,072 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 110 states. [2018-11-23 13:10:50,075 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 110 states to 110 states and 122 transitions. [2018-11-23 13:10:50,075 INFO L78 Accepts]: Start accepts. Automaton has 110 states and 122 transitions. Word has length 54 [2018-11-23 13:10:50,075 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:10:50,075 INFO L480 AbstractCegarLoop]: Abstraction has 110 states and 122 transitions. [2018-11-23 13:10:50,075 INFO L481 AbstractCegarLoop]: Interpolant automaton has 15 states. [2018-11-23 13:10:50,075 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 122 transitions. [2018-11-23 13:10:50,076 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2018-11-23 13:10:50,076 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:10:50,076 INFO L402 BasicCegarLoop]: trace histogram [12, 12, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:10:50,076 INFO L423 AbstractCegarLoop]: === Iteration 13 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:10:50,077 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:10:50,077 INFO L82 PathProgramCache]: Analyzing trace with hash -1438853889, now seen corresponding path program 9 times [2018-11-23 13:10:50,077 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:10:50,077 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:10:50,078 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:10:50,078 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 13:10:50,078 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:10:50,106 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:10:50,401 INFO L256 TraceCheckUtils]: 0: Hoare triple {6537#true} call ULTIMATE.init(); {6537#true} is VALID [2018-11-23 13:10:50,401 INFO L273 TraceCheckUtils]: 1: Hoare triple {6537#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {6537#true} is VALID [2018-11-23 13:10:50,402 INFO L273 TraceCheckUtils]: 2: Hoare triple {6537#true} assume true; {6537#true} is VALID [2018-11-23 13:10:50,402 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6537#true} {6537#true} #56#return; {6537#true} is VALID [2018-11-23 13:10:50,402 INFO L256 TraceCheckUtils]: 4: Hoare triple {6537#true} call #t~ret4 := main(); {6537#true} is VALID [2018-11-23 13:10:50,402 INFO L273 TraceCheckUtils]: 5: Hoare triple {6537#true} call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(4000);havoc ~index~0;~index~0 := 0; {6539#(= main_~index~0 0)} is VALID [2018-11-23 13:10:50,403 INFO L273 TraceCheckUtils]: 6: Hoare triple {6539#(= main_~index~0 0)} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {6539#(= main_~index~0 0)} is VALID [2018-11-23 13:10:50,403 INFO L273 TraceCheckUtils]: 7: Hoare triple {6539#(= main_~index~0 0)} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {6540#(and (<= main_~index~0 1) (<= 1 main_~index~0))} is VALID [2018-11-23 13:10:50,404 INFO L273 TraceCheckUtils]: 8: Hoare triple {6540#(and (<= main_~index~0 1) (<= 1 main_~index~0))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {6540#(and (<= main_~index~0 1) (<= 1 main_~index~0))} is VALID [2018-11-23 13:10:50,405 INFO L273 TraceCheckUtils]: 9: Hoare triple {6540#(and (<= main_~index~0 1) (<= 1 main_~index~0))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {6541#(and (<= 2 main_~index~0) (<= main_~index~0 2))} is VALID [2018-11-23 13:10:50,406 INFO L273 TraceCheckUtils]: 10: Hoare triple {6541#(and (<= 2 main_~index~0) (<= main_~index~0 2))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {6541#(and (<= 2 main_~index~0) (<= main_~index~0 2))} is VALID [2018-11-23 13:10:50,407 INFO L273 TraceCheckUtils]: 11: Hoare triple {6541#(and (<= 2 main_~index~0) (<= main_~index~0 2))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {6542#(and (<= 3 main_~index~0) (<= main_~index~0 3))} is VALID [2018-11-23 13:10:50,408 INFO L273 TraceCheckUtils]: 12: Hoare triple {6542#(and (<= 3 main_~index~0) (<= main_~index~0 3))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {6542#(and (<= 3 main_~index~0) (<= main_~index~0 3))} is VALID [2018-11-23 13:10:50,409 INFO L273 TraceCheckUtils]: 13: Hoare triple {6542#(and (<= 3 main_~index~0) (<= main_~index~0 3))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {6543#(and (<= 4 main_~index~0) (<= main_~index~0 4))} is VALID [2018-11-23 13:10:50,410 INFO L273 TraceCheckUtils]: 14: Hoare triple {6543#(and (<= 4 main_~index~0) (<= main_~index~0 4))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {6543#(and (<= 4 main_~index~0) (<= main_~index~0 4))} is VALID [2018-11-23 13:10:50,411 INFO L273 TraceCheckUtils]: 15: Hoare triple {6543#(and (<= 4 main_~index~0) (<= main_~index~0 4))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {6544#(and (<= 5 main_~index~0) (<= main_~index~0 5))} is VALID [2018-11-23 13:10:50,411 INFO L273 TraceCheckUtils]: 16: Hoare triple {6544#(and (<= 5 main_~index~0) (<= main_~index~0 5))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {6544#(and (<= 5 main_~index~0) (<= main_~index~0 5))} is VALID [2018-11-23 13:10:50,412 INFO L273 TraceCheckUtils]: 17: Hoare triple {6544#(and (<= 5 main_~index~0) (<= main_~index~0 5))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {6545#(and (<= 6 main_~index~0) (<= main_~index~0 6))} is VALID [2018-11-23 13:10:50,413 INFO L273 TraceCheckUtils]: 18: Hoare triple {6545#(and (<= 6 main_~index~0) (<= main_~index~0 6))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {6545#(and (<= 6 main_~index~0) (<= main_~index~0 6))} is VALID [2018-11-23 13:10:50,413 INFO L273 TraceCheckUtils]: 19: Hoare triple {6545#(and (<= 6 main_~index~0) (<= main_~index~0 6))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {6546#(and (<= 7 main_~index~0) (<= main_~index~0 7))} is VALID [2018-11-23 13:10:50,414 INFO L273 TraceCheckUtils]: 20: Hoare triple {6546#(and (<= 7 main_~index~0) (<= main_~index~0 7))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {6546#(and (<= 7 main_~index~0) (<= main_~index~0 7))} is VALID [2018-11-23 13:10:50,415 INFO L273 TraceCheckUtils]: 21: Hoare triple {6546#(and (<= 7 main_~index~0) (<= main_~index~0 7))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {6547#(and (<= main_~index~0 8) (<= 8 main_~index~0))} is VALID [2018-11-23 13:10:50,416 INFO L273 TraceCheckUtils]: 22: Hoare triple {6547#(and (<= main_~index~0 8) (<= 8 main_~index~0))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {6547#(and (<= main_~index~0 8) (<= 8 main_~index~0))} is VALID [2018-11-23 13:10:50,417 INFO L273 TraceCheckUtils]: 23: Hoare triple {6547#(and (<= main_~index~0 8) (<= 8 main_~index~0))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {6548#(and (<= 9 main_~index~0) (<= main_~index~0 9))} is VALID [2018-11-23 13:10:50,418 INFO L273 TraceCheckUtils]: 24: Hoare triple {6548#(and (<= 9 main_~index~0) (<= main_~index~0 9))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {6548#(and (<= 9 main_~index~0) (<= main_~index~0 9))} is VALID [2018-11-23 13:10:50,419 INFO L273 TraceCheckUtils]: 25: Hoare triple {6548#(and (<= 9 main_~index~0) (<= main_~index~0 9))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {6549#(and (<= 10 main_~index~0) (<= main_~index~0 10))} is VALID [2018-11-23 13:10:50,420 INFO L273 TraceCheckUtils]: 26: Hoare triple {6549#(and (<= 10 main_~index~0) (<= main_~index~0 10))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {6549#(and (<= 10 main_~index~0) (<= main_~index~0 10))} is VALID [2018-11-23 13:10:50,420 INFO L273 TraceCheckUtils]: 27: Hoare triple {6549#(and (<= 10 main_~index~0) (<= main_~index~0 10))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {6550#(and (<= main_~index~0 11) (<= 11 main_~index~0))} is VALID [2018-11-23 13:10:50,421 INFO L273 TraceCheckUtils]: 28: Hoare triple {6550#(and (<= main_~index~0 11) (<= 11 main_~index~0))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {6550#(and (<= main_~index~0 11) (<= 11 main_~index~0))} is VALID [2018-11-23 13:10:50,422 INFO L273 TraceCheckUtils]: 29: Hoare triple {6550#(and (<= main_~index~0 11) (<= 11 main_~index~0))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {6551#(and (<= main_~index~0 12) (< 0 (+ (div main_~index~0 4294967296) 1)))} is VALID [2018-11-23 13:10:50,423 INFO L273 TraceCheckUtils]: 30: Hoare triple {6551#(and (<= main_~index~0 12) (< 0 (+ (div main_~index~0 4294967296) 1)))} assume !(~index~0 % 4294967296 < 1000); {6538#false} is VALID [2018-11-23 13:10:50,424 INFO L273 TraceCheckUtils]: 31: Hoare triple {6538#false} ~index~0 := 0; {6538#false} is VALID [2018-11-23 13:10:50,424 INFO L273 TraceCheckUtils]: 32: Hoare triple {6538#false} assume !!(~index~0 % 4294967296 < 1000); {6538#false} is VALID [2018-11-23 13:10:50,424 INFO L273 TraceCheckUtils]: 33: Hoare triple {6538#false} assume 0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296;call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {6538#false} is VALID [2018-11-23 13:10:50,424 INFO L256 TraceCheckUtils]: 34: Hoare triple {6538#false} call __VERIFIER_assert((if 0 == #t~mem2 % 4294967296 then 1 else 0)); {6537#true} is VALID [2018-11-23 13:10:50,424 INFO L273 TraceCheckUtils]: 35: Hoare triple {6537#true} ~cond := #in~cond; {6537#true} is VALID [2018-11-23 13:10:50,425 INFO L273 TraceCheckUtils]: 36: Hoare triple {6537#true} assume !(0 == ~cond); {6537#true} is VALID [2018-11-23 13:10:50,425 INFO L273 TraceCheckUtils]: 37: Hoare triple {6537#true} assume true; {6537#true} is VALID [2018-11-23 13:10:50,425 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {6537#true} {6538#false} #60#return; {6538#false} is VALID [2018-11-23 13:10:50,425 INFO L273 TraceCheckUtils]: 39: Hoare triple {6538#false} havoc #t~mem2; {6538#false} is VALID [2018-11-23 13:10:50,425 INFO L273 TraceCheckUtils]: 40: Hoare triple {6538#false} #t~post1 := ~index~0;~index~0 := 1 + #t~post1;havoc #t~post1; {6538#false} is VALID [2018-11-23 13:10:50,426 INFO L273 TraceCheckUtils]: 41: Hoare triple {6538#false} assume !!(~index~0 % 4294967296 < 1000); {6538#false} is VALID [2018-11-23 13:10:50,426 INFO L273 TraceCheckUtils]: 42: Hoare triple {6538#false} assume !(0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {6538#false} is VALID [2018-11-23 13:10:50,426 INFO L256 TraceCheckUtils]: 43: Hoare triple {6538#false} call __VERIFIER_assert((if 0 != #t~mem3 % 4294967296 then 1 else 0)); {6537#true} is VALID [2018-11-23 13:10:50,426 INFO L273 TraceCheckUtils]: 44: Hoare triple {6537#true} ~cond := #in~cond; {6537#true} is VALID [2018-11-23 13:10:50,426 INFO L273 TraceCheckUtils]: 45: Hoare triple {6537#true} assume !(0 == ~cond); {6537#true} is VALID [2018-11-23 13:10:50,427 INFO L273 TraceCheckUtils]: 46: Hoare triple {6537#true} assume true; {6537#true} is VALID [2018-11-23 13:10:50,427 INFO L268 TraceCheckUtils]: 47: Hoare quadruple {6537#true} {6538#false} #62#return; {6538#false} is VALID [2018-11-23 13:10:50,427 INFO L273 TraceCheckUtils]: 48: Hoare triple {6538#false} havoc #t~mem3; {6538#false} is VALID [2018-11-23 13:10:50,427 INFO L273 TraceCheckUtils]: 49: Hoare triple {6538#false} #t~post1 := ~index~0;~index~0 := 1 + #t~post1;havoc #t~post1; {6538#false} is VALID [2018-11-23 13:10:50,427 INFO L273 TraceCheckUtils]: 50: Hoare triple {6538#false} assume !!(~index~0 % 4294967296 < 1000); {6538#false} is VALID [2018-11-23 13:10:50,428 INFO L273 TraceCheckUtils]: 51: Hoare triple {6538#false} assume 0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296;call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {6538#false} is VALID [2018-11-23 13:10:50,428 INFO L256 TraceCheckUtils]: 52: Hoare triple {6538#false} call __VERIFIER_assert((if 0 == #t~mem2 % 4294967296 then 1 else 0)); {6538#false} is VALID [2018-11-23 13:10:50,428 INFO L273 TraceCheckUtils]: 53: Hoare triple {6538#false} ~cond := #in~cond; {6538#false} is VALID [2018-11-23 13:10:50,428 INFO L273 TraceCheckUtils]: 54: Hoare triple {6538#false} assume 0 == ~cond; {6538#false} is VALID [2018-11-23 13:10:50,428 INFO L273 TraceCheckUtils]: 55: Hoare triple {6538#false} assume !false; {6538#false} is VALID [2018-11-23 13:10:50,431 INFO L134 CoverageAnalysis]: Checked inductivity of 160 backedges. 4 proven. 144 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 13:10:50,431 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 13:10:50,431 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 12 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 12 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 13:10:50,440 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 13:10:51,560 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 13 check-sat command(s) [2018-11-23 13:10:51,561 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 13:10:51,577 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:10:51,579 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:10:51,709 INFO L256 TraceCheckUtils]: 0: Hoare triple {6537#true} call ULTIMATE.init(); {6537#true} is VALID [2018-11-23 13:10:51,709 INFO L273 TraceCheckUtils]: 1: Hoare triple {6537#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {6537#true} is VALID [2018-11-23 13:10:51,709 INFO L273 TraceCheckUtils]: 2: Hoare triple {6537#true} assume true; {6537#true} is VALID [2018-11-23 13:10:51,709 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6537#true} {6537#true} #56#return; {6537#true} is VALID [2018-11-23 13:10:51,710 INFO L256 TraceCheckUtils]: 4: Hoare triple {6537#true} call #t~ret4 := main(); {6537#true} is VALID [2018-11-23 13:10:51,710 INFO L273 TraceCheckUtils]: 5: Hoare triple {6537#true} call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(4000);havoc ~index~0;~index~0 := 0; {6539#(= main_~index~0 0)} is VALID [2018-11-23 13:10:51,711 INFO L273 TraceCheckUtils]: 6: Hoare triple {6539#(= main_~index~0 0)} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {6539#(= main_~index~0 0)} is VALID [2018-11-23 13:10:51,711 INFO L273 TraceCheckUtils]: 7: Hoare triple {6539#(= main_~index~0 0)} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {6540#(and (<= main_~index~0 1) (<= 1 main_~index~0))} is VALID [2018-11-23 13:10:51,712 INFO L273 TraceCheckUtils]: 8: Hoare triple {6540#(and (<= main_~index~0 1) (<= 1 main_~index~0))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {6540#(and (<= main_~index~0 1) (<= 1 main_~index~0))} is VALID [2018-11-23 13:10:51,712 INFO L273 TraceCheckUtils]: 9: Hoare triple {6540#(and (<= main_~index~0 1) (<= 1 main_~index~0))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {6541#(and (<= 2 main_~index~0) (<= main_~index~0 2))} is VALID [2018-11-23 13:10:51,713 INFO L273 TraceCheckUtils]: 10: Hoare triple {6541#(and (<= 2 main_~index~0) (<= main_~index~0 2))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {6541#(and (<= 2 main_~index~0) (<= main_~index~0 2))} is VALID [2018-11-23 13:10:51,714 INFO L273 TraceCheckUtils]: 11: Hoare triple {6541#(and (<= 2 main_~index~0) (<= main_~index~0 2))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {6542#(and (<= 3 main_~index~0) (<= main_~index~0 3))} is VALID [2018-11-23 13:10:51,715 INFO L273 TraceCheckUtils]: 12: Hoare triple {6542#(and (<= 3 main_~index~0) (<= main_~index~0 3))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {6542#(and (<= 3 main_~index~0) (<= main_~index~0 3))} is VALID [2018-11-23 13:10:51,716 INFO L273 TraceCheckUtils]: 13: Hoare triple {6542#(and (<= 3 main_~index~0) (<= main_~index~0 3))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {6543#(and (<= 4 main_~index~0) (<= main_~index~0 4))} is VALID [2018-11-23 13:10:51,717 INFO L273 TraceCheckUtils]: 14: Hoare triple {6543#(and (<= 4 main_~index~0) (<= main_~index~0 4))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {6543#(and (<= 4 main_~index~0) (<= main_~index~0 4))} is VALID [2018-11-23 13:10:51,718 INFO L273 TraceCheckUtils]: 15: Hoare triple {6543#(and (<= 4 main_~index~0) (<= main_~index~0 4))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {6544#(and (<= 5 main_~index~0) (<= main_~index~0 5))} is VALID [2018-11-23 13:10:51,718 INFO L273 TraceCheckUtils]: 16: Hoare triple {6544#(and (<= 5 main_~index~0) (<= main_~index~0 5))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {6544#(and (<= 5 main_~index~0) (<= main_~index~0 5))} is VALID [2018-11-23 13:10:51,719 INFO L273 TraceCheckUtils]: 17: Hoare triple {6544#(and (<= 5 main_~index~0) (<= main_~index~0 5))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {6545#(and (<= 6 main_~index~0) (<= main_~index~0 6))} is VALID [2018-11-23 13:10:51,720 INFO L273 TraceCheckUtils]: 18: Hoare triple {6545#(and (<= 6 main_~index~0) (<= main_~index~0 6))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {6545#(and (<= 6 main_~index~0) (<= main_~index~0 6))} is VALID [2018-11-23 13:10:51,721 INFO L273 TraceCheckUtils]: 19: Hoare triple {6545#(and (<= 6 main_~index~0) (<= main_~index~0 6))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {6546#(and (<= 7 main_~index~0) (<= main_~index~0 7))} is VALID [2018-11-23 13:10:51,722 INFO L273 TraceCheckUtils]: 20: Hoare triple {6546#(and (<= 7 main_~index~0) (<= main_~index~0 7))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {6546#(and (<= 7 main_~index~0) (<= main_~index~0 7))} is VALID [2018-11-23 13:10:51,723 INFO L273 TraceCheckUtils]: 21: Hoare triple {6546#(and (<= 7 main_~index~0) (<= main_~index~0 7))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {6547#(and (<= main_~index~0 8) (<= 8 main_~index~0))} is VALID [2018-11-23 13:10:51,724 INFO L273 TraceCheckUtils]: 22: Hoare triple {6547#(and (<= main_~index~0 8) (<= 8 main_~index~0))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {6547#(and (<= main_~index~0 8) (<= 8 main_~index~0))} is VALID [2018-11-23 13:10:51,725 INFO L273 TraceCheckUtils]: 23: Hoare triple {6547#(and (<= main_~index~0 8) (<= 8 main_~index~0))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {6548#(and (<= 9 main_~index~0) (<= main_~index~0 9))} is VALID [2018-11-23 13:10:51,726 INFO L273 TraceCheckUtils]: 24: Hoare triple {6548#(and (<= 9 main_~index~0) (<= main_~index~0 9))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {6548#(and (<= 9 main_~index~0) (<= main_~index~0 9))} is VALID [2018-11-23 13:10:51,727 INFO L273 TraceCheckUtils]: 25: Hoare triple {6548#(and (<= 9 main_~index~0) (<= main_~index~0 9))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {6549#(and (<= 10 main_~index~0) (<= main_~index~0 10))} is VALID [2018-11-23 13:10:51,727 INFO L273 TraceCheckUtils]: 26: Hoare triple {6549#(and (<= 10 main_~index~0) (<= main_~index~0 10))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {6549#(and (<= 10 main_~index~0) (<= main_~index~0 10))} is VALID [2018-11-23 13:10:51,728 INFO L273 TraceCheckUtils]: 27: Hoare triple {6549#(and (<= 10 main_~index~0) (<= main_~index~0 10))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {6550#(and (<= main_~index~0 11) (<= 11 main_~index~0))} is VALID [2018-11-23 13:10:51,729 INFO L273 TraceCheckUtils]: 28: Hoare triple {6550#(and (<= main_~index~0 11) (<= 11 main_~index~0))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {6550#(and (<= main_~index~0 11) (<= 11 main_~index~0))} is VALID [2018-11-23 13:10:51,730 INFO L273 TraceCheckUtils]: 29: Hoare triple {6550#(and (<= main_~index~0 11) (<= 11 main_~index~0))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {6642#(and (<= main_~index~0 12) (<= 12 main_~index~0))} is VALID [2018-11-23 13:10:51,731 INFO L273 TraceCheckUtils]: 30: Hoare triple {6642#(and (<= main_~index~0 12) (<= 12 main_~index~0))} assume !(~index~0 % 4294967296 < 1000); {6538#false} is VALID [2018-11-23 13:10:51,731 INFO L273 TraceCheckUtils]: 31: Hoare triple {6538#false} ~index~0 := 0; {6538#false} is VALID [2018-11-23 13:10:51,731 INFO L273 TraceCheckUtils]: 32: Hoare triple {6538#false} assume !!(~index~0 % 4294967296 < 1000); {6538#false} is VALID [2018-11-23 13:10:51,732 INFO L273 TraceCheckUtils]: 33: Hoare triple {6538#false} assume 0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296;call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {6538#false} is VALID [2018-11-23 13:10:51,732 INFO L256 TraceCheckUtils]: 34: Hoare triple {6538#false} call __VERIFIER_assert((if 0 == #t~mem2 % 4294967296 then 1 else 0)); {6538#false} is VALID [2018-11-23 13:10:51,732 INFO L273 TraceCheckUtils]: 35: Hoare triple {6538#false} ~cond := #in~cond; {6538#false} is VALID [2018-11-23 13:10:51,732 INFO L273 TraceCheckUtils]: 36: Hoare triple {6538#false} assume !(0 == ~cond); {6538#false} is VALID [2018-11-23 13:10:51,732 INFO L273 TraceCheckUtils]: 37: Hoare triple {6538#false} assume true; {6538#false} is VALID [2018-11-23 13:10:51,733 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {6538#false} {6538#false} #60#return; {6538#false} is VALID [2018-11-23 13:10:51,733 INFO L273 TraceCheckUtils]: 39: Hoare triple {6538#false} havoc #t~mem2; {6538#false} is VALID [2018-11-23 13:10:51,733 INFO L273 TraceCheckUtils]: 40: Hoare triple {6538#false} #t~post1 := ~index~0;~index~0 := 1 + #t~post1;havoc #t~post1; {6538#false} is VALID [2018-11-23 13:10:51,733 INFO L273 TraceCheckUtils]: 41: Hoare triple {6538#false} assume !!(~index~0 % 4294967296 < 1000); {6538#false} is VALID [2018-11-23 13:10:51,734 INFO L273 TraceCheckUtils]: 42: Hoare triple {6538#false} assume !(0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {6538#false} is VALID [2018-11-23 13:10:51,734 INFO L256 TraceCheckUtils]: 43: Hoare triple {6538#false} call __VERIFIER_assert((if 0 != #t~mem3 % 4294967296 then 1 else 0)); {6538#false} is VALID [2018-11-23 13:10:51,734 INFO L273 TraceCheckUtils]: 44: Hoare triple {6538#false} ~cond := #in~cond; {6538#false} is VALID [2018-11-23 13:10:51,734 INFO L273 TraceCheckUtils]: 45: Hoare triple {6538#false} assume !(0 == ~cond); {6538#false} is VALID [2018-11-23 13:10:51,734 INFO L273 TraceCheckUtils]: 46: Hoare triple {6538#false} assume true; {6538#false} is VALID [2018-11-23 13:10:51,734 INFO L268 TraceCheckUtils]: 47: Hoare quadruple {6538#false} {6538#false} #62#return; {6538#false} is VALID [2018-11-23 13:10:51,734 INFO L273 TraceCheckUtils]: 48: Hoare triple {6538#false} havoc #t~mem3; {6538#false} is VALID [2018-11-23 13:10:51,735 INFO L273 TraceCheckUtils]: 49: Hoare triple {6538#false} #t~post1 := ~index~0;~index~0 := 1 + #t~post1;havoc #t~post1; {6538#false} is VALID [2018-11-23 13:10:51,735 INFO L273 TraceCheckUtils]: 50: Hoare triple {6538#false} assume !!(~index~0 % 4294967296 < 1000); {6538#false} is VALID [2018-11-23 13:10:51,735 INFO L273 TraceCheckUtils]: 51: Hoare triple {6538#false} assume 0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296;call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {6538#false} is VALID [2018-11-23 13:10:51,735 INFO L256 TraceCheckUtils]: 52: Hoare triple {6538#false} call __VERIFIER_assert((if 0 == #t~mem2 % 4294967296 then 1 else 0)); {6538#false} is VALID [2018-11-23 13:10:51,735 INFO L273 TraceCheckUtils]: 53: Hoare triple {6538#false} ~cond := #in~cond; {6538#false} is VALID [2018-11-23 13:10:51,735 INFO L273 TraceCheckUtils]: 54: Hoare triple {6538#false} assume 0 == ~cond; {6538#false} is VALID [2018-11-23 13:10:51,735 INFO L273 TraceCheckUtils]: 55: Hoare triple {6538#false} assume !false; {6538#false} is VALID [2018-11-23 13:10:51,738 INFO L134 CoverageAnalysis]: Checked inductivity of 160 backedges. 0 proven. 144 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2018-11-23 13:10:51,757 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 13:10:51,757 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 15] total 16 [2018-11-23 13:10:51,757 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 56 [2018-11-23 13:10:51,758 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:10:51,758 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states. [2018-11-23 13:10:51,817 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:10:51,817 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2018-11-23 13:10:51,817 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2018-11-23 13:10:51,817 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=198, Unknown=0, NotChecked=0, Total=240 [2018-11-23 13:10:51,818 INFO L87 Difference]: Start difference. First operand 110 states and 122 transitions. Second operand 16 states. [2018-11-23 13:10:55,708 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:10:55,708 INFO L93 Difference]: Finished difference Result 200 states and 227 transitions. [2018-11-23 13:10:55,709 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2018-11-23 13:10:55,709 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 56 [2018-11-23 13:10:55,709 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:10:55,709 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 13:10:55,711 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 147 transitions. [2018-11-23 13:10:55,712 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 13:10:55,714 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 147 transitions. [2018-11-23 13:10:55,714 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 147 transitions. [2018-11-23 13:10:56,372 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 147 edges. 147 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:10:56,375 INFO L225 Difference]: With dead ends: 200 [2018-11-23 13:10:56,376 INFO L226 Difference]: Without dead ends: 121 [2018-11-23 13:10:56,376 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 70 GetRequests, 54 SyntacticMatches, 2 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=42, Invalid=198, Unknown=0, NotChecked=0, Total=240 [2018-11-23 13:10:56,377 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 121 states. [2018-11-23 13:10:56,731 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 121 to 117. [2018-11-23 13:10:56,732 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:10:56,732 INFO L82 GeneralOperation]: Start isEquivalent. First operand 121 states. Second operand 117 states. [2018-11-23 13:10:56,732 INFO L74 IsIncluded]: Start isIncluded. First operand 121 states. Second operand 117 states. [2018-11-23 13:10:56,732 INFO L87 Difference]: Start difference. First operand 121 states. Second operand 117 states. [2018-11-23 13:10:56,736 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:10:56,736 INFO L93 Difference]: Finished difference Result 121 states and 135 transitions. [2018-11-23 13:10:56,737 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 135 transitions. [2018-11-23 13:10:56,737 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:10:56,737 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:10:56,738 INFO L74 IsIncluded]: Start isIncluded. First operand 117 states. Second operand 121 states. [2018-11-23 13:10:56,738 INFO L87 Difference]: Start difference. First operand 117 states. Second operand 121 states. [2018-11-23 13:10:56,741 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:10:56,741 INFO L93 Difference]: Finished difference Result 121 states and 135 transitions. [2018-11-23 13:10:56,741 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 135 transitions. [2018-11-23 13:10:56,742 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:10:56,742 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:10:56,742 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:10:56,742 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:10:56,743 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 117 states. [2018-11-23 13:10:56,745 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 117 states to 117 states and 130 transitions. [2018-11-23 13:10:56,746 INFO L78 Accepts]: Start accepts. Automaton has 117 states and 130 transitions. Word has length 56 [2018-11-23 13:10:56,746 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:10:56,746 INFO L480 AbstractCegarLoop]: Abstraction has 117 states and 130 transitions. [2018-11-23 13:10:56,746 INFO L481 AbstractCegarLoop]: Interpolant automaton has 16 states. [2018-11-23 13:10:56,746 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 130 transitions. [2018-11-23 13:10:56,747 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2018-11-23 13:10:56,747 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:10:56,747 INFO L402 BasicCegarLoop]: trace histogram [13, 13, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:10:56,747 INFO L423 AbstractCegarLoop]: === Iteration 14 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:10:56,748 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:10:56,748 INFO L82 PathProgramCache]: Analyzing trace with hash -86854943, now seen corresponding path program 10 times [2018-11-23 13:10:56,748 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:10:56,748 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:10:56,749 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:10:56,749 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 13:10:56,749 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:10:56,781 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:10:58,008 INFO L256 TraceCheckUtils]: 0: Hoare triple {7407#true} call ULTIMATE.init(); {7407#true} is VALID [2018-11-23 13:10:58,009 INFO L273 TraceCheckUtils]: 1: Hoare triple {7407#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {7407#true} is VALID [2018-11-23 13:10:58,009 INFO L273 TraceCheckUtils]: 2: Hoare triple {7407#true} assume true; {7407#true} is VALID [2018-11-23 13:10:58,009 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7407#true} {7407#true} #56#return; {7407#true} is VALID [2018-11-23 13:10:58,010 INFO L256 TraceCheckUtils]: 4: Hoare triple {7407#true} call #t~ret4 := main(); {7407#true} is VALID [2018-11-23 13:10:58,010 INFO L273 TraceCheckUtils]: 5: Hoare triple {7407#true} call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(4000);havoc ~index~0;~index~0 := 0; {7409#(= main_~index~0 0)} is VALID [2018-11-23 13:10:58,011 INFO L273 TraceCheckUtils]: 6: Hoare triple {7409#(= main_~index~0 0)} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {7409#(= main_~index~0 0)} is VALID [2018-11-23 13:10:58,011 INFO L273 TraceCheckUtils]: 7: Hoare triple {7409#(= main_~index~0 0)} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {7410#(and (<= main_~index~0 1) (<= 1 main_~index~0))} is VALID [2018-11-23 13:10:58,012 INFO L273 TraceCheckUtils]: 8: Hoare triple {7410#(and (<= main_~index~0 1) (<= 1 main_~index~0))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {7410#(and (<= main_~index~0 1) (<= 1 main_~index~0))} is VALID [2018-11-23 13:10:58,013 INFO L273 TraceCheckUtils]: 9: Hoare triple {7410#(and (<= main_~index~0 1) (<= 1 main_~index~0))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {7411#(and (<= 2 main_~index~0) (<= main_~index~0 2))} is VALID [2018-11-23 13:10:58,013 INFO L273 TraceCheckUtils]: 10: Hoare triple {7411#(and (<= 2 main_~index~0) (<= main_~index~0 2))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {7411#(and (<= 2 main_~index~0) (<= main_~index~0 2))} is VALID [2018-11-23 13:10:58,014 INFO L273 TraceCheckUtils]: 11: Hoare triple {7411#(and (<= 2 main_~index~0) (<= main_~index~0 2))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {7412#(and (<= 3 main_~index~0) (<= main_~index~0 3))} is VALID [2018-11-23 13:10:58,015 INFO L273 TraceCheckUtils]: 12: Hoare triple {7412#(and (<= 3 main_~index~0) (<= main_~index~0 3))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {7412#(and (<= 3 main_~index~0) (<= main_~index~0 3))} is VALID [2018-11-23 13:10:58,015 INFO L273 TraceCheckUtils]: 13: Hoare triple {7412#(and (<= 3 main_~index~0) (<= main_~index~0 3))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {7413#(and (<= 4 main_~index~0) (<= main_~index~0 4))} is VALID [2018-11-23 13:10:58,016 INFO L273 TraceCheckUtils]: 14: Hoare triple {7413#(and (<= 4 main_~index~0) (<= main_~index~0 4))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {7413#(and (<= 4 main_~index~0) (<= main_~index~0 4))} is VALID [2018-11-23 13:10:58,017 INFO L273 TraceCheckUtils]: 15: Hoare triple {7413#(and (<= 4 main_~index~0) (<= main_~index~0 4))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {7414#(and (<= 5 main_~index~0) (<= main_~index~0 5))} is VALID [2018-11-23 13:10:58,018 INFO L273 TraceCheckUtils]: 16: Hoare triple {7414#(and (<= 5 main_~index~0) (<= main_~index~0 5))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {7414#(and (<= 5 main_~index~0) (<= main_~index~0 5))} is VALID [2018-11-23 13:10:58,019 INFO L273 TraceCheckUtils]: 17: Hoare triple {7414#(and (<= 5 main_~index~0) (<= main_~index~0 5))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {7415#(and (<= 6 main_~index~0) (<= main_~index~0 6))} is VALID [2018-11-23 13:10:58,020 INFO L273 TraceCheckUtils]: 18: Hoare triple {7415#(and (<= 6 main_~index~0) (<= main_~index~0 6))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {7415#(and (<= 6 main_~index~0) (<= main_~index~0 6))} is VALID [2018-11-23 13:10:58,021 INFO L273 TraceCheckUtils]: 19: Hoare triple {7415#(and (<= 6 main_~index~0) (<= main_~index~0 6))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {7416#(and (<= 7 main_~index~0) (<= main_~index~0 7))} is VALID [2018-11-23 13:10:58,022 INFO L273 TraceCheckUtils]: 20: Hoare triple {7416#(and (<= 7 main_~index~0) (<= main_~index~0 7))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {7416#(and (<= 7 main_~index~0) (<= main_~index~0 7))} is VALID [2018-11-23 13:10:58,023 INFO L273 TraceCheckUtils]: 21: Hoare triple {7416#(and (<= 7 main_~index~0) (<= main_~index~0 7))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {7417#(and (<= main_~index~0 8) (<= 8 main_~index~0))} is VALID [2018-11-23 13:10:58,024 INFO L273 TraceCheckUtils]: 22: Hoare triple {7417#(and (<= main_~index~0 8) (<= 8 main_~index~0))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {7417#(and (<= main_~index~0 8) (<= 8 main_~index~0))} is VALID [2018-11-23 13:10:58,024 INFO L273 TraceCheckUtils]: 23: Hoare triple {7417#(and (<= main_~index~0 8) (<= 8 main_~index~0))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {7418#(and (<= 9 main_~index~0) (<= main_~index~0 9))} is VALID [2018-11-23 13:10:58,025 INFO L273 TraceCheckUtils]: 24: Hoare triple {7418#(and (<= 9 main_~index~0) (<= main_~index~0 9))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {7418#(and (<= 9 main_~index~0) (<= main_~index~0 9))} is VALID [2018-11-23 13:10:58,026 INFO L273 TraceCheckUtils]: 25: Hoare triple {7418#(and (<= 9 main_~index~0) (<= main_~index~0 9))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {7419#(and (<= 10 main_~index~0) (<= main_~index~0 10))} is VALID [2018-11-23 13:10:58,027 INFO L273 TraceCheckUtils]: 26: Hoare triple {7419#(and (<= 10 main_~index~0) (<= main_~index~0 10))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {7419#(and (<= 10 main_~index~0) (<= main_~index~0 10))} is VALID [2018-11-23 13:10:58,028 INFO L273 TraceCheckUtils]: 27: Hoare triple {7419#(and (<= 10 main_~index~0) (<= main_~index~0 10))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {7420#(and (<= main_~index~0 11) (<= 11 main_~index~0))} is VALID [2018-11-23 13:10:58,029 INFO L273 TraceCheckUtils]: 28: Hoare triple {7420#(and (<= main_~index~0 11) (<= 11 main_~index~0))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {7420#(and (<= main_~index~0 11) (<= 11 main_~index~0))} is VALID [2018-11-23 13:10:58,030 INFO L273 TraceCheckUtils]: 29: Hoare triple {7420#(and (<= main_~index~0 11) (<= 11 main_~index~0))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {7421#(and (<= main_~index~0 12) (<= 12 main_~index~0))} is VALID [2018-11-23 13:10:58,031 INFO L273 TraceCheckUtils]: 30: Hoare triple {7421#(and (<= main_~index~0 12) (<= 12 main_~index~0))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {7421#(and (<= main_~index~0 12) (<= 12 main_~index~0))} is VALID [2018-11-23 13:10:58,032 INFO L273 TraceCheckUtils]: 31: Hoare triple {7421#(and (<= main_~index~0 12) (<= 12 main_~index~0))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {7422#(and (< 0 (+ (div main_~index~0 4294967296) 1)) (<= main_~index~0 13))} is VALID [2018-11-23 13:10:58,033 INFO L273 TraceCheckUtils]: 32: Hoare triple {7422#(and (< 0 (+ (div main_~index~0 4294967296) 1)) (<= main_~index~0 13))} assume !(~index~0 % 4294967296 < 1000); {7408#false} is VALID [2018-11-23 13:10:58,033 INFO L273 TraceCheckUtils]: 33: Hoare triple {7408#false} ~index~0 := 0; {7408#false} is VALID [2018-11-23 13:10:58,033 INFO L273 TraceCheckUtils]: 34: Hoare triple {7408#false} assume !!(~index~0 % 4294967296 < 1000); {7408#false} is VALID [2018-11-23 13:10:58,033 INFO L273 TraceCheckUtils]: 35: Hoare triple {7408#false} assume 0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296;call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {7408#false} is VALID [2018-11-23 13:10:58,034 INFO L256 TraceCheckUtils]: 36: Hoare triple {7408#false} call __VERIFIER_assert((if 0 == #t~mem2 % 4294967296 then 1 else 0)); {7407#true} is VALID [2018-11-23 13:10:58,034 INFO L273 TraceCheckUtils]: 37: Hoare triple {7407#true} ~cond := #in~cond; {7407#true} is VALID [2018-11-23 13:10:58,034 INFO L273 TraceCheckUtils]: 38: Hoare triple {7407#true} assume !(0 == ~cond); {7407#true} is VALID [2018-11-23 13:10:58,034 INFO L273 TraceCheckUtils]: 39: Hoare triple {7407#true} assume true; {7407#true} is VALID [2018-11-23 13:10:58,034 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {7407#true} {7408#false} #60#return; {7408#false} is VALID [2018-11-23 13:10:58,035 INFO L273 TraceCheckUtils]: 41: Hoare triple {7408#false} havoc #t~mem2; {7408#false} is VALID [2018-11-23 13:10:58,035 INFO L273 TraceCheckUtils]: 42: Hoare triple {7408#false} #t~post1 := ~index~0;~index~0 := 1 + #t~post1;havoc #t~post1; {7408#false} is VALID [2018-11-23 13:10:58,035 INFO L273 TraceCheckUtils]: 43: Hoare triple {7408#false} assume !!(~index~0 % 4294967296 < 1000); {7408#false} is VALID [2018-11-23 13:10:58,035 INFO L273 TraceCheckUtils]: 44: Hoare triple {7408#false} assume !(0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {7408#false} is VALID [2018-11-23 13:10:58,035 INFO L256 TraceCheckUtils]: 45: Hoare triple {7408#false} call __VERIFIER_assert((if 0 != #t~mem3 % 4294967296 then 1 else 0)); {7407#true} is VALID [2018-11-23 13:10:58,036 INFO L273 TraceCheckUtils]: 46: Hoare triple {7407#true} ~cond := #in~cond; {7407#true} is VALID [2018-11-23 13:10:58,036 INFO L273 TraceCheckUtils]: 47: Hoare triple {7407#true} assume !(0 == ~cond); {7407#true} is VALID [2018-11-23 13:10:58,036 INFO L273 TraceCheckUtils]: 48: Hoare triple {7407#true} assume true; {7407#true} is VALID [2018-11-23 13:10:58,036 INFO L268 TraceCheckUtils]: 49: Hoare quadruple {7407#true} {7408#false} #62#return; {7408#false} is VALID [2018-11-23 13:10:58,036 INFO L273 TraceCheckUtils]: 50: Hoare triple {7408#false} havoc #t~mem3; {7408#false} is VALID [2018-11-23 13:10:58,037 INFO L273 TraceCheckUtils]: 51: Hoare triple {7408#false} #t~post1 := ~index~0;~index~0 := 1 + #t~post1;havoc #t~post1; {7408#false} is VALID [2018-11-23 13:10:58,037 INFO L273 TraceCheckUtils]: 52: Hoare triple {7408#false} assume !!(~index~0 % 4294967296 < 1000); {7408#false} is VALID [2018-11-23 13:10:58,037 INFO L273 TraceCheckUtils]: 53: Hoare triple {7408#false} assume 0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296;call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {7408#false} is VALID [2018-11-23 13:10:58,037 INFO L256 TraceCheckUtils]: 54: Hoare triple {7408#false} call __VERIFIER_assert((if 0 == #t~mem2 % 4294967296 then 1 else 0)); {7408#false} is VALID [2018-11-23 13:10:58,038 INFO L273 TraceCheckUtils]: 55: Hoare triple {7408#false} ~cond := #in~cond; {7408#false} is VALID [2018-11-23 13:10:58,038 INFO L273 TraceCheckUtils]: 56: Hoare triple {7408#false} assume 0 == ~cond; {7408#false} is VALID [2018-11-23 13:10:58,038 INFO L273 TraceCheckUtils]: 57: Hoare triple {7408#false} assume !false; {7408#false} is VALID [2018-11-23 13:10:58,041 INFO L134 CoverageAnalysis]: Checked inductivity of 185 backedges. 4 proven. 169 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 13:10:58,041 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 13:10:58,041 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 13 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 13 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 13:10:58,049 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 13:10:58,079 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 13:10:58,079 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 13:10:58,090 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:10:58,092 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:10:58,305 INFO L256 TraceCheckUtils]: 0: Hoare triple {7407#true} call ULTIMATE.init(); {7407#true} is VALID [2018-11-23 13:10:58,305 INFO L273 TraceCheckUtils]: 1: Hoare triple {7407#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {7407#true} is VALID [2018-11-23 13:10:58,305 INFO L273 TraceCheckUtils]: 2: Hoare triple {7407#true} assume true; {7407#true} is VALID [2018-11-23 13:10:58,305 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7407#true} {7407#true} #56#return; {7407#true} is VALID [2018-11-23 13:10:58,305 INFO L256 TraceCheckUtils]: 4: Hoare triple {7407#true} call #t~ret4 := main(); {7407#true} is VALID [2018-11-23 13:10:58,306 INFO L273 TraceCheckUtils]: 5: Hoare triple {7407#true} call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(4000);havoc ~index~0;~index~0 := 0; {7409#(= main_~index~0 0)} is VALID [2018-11-23 13:10:58,306 INFO L273 TraceCheckUtils]: 6: Hoare triple {7409#(= main_~index~0 0)} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {7409#(= main_~index~0 0)} is VALID [2018-11-23 13:10:58,307 INFO L273 TraceCheckUtils]: 7: Hoare triple {7409#(= main_~index~0 0)} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {7410#(and (<= main_~index~0 1) (<= 1 main_~index~0))} is VALID [2018-11-23 13:10:58,308 INFO L273 TraceCheckUtils]: 8: Hoare triple {7410#(and (<= main_~index~0 1) (<= 1 main_~index~0))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {7410#(and (<= main_~index~0 1) (<= 1 main_~index~0))} is VALID [2018-11-23 13:10:58,309 INFO L273 TraceCheckUtils]: 9: Hoare triple {7410#(and (<= main_~index~0 1) (<= 1 main_~index~0))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {7411#(and (<= 2 main_~index~0) (<= main_~index~0 2))} is VALID [2018-11-23 13:10:58,310 INFO L273 TraceCheckUtils]: 10: Hoare triple {7411#(and (<= 2 main_~index~0) (<= main_~index~0 2))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {7411#(and (<= 2 main_~index~0) (<= main_~index~0 2))} is VALID [2018-11-23 13:10:58,311 INFO L273 TraceCheckUtils]: 11: Hoare triple {7411#(and (<= 2 main_~index~0) (<= main_~index~0 2))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {7412#(and (<= 3 main_~index~0) (<= main_~index~0 3))} is VALID [2018-11-23 13:10:58,312 INFO L273 TraceCheckUtils]: 12: Hoare triple {7412#(and (<= 3 main_~index~0) (<= main_~index~0 3))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {7412#(and (<= 3 main_~index~0) (<= main_~index~0 3))} is VALID [2018-11-23 13:10:58,313 INFO L273 TraceCheckUtils]: 13: Hoare triple {7412#(and (<= 3 main_~index~0) (<= main_~index~0 3))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {7413#(and (<= 4 main_~index~0) (<= main_~index~0 4))} is VALID [2018-11-23 13:10:58,314 INFO L273 TraceCheckUtils]: 14: Hoare triple {7413#(and (<= 4 main_~index~0) (<= main_~index~0 4))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {7413#(and (<= 4 main_~index~0) (<= main_~index~0 4))} is VALID [2018-11-23 13:10:58,315 INFO L273 TraceCheckUtils]: 15: Hoare triple {7413#(and (<= 4 main_~index~0) (<= main_~index~0 4))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {7414#(and (<= 5 main_~index~0) (<= main_~index~0 5))} is VALID [2018-11-23 13:10:58,316 INFO L273 TraceCheckUtils]: 16: Hoare triple {7414#(and (<= 5 main_~index~0) (<= main_~index~0 5))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {7414#(and (<= 5 main_~index~0) (<= main_~index~0 5))} is VALID [2018-11-23 13:10:58,316 INFO L273 TraceCheckUtils]: 17: Hoare triple {7414#(and (<= 5 main_~index~0) (<= main_~index~0 5))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {7415#(and (<= 6 main_~index~0) (<= main_~index~0 6))} is VALID [2018-11-23 13:10:58,317 INFO L273 TraceCheckUtils]: 18: Hoare triple {7415#(and (<= 6 main_~index~0) (<= main_~index~0 6))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {7415#(and (<= 6 main_~index~0) (<= main_~index~0 6))} is VALID [2018-11-23 13:10:58,318 INFO L273 TraceCheckUtils]: 19: Hoare triple {7415#(and (<= 6 main_~index~0) (<= main_~index~0 6))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {7416#(and (<= 7 main_~index~0) (<= main_~index~0 7))} is VALID [2018-11-23 13:10:58,319 INFO L273 TraceCheckUtils]: 20: Hoare triple {7416#(and (<= 7 main_~index~0) (<= main_~index~0 7))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {7416#(and (<= 7 main_~index~0) (<= main_~index~0 7))} is VALID [2018-11-23 13:10:58,320 INFO L273 TraceCheckUtils]: 21: Hoare triple {7416#(and (<= 7 main_~index~0) (<= main_~index~0 7))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {7417#(and (<= main_~index~0 8) (<= 8 main_~index~0))} is VALID [2018-11-23 13:10:58,321 INFO L273 TraceCheckUtils]: 22: Hoare triple {7417#(and (<= main_~index~0 8) (<= 8 main_~index~0))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {7417#(and (<= main_~index~0 8) (<= 8 main_~index~0))} is VALID [2018-11-23 13:10:58,322 INFO L273 TraceCheckUtils]: 23: Hoare triple {7417#(and (<= main_~index~0 8) (<= 8 main_~index~0))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {7418#(and (<= 9 main_~index~0) (<= main_~index~0 9))} is VALID [2018-11-23 13:10:58,323 INFO L273 TraceCheckUtils]: 24: Hoare triple {7418#(and (<= 9 main_~index~0) (<= main_~index~0 9))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {7418#(and (<= 9 main_~index~0) (<= main_~index~0 9))} is VALID [2018-11-23 13:10:58,324 INFO L273 TraceCheckUtils]: 25: Hoare triple {7418#(and (<= 9 main_~index~0) (<= main_~index~0 9))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {7419#(and (<= 10 main_~index~0) (<= main_~index~0 10))} is VALID [2018-11-23 13:10:58,325 INFO L273 TraceCheckUtils]: 26: Hoare triple {7419#(and (<= 10 main_~index~0) (<= main_~index~0 10))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {7419#(and (<= 10 main_~index~0) (<= main_~index~0 10))} is VALID [2018-11-23 13:10:58,325 INFO L273 TraceCheckUtils]: 27: Hoare triple {7419#(and (<= 10 main_~index~0) (<= main_~index~0 10))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {7420#(and (<= main_~index~0 11) (<= 11 main_~index~0))} is VALID [2018-11-23 13:10:58,326 INFO L273 TraceCheckUtils]: 28: Hoare triple {7420#(and (<= main_~index~0 11) (<= 11 main_~index~0))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {7420#(and (<= main_~index~0 11) (<= 11 main_~index~0))} is VALID [2018-11-23 13:10:58,327 INFO L273 TraceCheckUtils]: 29: Hoare triple {7420#(and (<= main_~index~0 11) (<= 11 main_~index~0))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {7421#(and (<= main_~index~0 12) (<= 12 main_~index~0))} is VALID [2018-11-23 13:10:58,328 INFO L273 TraceCheckUtils]: 30: Hoare triple {7421#(and (<= main_~index~0 12) (<= 12 main_~index~0))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {7421#(and (<= main_~index~0 12) (<= 12 main_~index~0))} is VALID [2018-11-23 13:10:58,329 INFO L273 TraceCheckUtils]: 31: Hoare triple {7421#(and (<= main_~index~0 12) (<= 12 main_~index~0))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {7519#(and (<= 13 main_~index~0) (<= main_~index~0 13))} is VALID [2018-11-23 13:10:58,330 INFO L273 TraceCheckUtils]: 32: Hoare triple {7519#(and (<= 13 main_~index~0) (<= main_~index~0 13))} assume !(~index~0 % 4294967296 < 1000); {7408#false} is VALID [2018-11-23 13:10:58,330 INFO L273 TraceCheckUtils]: 33: Hoare triple {7408#false} ~index~0 := 0; {7408#false} is VALID [2018-11-23 13:10:58,330 INFO L273 TraceCheckUtils]: 34: Hoare triple {7408#false} assume !!(~index~0 % 4294967296 < 1000); {7408#false} is VALID [2018-11-23 13:10:58,331 INFO L273 TraceCheckUtils]: 35: Hoare triple {7408#false} assume 0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296;call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {7408#false} is VALID [2018-11-23 13:10:58,331 INFO L256 TraceCheckUtils]: 36: Hoare triple {7408#false} call __VERIFIER_assert((if 0 == #t~mem2 % 4294967296 then 1 else 0)); {7408#false} is VALID [2018-11-23 13:10:58,331 INFO L273 TraceCheckUtils]: 37: Hoare triple {7408#false} ~cond := #in~cond; {7408#false} is VALID [2018-11-23 13:10:58,331 INFO L273 TraceCheckUtils]: 38: Hoare triple {7408#false} assume !(0 == ~cond); {7408#false} is VALID [2018-11-23 13:10:58,331 INFO L273 TraceCheckUtils]: 39: Hoare triple {7408#false} assume true; {7408#false} is VALID [2018-11-23 13:10:58,332 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {7408#false} {7408#false} #60#return; {7408#false} is VALID [2018-11-23 13:10:58,332 INFO L273 TraceCheckUtils]: 41: Hoare triple {7408#false} havoc #t~mem2; {7408#false} is VALID [2018-11-23 13:10:58,332 INFO L273 TraceCheckUtils]: 42: Hoare triple {7408#false} #t~post1 := ~index~0;~index~0 := 1 + #t~post1;havoc #t~post1; {7408#false} is VALID [2018-11-23 13:10:58,332 INFO L273 TraceCheckUtils]: 43: Hoare triple {7408#false} assume !!(~index~0 % 4294967296 < 1000); {7408#false} is VALID [2018-11-23 13:10:58,332 INFO L273 TraceCheckUtils]: 44: Hoare triple {7408#false} assume !(0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {7408#false} is VALID [2018-11-23 13:10:58,333 INFO L256 TraceCheckUtils]: 45: Hoare triple {7408#false} call __VERIFIER_assert((if 0 != #t~mem3 % 4294967296 then 1 else 0)); {7408#false} is VALID [2018-11-23 13:10:58,333 INFO L273 TraceCheckUtils]: 46: Hoare triple {7408#false} ~cond := #in~cond; {7408#false} is VALID [2018-11-23 13:10:58,333 INFO L273 TraceCheckUtils]: 47: Hoare triple {7408#false} assume !(0 == ~cond); {7408#false} is VALID [2018-11-23 13:10:58,333 INFO L273 TraceCheckUtils]: 48: Hoare triple {7408#false} assume true; {7408#false} is VALID [2018-11-23 13:10:58,333 INFO L268 TraceCheckUtils]: 49: Hoare quadruple {7408#false} {7408#false} #62#return; {7408#false} is VALID [2018-11-23 13:10:58,334 INFO L273 TraceCheckUtils]: 50: Hoare triple {7408#false} havoc #t~mem3; {7408#false} is VALID [2018-11-23 13:10:58,334 INFO L273 TraceCheckUtils]: 51: Hoare triple {7408#false} #t~post1 := ~index~0;~index~0 := 1 + #t~post1;havoc #t~post1; {7408#false} is VALID [2018-11-23 13:10:58,334 INFO L273 TraceCheckUtils]: 52: Hoare triple {7408#false} assume !!(~index~0 % 4294967296 < 1000); {7408#false} is VALID [2018-11-23 13:10:58,334 INFO L273 TraceCheckUtils]: 53: Hoare triple {7408#false} assume 0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296;call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {7408#false} is VALID [2018-11-23 13:10:58,334 INFO L256 TraceCheckUtils]: 54: Hoare triple {7408#false} call __VERIFIER_assert((if 0 == #t~mem2 % 4294967296 then 1 else 0)); {7408#false} is VALID [2018-11-23 13:10:58,335 INFO L273 TraceCheckUtils]: 55: Hoare triple {7408#false} ~cond := #in~cond; {7408#false} is VALID [2018-11-23 13:10:58,335 INFO L273 TraceCheckUtils]: 56: Hoare triple {7408#false} assume 0 == ~cond; {7408#false} is VALID [2018-11-23 13:10:58,335 INFO L273 TraceCheckUtils]: 57: Hoare triple {7408#false} assume !false; {7408#false} is VALID [2018-11-23 13:10:58,338 INFO L134 CoverageAnalysis]: Checked inductivity of 185 backedges. 0 proven. 169 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2018-11-23 13:10:58,357 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 13:10:58,357 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 16] total 17 [2018-11-23 13:10:58,357 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 58 [2018-11-23 13:10:58,358 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:10:58,358 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states. [2018-11-23 13:10:58,421 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:10:58,422 INFO L459 AbstractCegarLoop]: Interpolant automaton has 17 states [2018-11-23 13:10:58,422 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2018-11-23 13:10:58,422 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=227, Unknown=0, NotChecked=0, Total=272 [2018-11-23 13:10:58,423 INFO L87 Difference]: Start difference. First operand 117 states and 130 transitions. Second operand 17 states. [2018-11-23 13:11:02,687 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:11:02,688 INFO L93 Difference]: Finished difference Result 212 states and 241 transitions. [2018-11-23 13:11:02,688 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2018-11-23 13:11:02,688 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 58 [2018-11-23 13:11:02,688 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:11:02,688 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-11-23 13:11:02,691 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 155 transitions. [2018-11-23 13:11:02,691 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-11-23 13:11:02,693 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 155 transitions. [2018-11-23 13:11:02,694 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 155 transitions. [2018-11-23 13:11:03,507 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 155 edges. 155 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:11:03,510 INFO L225 Difference]: With dead ends: 212 [2018-11-23 13:11:03,510 INFO L226 Difference]: Without dead ends: 128 [2018-11-23 13:11:03,511 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 73 GetRequests, 56 SyntacticMatches, 2 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=45, Invalid=227, Unknown=0, NotChecked=0, Total=272 [2018-11-23 13:11:03,511 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 128 states. [2018-11-23 13:11:03,897 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 128 to 124. [2018-11-23 13:11:03,898 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:11:03,898 INFO L82 GeneralOperation]: Start isEquivalent. First operand 128 states. Second operand 124 states. [2018-11-23 13:11:03,898 INFO L74 IsIncluded]: Start isIncluded. First operand 128 states. Second operand 124 states. [2018-11-23 13:11:03,898 INFO L87 Difference]: Start difference. First operand 128 states. Second operand 124 states. [2018-11-23 13:11:03,902 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:11:03,902 INFO L93 Difference]: Finished difference Result 128 states and 143 transitions. [2018-11-23 13:11:03,902 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 143 transitions. [2018-11-23 13:11:03,903 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:11:03,903 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:11:03,903 INFO L74 IsIncluded]: Start isIncluded. First operand 124 states. Second operand 128 states. [2018-11-23 13:11:03,904 INFO L87 Difference]: Start difference. First operand 124 states. Second operand 128 states. [2018-11-23 13:11:03,907 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:11:03,907 INFO L93 Difference]: Finished difference Result 128 states and 143 transitions. [2018-11-23 13:11:03,908 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 143 transitions. [2018-11-23 13:11:03,908 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:11:03,908 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:11:03,908 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:11:03,909 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:11:03,909 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 124 states. [2018-11-23 13:11:03,912 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 124 states to 124 states and 138 transitions. [2018-11-23 13:11:03,912 INFO L78 Accepts]: Start accepts. Automaton has 124 states and 138 transitions. Word has length 58 [2018-11-23 13:11:03,913 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:11:03,913 INFO L480 AbstractCegarLoop]: Abstraction has 124 states and 138 transitions. [2018-11-23 13:11:03,913 INFO L481 AbstractCegarLoop]: Interpolant automaton has 17 states. [2018-11-23 13:11:03,913 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 138 transitions. [2018-11-23 13:11:03,913 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 61 [2018-11-23 13:11:03,914 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:11:03,914 INFO L402 BasicCegarLoop]: trace histogram [14, 14, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:11:03,914 INFO L423 AbstractCegarLoop]: === Iteration 15 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:11:03,914 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:11:03,914 INFO L82 PathProgramCache]: Analyzing trace with hash 2104008771, now seen corresponding path program 11 times [2018-11-23 13:11:03,915 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:11:03,915 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:11:03,915 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:11:03,916 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 13:11:03,916 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:11:03,952 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:11:04,646 INFO L256 TraceCheckUtils]: 0: Hoare triple {8325#true} call ULTIMATE.init(); {8325#true} is VALID [2018-11-23 13:11:04,646 INFO L273 TraceCheckUtils]: 1: Hoare triple {8325#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {8325#true} is VALID [2018-11-23 13:11:04,646 INFO L273 TraceCheckUtils]: 2: Hoare triple {8325#true} assume true; {8325#true} is VALID [2018-11-23 13:11:04,646 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {8325#true} {8325#true} #56#return; {8325#true} is VALID [2018-11-23 13:11:04,646 INFO L256 TraceCheckUtils]: 4: Hoare triple {8325#true} call #t~ret4 := main(); {8325#true} is VALID [2018-11-23 13:11:04,647 INFO L273 TraceCheckUtils]: 5: Hoare triple {8325#true} call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(4000);havoc ~index~0;~index~0 := 0; {8327#(= main_~index~0 0)} is VALID [2018-11-23 13:11:04,647 INFO L273 TraceCheckUtils]: 6: Hoare triple {8327#(= main_~index~0 0)} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {8327#(= main_~index~0 0)} is VALID [2018-11-23 13:11:04,647 INFO L273 TraceCheckUtils]: 7: Hoare triple {8327#(= main_~index~0 0)} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {8328#(and (<= main_~index~0 1) (<= 1 main_~index~0))} is VALID [2018-11-23 13:11:04,648 INFO L273 TraceCheckUtils]: 8: Hoare triple {8328#(and (<= main_~index~0 1) (<= 1 main_~index~0))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {8328#(and (<= main_~index~0 1) (<= 1 main_~index~0))} is VALID [2018-11-23 13:11:04,649 INFO L273 TraceCheckUtils]: 9: Hoare triple {8328#(and (<= main_~index~0 1) (<= 1 main_~index~0))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {8329#(and (<= 2 main_~index~0) (<= main_~index~0 2))} is VALID [2018-11-23 13:11:04,649 INFO L273 TraceCheckUtils]: 10: Hoare triple {8329#(and (<= 2 main_~index~0) (<= main_~index~0 2))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {8329#(and (<= 2 main_~index~0) (<= main_~index~0 2))} is VALID [2018-11-23 13:11:04,650 INFO L273 TraceCheckUtils]: 11: Hoare triple {8329#(and (<= 2 main_~index~0) (<= main_~index~0 2))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {8330#(and (<= 3 main_~index~0) (<= main_~index~0 3))} is VALID [2018-11-23 13:11:04,651 INFO L273 TraceCheckUtils]: 12: Hoare triple {8330#(and (<= 3 main_~index~0) (<= main_~index~0 3))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {8330#(and (<= 3 main_~index~0) (<= main_~index~0 3))} is VALID [2018-11-23 13:11:04,652 INFO L273 TraceCheckUtils]: 13: Hoare triple {8330#(and (<= 3 main_~index~0) (<= main_~index~0 3))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {8331#(and (<= 4 main_~index~0) (<= main_~index~0 4))} is VALID [2018-11-23 13:11:04,653 INFO L273 TraceCheckUtils]: 14: Hoare triple {8331#(and (<= 4 main_~index~0) (<= main_~index~0 4))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {8331#(and (<= 4 main_~index~0) (<= main_~index~0 4))} is VALID [2018-11-23 13:11:04,653 INFO L273 TraceCheckUtils]: 15: Hoare triple {8331#(and (<= 4 main_~index~0) (<= main_~index~0 4))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {8332#(and (<= 5 main_~index~0) (<= main_~index~0 5))} is VALID [2018-11-23 13:11:04,654 INFO L273 TraceCheckUtils]: 16: Hoare triple {8332#(and (<= 5 main_~index~0) (<= main_~index~0 5))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {8332#(and (<= 5 main_~index~0) (<= main_~index~0 5))} is VALID [2018-11-23 13:11:04,655 INFO L273 TraceCheckUtils]: 17: Hoare triple {8332#(and (<= 5 main_~index~0) (<= main_~index~0 5))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {8333#(and (<= 6 main_~index~0) (<= main_~index~0 6))} is VALID [2018-11-23 13:11:04,656 INFO L273 TraceCheckUtils]: 18: Hoare triple {8333#(and (<= 6 main_~index~0) (<= main_~index~0 6))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {8333#(and (<= 6 main_~index~0) (<= main_~index~0 6))} is VALID [2018-11-23 13:11:04,657 INFO L273 TraceCheckUtils]: 19: Hoare triple {8333#(and (<= 6 main_~index~0) (<= main_~index~0 6))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {8334#(and (<= 7 main_~index~0) (<= main_~index~0 7))} is VALID [2018-11-23 13:11:04,658 INFO L273 TraceCheckUtils]: 20: Hoare triple {8334#(and (<= 7 main_~index~0) (<= main_~index~0 7))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {8334#(and (<= 7 main_~index~0) (<= main_~index~0 7))} is VALID [2018-11-23 13:11:04,659 INFO L273 TraceCheckUtils]: 21: Hoare triple {8334#(and (<= 7 main_~index~0) (<= main_~index~0 7))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {8335#(and (<= main_~index~0 8) (<= 8 main_~index~0))} is VALID [2018-11-23 13:11:04,660 INFO L273 TraceCheckUtils]: 22: Hoare triple {8335#(and (<= main_~index~0 8) (<= 8 main_~index~0))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {8335#(and (<= main_~index~0 8) (<= 8 main_~index~0))} is VALID [2018-11-23 13:11:04,661 INFO L273 TraceCheckUtils]: 23: Hoare triple {8335#(and (<= main_~index~0 8) (<= 8 main_~index~0))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {8336#(and (<= 9 main_~index~0) (<= main_~index~0 9))} is VALID [2018-11-23 13:11:04,662 INFO L273 TraceCheckUtils]: 24: Hoare triple {8336#(and (<= 9 main_~index~0) (<= main_~index~0 9))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {8336#(and (<= 9 main_~index~0) (<= main_~index~0 9))} is VALID [2018-11-23 13:11:04,663 INFO L273 TraceCheckUtils]: 25: Hoare triple {8336#(and (<= 9 main_~index~0) (<= main_~index~0 9))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {8337#(and (<= 10 main_~index~0) (<= main_~index~0 10))} is VALID [2018-11-23 13:11:04,663 INFO L273 TraceCheckUtils]: 26: Hoare triple {8337#(and (<= 10 main_~index~0) (<= main_~index~0 10))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {8337#(and (<= 10 main_~index~0) (<= main_~index~0 10))} is VALID [2018-11-23 13:11:04,664 INFO L273 TraceCheckUtils]: 27: Hoare triple {8337#(and (<= 10 main_~index~0) (<= main_~index~0 10))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {8338#(and (<= main_~index~0 11) (<= 11 main_~index~0))} is VALID [2018-11-23 13:11:04,665 INFO L273 TraceCheckUtils]: 28: Hoare triple {8338#(and (<= main_~index~0 11) (<= 11 main_~index~0))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {8338#(and (<= main_~index~0 11) (<= 11 main_~index~0))} is VALID [2018-11-23 13:11:04,666 INFO L273 TraceCheckUtils]: 29: Hoare triple {8338#(and (<= main_~index~0 11) (<= 11 main_~index~0))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {8339#(and (<= main_~index~0 12) (<= 12 main_~index~0))} is VALID [2018-11-23 13:11:04,667 INFO L273 TraceCheckUtils]: 30: Hoare triple {8339#(and (<= main_~index~0 12) (<= 12 main_~index~0))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {8339#(and (<= main_~index~0 12) (<= 12 main_~index~0))} is VALID [2018-11-23 13:11:04,668 INFO L273 TraceCheckUtils]: 31: Hoare triple {8339#(and (<= main_~index~0 12) (<= 12 main_~index~0))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {8340#(and (<= 13 main_~index~0) (<= main_~index~0 13))} is VALID [2018-11-23 13:11:04,669 INFO L273 TraceCheckUtils]: 32: Hoare triple {8340#(and (<= 13 main_~index~0) (<= main_~index~0 13))} assume !!(~index~0 % 4294967296 < 1000);call write~int((if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2), ~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {8340#(and (<= 13 main_~index~0) (<= main_~index~0 13))} is VALID [2018-11-23 13:11:04,670 INFO L273 TraceCheckUtils]: 33: Hoare triple {8340#(and (<= 13 main_~index~0) (<= main_~index~0 13))} #t~post0 := ~index~0;~index~0 := 1 + #t~post0;havoc #t~post0; {8341#(and (<= main_~index~0 14) (< 0 (+ (div main_~index~0 4294967296) 1)))} is VALID [2018-11-23 13:11:04,671 INFO L273 TraceCheckUtils]: 34: Hoare triple {8341#(and (<= main_~index~0 14) (< 0 (+ (div main_~index~0 4294967296) 1)))} assume !(~index~0 % 4294967296 < 1000); {8326#false} is VALID [2018-11-23 13:11:04,671 INFO L273 TraceCheckUtils]: 35: Hoare triple {8326#false} ~index~0 := 0; {8326#false} is VALID [2018-11-23 13:11:04,671 INFO L273 TraceCheckUtils]: 36: Hoare triple {8326#false} assume !!(~index~0 % 4294967296 < 1000); {8326#false} is VALID [2018-11-23 13:11:04,671 INFO L273 TraceCheckUtils]: 37: Hoare triple {8326#false} assume 0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296;call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {8326#false} is VALID [2018-11-23 13:11:04,672 INFO L256 TraceCheckUtils]: 38: Hoare triple {8326#false} call __VERIFIER_assert((if 0 == #t~mem2 % 4294967296 then 1 else 0)); {8325#true} is VALID [2018-11-23 13:11:04,672 INFO L273 TraceCheckUtils]: 39: Hoare triple {8325#true} ~cond := #in~cond; {8325#true} is VALID [2018-11-23 13:11:04,672 INFO L273 TraceCheckUtils]: 40: Hoare triple {8325#true} assume !(0 == ~cond); {8325#true} is VALID [2018-11-23 13:11:04,672 INFO L273 TraceCheckUtils]: 41: Hoare triple {8325#true} assume true; {8325#true} is VALID [2018-11-23 13:11:04,673 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {8325#true} {8326#false} #60#return; {8326#false} is VALID [2018-11-23 13:11:04,673 INFO L273 TraceCheckUtils]: 43: Hoare triple {8326#false} havoc #t~mem2; {8326#false} is VALID [2018-11-23 13:11:04,673 INFO L273 TraceCheckUtils]: 44: Hoare triple {8326#false} #t~post1 := ~index~0;~index~0 := 1 + #t~post1;havoc #t~post1; {8326#false} is VALID [2018-11-23 13:11:04,673 INFO L273 TraceCheckUtils]: 45: Hoare triple {8326#false} assume !!(~index~0 % 4294967296 < 1000); {8326#false} is VALID [2018-11-23 13:11:04,673 INFO L273 TraceCheckUtils]: 46: Hoare triple {8326#false} assume !(0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {8326#false} is VALID [2018-11-23 13:11:04,674 INFO L256 TraceCheckUtils]: 47: Hoare triple {8326#false} call __VERIFIER_assert((if 0 != #t~mem3 % 4294967296 then 1 else 0)); {8325#true} is VALID [2018-11-23 13:11:04,674 INFO L273 TraceCheckUtils]: 48: Hoare triple {8325#true} ~cond := #in~cond; {8325#true} is VALID [2018-11-23 13:11:04,674 INFO L273 TraceCheckUtils]: 49: Hoare triple {8325#true} assume !(0 == ~cond); {8325#true} is VALID [2018-11-23 13:11:04,674 INFO L273 TraceCheckUtils]: 50: Hoare triple {8325#true} assume true; {8325#true} is VALID [2018-11-23 13:11:04,674 INFO L268 TraceCheckUtils]: 51: Hoare quadruple {8325#true} {8326#false} #62#return; {8326#false} is VALID [2018-11-23 13:11:04,674 INFO L273 TraceCheckUtils]: 52: Hoare triple {8326#false} havoc #t~mem3; {8326#false} is VALID [2018-11-23 13:11:04,674 INFO L273 TraceCheckUtils]: 53: Hoare triple {8326#false} #t~post1 := ~index~0;~index~0 := 1 + #t~post1;havoc #t~post1; {8326#false} is VALID [2018-11-23 13:11:04,674 INFO L273 TraceCheckUtils]: 54: Hoare triple {8326#false} assume !!(~index~0 % 4294967296 < 1000); {8326#false} is VALID [2018-11-23 13:11:04,674 INFO L273 TraceCheckUtils]: 55: Hoare triple {8326#false} assume 0 == (if ~index~0 % 4294967296 < 0 && 0 != ~index~0 % 4294967296 % 2 then ~index~0 % 4294967296 % 2 - 2 else ~index~0 % 4294967296 % 2) % 4294967296;call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * (if ~index~0 % 4294967296 % 4294967296 <= 2147483647 then ~index~0 % 4294967296 % 4294967296 else ~index~0 % 4294967296 % 4294967296 - 4294967296), 4); {8326#false} is VALID [2018-11-23 13:11:04,675 INFO L256 TraceCheckUtils]: 56: Hoare triple {8326#false} call __VERIFIER_assert((if 0 == #t~mem2 % 4294967296 then 1 else 0)); {8326#false} is VALID [2018-11-23 13:11:04,675 INFO L273 TraceCheckUtils]: 57: Hoare triple {8326#false} ~cond := #in~cond; {8326#false} is VALID [2018-11-23 13:11:04,675 INFO L273 TraceCheckUtils]: 58: Hoare triple {8326#false} assume 0 == ~cond; {8326#false} is VALID [2018-11-23 13:11:04,675 INFO L273 TraceCheckUtils]: 59: Hoare triple {8326#false} assume !false; {8326#false} is VALID [2018-11-23 13:11:04,678 INFO L134 CoverageAnalysis]: Checked inductivity of 212 backedges. 4 proven. 196 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 13:11:04,678 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 13:11:04,678 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 14 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 14 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 13:11:04,689 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1