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/AutomizerC.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default-Const.epf -i ../../../trunk/examples/svcomp/ldv-regression/test24_false-unreach-call.c -------------------------------------------------------------------------------- This is Ultimate 0.1.23-370d6ab [2018-11-14 19:10:40,745 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-14 19:10:40,748 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-14 19:10:40,763 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-14 19:10:40,763 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-14 19:10:40,764 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-14 19:10:40,766 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-14 19:10:40,769 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-14 19:10:40,771 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-14 19:10:40,773 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-14 19:10:40,774 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-14 19:10:40,774 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-14 19:10:40,776 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-14 19:10:40,777 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-14 19:10:40,780 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-14 19:10:40,786 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-14 19:10:40,787 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-14 19:10:40,792 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-14 19:10:40,795 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-14 19:10:40,797 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-14 19:10:40,798 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-14 19:10:40,798 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-14 19:10:40,804 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-14 19:10:40,804 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-14 19:10:40,804 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-14 19:10:40,805 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-14 19:10:40,806 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-14 19:10:40,808 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-14 19:10:40,809 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-14 19:10:40,811 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-14 19:10:40,812 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-14 19:10:40,812 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-14 19:10:40,813 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-14 19:10:40,813 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-14 19:10:40,814 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-14 19:10:40,814 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-14 19:10:40,816 INFO L98 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default-Const.epf [2018-11-14 19:10:40,841 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-14 19:10:40,841 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-14 19:10:40,842 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-14 19:10:40,843 INFO L133 SettingsManager]: * to procedures, called more than once=true [2018-11-14 19:10:40,843 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-14 19:10:40,843 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-14 19:10:40,844 INFO L133 SettingsManager]: * Use SBE=true [2018-11-14 19:10:40,844 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-14 19:10:40,844 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-14 19:10:40,844 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-14 19:10:40,847 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-14 19:10:40,847 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-14 19:10:40,847 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-14 19:10:40,848 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-14 19:10:40,848 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-14 19:10:40,848 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-14 19:10:40,848 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-14 19:10:40,848 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-14 19:10:40,848 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-14 19:10:40,849 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-14 19:10:40,849 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-14 19:10:40,849 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-14 19:10:40,849 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-14 19:10:40,849 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-14 19:10:40,851 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-14 19:10:40,851 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-14 19:10:40,851 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-14 19:10:40,851 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-14 19:10:40,852 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-14 19:10:40,852 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-14 19:10:40,852 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-14 19:10:40,900 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-14 19:10:40,913 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-14 19:10:40,916 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-14 19:10:40,918 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-14 19:10:40,918 INFO L276 PluginConnector]: CDTParser initialized [2018-11-14 19:10:40,919 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/ldv-regression/test24_false-unreach-call.c [2018-11-14 19:10:40,985 INFO L218 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/cf4f787ed/3ba50d73dc914b4c9343ba9d2ec4891e/FLAGe4d5e97a0 [2018-11-14 19:10:41,430 INFO L298 CDTParser]: Found 1 translation units. [2018-11-14 19:10:41,431 INFO L158 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/ldv-regression/test24_false-unreach-call.c [2018-11-14 19:10:41,438 INFO L346 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/cf4f787ed/3ba50d73dc914b4c9343ba9d2ec4891e/FLAGe4d5e97a0 [2018-11-14 19:10:41,454 INFO L354 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/cf4f787ed/3ba50d73dc914b4c9343ba9d2ec4891e [2018-11-14 19:10:41,464 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-14 19:10:41,466 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2018-11-14 19:10:41,466 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-14 19:10:41,467 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-14 19:10:41,471 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-14 19:10:41,472 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.11 07:10:41" (1/1) ... [2018-11-14 19:10:41,476 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@7f673d8f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 07:10:41, skipping insertion in model container [2018-11-14 19:10:41,476 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.11 07:10:41" (1/1) ... [2018-11-14 19:10:41,487 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-14 19:10:41,510 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-14 19:10:41,765 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-14 19:10:41,777 INFO L191 MainTranslator]: Completed pre-run [2018-11-14 19:10:41,805 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-14 19:10:41,823 INFO L195 MainTranslator]: Completed translation [2018-11-14 19:10:41,823 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 07:10:41 WrapperNode [2018-11-14 19:10:41,823 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-14 19:10:41,824 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-14 19:10:41,824 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-14 19:10:41,825 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-14 19:10:41,837 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 07:10:41" (1/1) ... [2018-11-14 19:10:41,838 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 07:10:41" (1/1) ... [2018-11-14 19:10:41,846 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 07:10:41" (1/1) ... [2018-11-14 19:10:41,846 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 07:10:41" (1/1) ... [2018-11-14 19:10:41,857 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 07:10:41" (1/1) ... [2018-11-14 19:10:41,863 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 07:10:41" (1/1) ... [2018-11-14 19:10:41,864 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 07:10:41" (1/1) ... [2018-11-14 19:10:41,867 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-14 19:10:41,867 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-14 19:10:41,867 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-14 19:10:41,867 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-14 19:10:41,868 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 07:10:41" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-14 19:10:41,989 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-14 19:10:41,989 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-14 19:10:41,989 INFO L138 BoogieDeclarations]: Found implementation of procedure check [2018-11-14 19:10:41,989 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-14 19:10:41,990 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2018-11-14 19:10:41,990 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2018-11-14 19:10:41,990 INFO L130 BoogieDeclarations]: Found specification of procedure check [2018-11-14 19:10:41,990 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-14 19:10:41,990 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-14 19:10:41,990 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-14 19:10:41,991 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-14 19:10:41,991 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-14 19:10:41,991 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-14 19:10:41,991 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-14 19:10:41,991 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int [2018-11-14 19:10:42,579 INFO L278 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-14 19:10:42,580 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.11 07:10:42 BoogieIcfgContainer [2018-11-14 19:10:42,580 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-14 19:10:42,581 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-14 19:10:42,581 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-14 19:10:42,584 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-14 19:10:42,585 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 14.11 07:10:41" (1/3) ... [2018-11-14 19:10:42,586 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1b35d7f4 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.11 07:10:42, skipping insertion in model container [2018-11-14 19:10:42,586 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 07:10:41" (2/3) ... [2018-11-14 19:10:42,586 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1b35d7f4 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.11 07:10:42, skipping insertion in model container [2018-11-14 19:10:42,587 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.11 07:10:42" (3/3) ... [2018-11-14 19:10:42,588 INFO L112 eAbstractionObserver]: Analyzing ICFG test24_false-unreach-call.c [2018-11-14 19:10:42,597 INFO L136 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-14 19:10:42,606 INFO L148 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-14 19:10:42,623 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-14 19:10:42,657 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-14 19:10:42,657 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-14 19:10:42,658 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-14 19:10:42,658 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-14 19:10:42,658 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-14 19:10:42,658 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-14 19:10:42,658 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-14 19:10:42,658 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-14 19:10:42,659 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-14 19:10:42,678 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states. [2018-11-14 19:10:42,684 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2018-11-14 19:10:42,685 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 19:10:42,686 INFO L375 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 19:10:42,688 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 19:10:42,694 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 19:10:42,694 INFO L82 PathProgramCache]: Analyzing trace with hash -812155503, now seen corresponding path program 1 times [2018-11-14 19:10:42,696 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 19:10:42,696 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 19:10:42,747 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:10:42,748 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 19:10:42,748 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:10:42,789 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 19:10:42,877 INFO L256 TraceCheckUtils]: 0: Hoare triple {30#true} call ULTIMATE.init(); {30#true} is VALID [2018-11-14 19:10:42,880 INFO L273 TraceCheckUtils]: 1: Hoare triple {30#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {30#true} is VALID [2018-11-14 19:10:42,881 INFO L273 TraceCheckUtils]: 2: Hoare triple {30#true} assume true; {30#true} is VALID [2018-11-14 19:10:42,881 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {30#true} {30#true} #55#return; {30#true} is VALID [2018-11-14 19:10:42,882 INFO L256 TraceCheckUtils]: 4: Hoare triple {30#true} call #t~ret9 := main(); {30#true} is VALID [2018-11-14 19:10:42,882 INFO L273 TraceCheckUtils]: 5: Hoare triple {30#true} call ~#ad1~0.base, ~#ad1~0.offset := #Ultimate.alloc(160);havoc ~ad2~0.base, ~ad2~0.offset;havoc ~i~0;havoc ~j~0;havoc ~pa~0.base, ~pa~0.offset;~j~0 := 0; {30#true} is VALID [2018-11-14 19:10:42,885 INFO L273 TraceCheckUtils]: 6: Hoare triple {30#true} assume !true; {31#false} is VALID [2018-11-14 19:10:42,885 INFO L273 TraceCheckUtils]: 7: Hoare triple {31#false} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~i~0 := #t~nondet4;havoc #t~nondet4; {31#false} is VALID [2018-11-14 19:10:42,885 INFO L273 TraceCheckUtils]: 8: Hoare triple {31#false} assume ~i~0 >= 0 && ~i~0 < 10;~ad2~0.base, ~ad2~0.offset := ~#ad1~0.base, ~#ad1~0.offset;call write~int(~i~0, ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + ~i~0 * 8 + 0, 4);~i~0 := #t~mem5 + 10;havoc #t~mem5; {31#false} is VALID [2018-11-14 19:10:42,886 INFO L273 TraceCheckUtils]: 9: Hoare triple {31#false} assume !true; {31#false} is VALID [2018-11-14 19:10:42,886 INFO L256 TraceCheckUtils]: 10: Hoare triple {31#false} call #t~ret8 := check(~#ad1~0.base, ~#ad1~0.offset, ~i~0); {30#true} is VALID [2018-11-14 19:10:42,887 INFO L273 TraceCheckUtils]: 11: Hoare triple {30#true} ~ad1.base, ~ad1.offset := #in~ad1.base, #in~ad1.offset;~b := #in~b;call #t~mem0 := read~int(~ad1.base, ~ad1.offset + ~b * 8 + 0, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {30#true} is VALID [2018-11-14 19:10:42,888 INFO L273 TraceCheckUtils]: 12: Hoare triple {30#true} assume true; {30#true} is VALID [2018-11-14 19:10:42,888 INFO L268 TraceCheckUtils]: 13: Hoare quadruple {30#true} {31#false} #59#return; {31#false} is VALID [2018-11-14 19:10:42,888 INFO L273 TraceCheckUtils]: 14: Hoare triple {31#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {31#false} is VALID [2018-11-14 19:10:42,889 INFO L273 TraceCheckUtils]: 15: Hoare triple {31#false} assume #t~ret8 == 0;havoc #t~ret8; {31#false} is VALID [2018-11-14 19:10:42,889 INFO L273 TraceCheckUtils]: 16: Hoare triple {31#false} assume !false; {31#false} is VALID [2018-11-14 19:10:42,892 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-14 19:10:42,895 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-14 19:10:42,895 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-14 19:10:42,901 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 17 [2018-11-14 19:10:42,906 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 19:10:42,912 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2018-11-14 19:10:43,098 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 19:10:43,098 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-14 19:10:43,110 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-14 19:10:43,110 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-14 19:10:43,113 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 2 states. [2018-11-14 19:10:43,324 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:10:43,324 INFO L93 Difference]: Finished difference Result 45 states and 53 transitions. [2018-11-14 19:10:43,325 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-14 19:10:43,325 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 17 [2018-11-14 19:10:43,325 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 19:10:43,327 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-14 19:10:43,342 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 53 transitions. [2018-11-14 19:10:43,343 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-14 19:10:43,347 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 53 transitions. [2018-11-14 19:10:43,348 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 53 transitions. [2018-11-14 19:10:43,628 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 19:10:43,639 INFO L225 Difference]: With dead ends: 45 [2018-11-14 19:10:43,639 INFO L226 Difference]: Without dead ends: 22 [2018-11-14 19:10:43,642 INFO L604 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-14 19:10:43,659 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 22 states. [2018-11-14 19:10:43,688 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 22 to 22. [2018-11-14 19:10:43,689 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 19:10:43,689 INFO L82 GeneralOperation]: Start isEquivalent. First operand 22 states. Second operand 22 states. [2018-11-14 19:10:43,690 INFO L74 IsIncluded]: Start isIncluded. First operand 22 states. Second operand 22 states. [2018-11-14 19:10:43,690 INFO L87 Difference]: Start difference. First operand 22 states. Second operand 22 states. [2018-11-14 19:10:43,693 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:10:43,694 INFO L93 Difference]: Finished difference Result 22 states and 23 transitions. [2018-11-14 19:10:43,694 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 23 transitions. [2018-11-14 19:10:43,695 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 19:10:43,695 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 19:10:43,695 INFO L74 IsIncluded]: Start isIncluded. First operand 22 states. Second operand 22 states. [2018-11-14 19:10:43,695 INFO L87 Difference]: Start difference. First operand 22 states. Second operand 22 states. [2018-11-14 19:10:43,699 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:10:43,699 INFO L93 Difference]: Finished difference Result 22 states and 23 transitions. [2018-11-14 19:10:43,700 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 23 transitions. [2018-11-14 19:10:43,700 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 19:10:43,700 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 19:10:43,701 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 19:10:43,701 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 19:10:43,701 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2018-11-14 19:10:43,704 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 23 transitions. [2018-11-14 19:10:43,706 INFO L78 Accepts]: Start accepts. Automaton has 22 states and 23 transitions. Word has length 17 [2018-11-14 19:10:43,706 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 19:10:43,706 INFO L480 AbstractCegarLoop]: Abstraction has 22 states and 23 transitions. [2018-11-14 19:10:43,706 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-14 19:10:43,706 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 23 transitions. [2018-11-14 19:10:43,707 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2018-11-14 19:10:43,707 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 19:10:43,708 INFO L375 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 19:10:43,708 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 19:10:43,708 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 19:10:43,709 INFO L82 PathProgramCache]: Analyzing trace with hash 401379044, now seen corresponding path program 1 times [2018-11-14 19:10:43,709 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 19:10:43,709 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 19:10:43,710 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:10:43,711 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 19:10:43,711 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:10:43,731 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 19:10:43,876 INFO L256 TraceCheckUtils]: 0: Hoare triple {167#true} call ULTIMATE.init(); {167#true} is VALID [2018-11-14 19:10:43,877 INFO L273 TraceCheckUtils]: 1: Hoare triple {167#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {167#true} is VALID [2018-11-14 19:10:43,877 INFO L273 TraceCheckUtils]: 2: Hoare triple {167#true} assume true; {167#true} is VALID [2018-11-14 19:10:43,877 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {167#true} {167#true} #55#return; {167#true} is VALID [2018-11-14 19:10:43,878 INFO L256 TraceCheckUtils]: 4: Hoare triple {167#true} call #t~ret9 := main(); {167#true} is VALID [2018-11-14 19:10:43,887 INFO L273 TraceCheckUtils]: 5: Hoare triple {167#true} call ~#ad1~0.base, ~#ad1~0.offset := #Ultimate.alloc(160);havoc ~ad2~0.base, ~ad2~0.offset;havoc ~i~0;havoc ~j~0;havoc ~pa~0.base, ~pa~0.offset;~j~0 := 0; {169#(= main_~j~0 0)} is VALID [2018-11-14 19:10:43,900 INFO L273 TraceCheckUtils]: 6: Hoare triple {169#(= main_~j~0 0)} assume true; {169#(= main_~j~0 0)} is VALID [2018-11-14 19:10:43,910 INFO L273 TraceCheckUtils]: 7: Hoare triple {169#(= main_~j~0 0)} assume !(~j~0 < 20); {168#false} is VALID [2018-11-14 19:10:43,910 INFO L273 TraceCheckUtils]: 8: Hoare triple {168#false} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~i~0 := #t~nondet4;havoc #t~nondet4; {168#false} is VALID [2018-11-14 19:10:43,911 INFO L273 TraceCheckUtils]: 9: Hoare triple {168#false} assume ~i~0 >= 0 && ~i~0 < 10;~ad2~0.base, ~ad2~0.offset := ~#ad1~0.base, ~#ad1~0.offset;call write~int(~i~0, ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + ~i~0 * 8 + 0, 4);~i~0 := #t~mem5 + 10;havoc #t~mem5; {168#false} is VALID [2018-11-14 19:10:43,911 INFO L273 TraceCheckUtils]: 10: Hoare triple {168#false} assume true; {168#false} is VALID [2018-11-14 19:10:43,911 INFO L273 TraceCheckUtils]: 11: Hoare triple {168#false} call #t~mem6 := read~int(~pa~0.base, ~pa~0.offset, 4); {168#false} is VALID [2018-11-14 19:10:43,912 INFO L273 TraceCheckUtils]: 12: Hoare triple {168#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {168#false} is VALID [2018-11-14 19:10:43,912 INFO L256 TraceCheckUtils]: 13: Hoare triple {168#false} call #t~ret8 := check(~#ad1~0.base, ~#ad1~0.offset, ~i~0); {167#true} is VALID [2018-11-14 19:10:43,912 INFO L273 TraceCheckUtils]: 14: Hoare triple {167#true} ~ad1.base, ~ad1.offset := #in~ad1.base, #in~ad1.offset;~b := #in~b;call #t~mem0 := read~int(~ad1.base, ~ad1.offset + ~b * 8 + 0, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {167#true} is VALID [2018-11-14 19:10:43,913 INFO L273 TraceCheckUtils]: 15: Hoare triple {167#true} assume true; {167#true} is VALID [2018-11-14 19:10:43,913 INFO L268 TraceCheckUtils]: 16: Hoare quadruple {167#true} {168#false} #59#return; {168#false} is VALID [2018-11-14 19:10:43,914 INFO L273 TraceCheckUtils]: 17: Hoare triple {168#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {168#false} is VALID [2018-11-14 19:10:43,914 INFO L273 TraceCheckUtils]: 18: Hoare triple {168#false} assume #t~ret8 == 0;havoc #t~ret8; {168#false} is VALID [2018-11-14 19:10:43,914 INFO L273 TraceCheckUtils]: 19: Hoare triple {168#false} assume !false; {168#false} is VALID [2018-11-14 19:10:43,916 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-14 19:10:43,917 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-14 19:10:43,917 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-14 19:10:43,918 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 20 [2018-11-14 19:10:43,919 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 19:10:43,919 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-14 19:10:44,010 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 19:10:44,010 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-14 19:10:44,011 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-14 19:10:44,011 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-14 19:10:44,011 INFO L87 Difference]: Start difference. First operand 22 states and 23 transitions. Second operand 3 states. [2018-11-14 19:10:44,143 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:10:44,143 INFO L93 Difference]: Finished difference Result 38 states and 40 transitions. [2018-11-14 19:10:44,144 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-14 19:10:44,144 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 20 [2018-11-14 19:10:44,144 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 19:10:44,144 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-14 19:10:44,147 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 40 transitions. [2018-11-14 19:10:44,148 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-14 19:10:44,150 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 40 transitions. [2018-11-14 19:10:44,150 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 40 transitions. [2018-11-14 19:10:44,341 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 19:10:44,343 INFO L225 Difference]: With dead ends: 38 [2018-11-14 19:10:44,343 INFO L226 Difference]: Without dead ends: 25 [2018-11-14 19:10:44,344 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-14 19:10:44,344 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 25 states. [2018-11-14 19:10:44,362 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 25 to 24. [2018-11-14 19:10:44,362 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 19:10:44,363 INFO L82 GeneralOperation]: Start isEquivalent. First operand 25 states. Second operand 24 states. [2018-11-14 19:10:44,363 INFO L74 IsIncluded]: Start isIncluded. First operand 25 states. Second operand 24 states. [2018-11-14 19:10:44,363 INFO L87 Difference]: Start difference. First operand 25 states. Second operand 24 states. [2018-11-14 19:10:44,365 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:10:44,365 INFO L93 Difference]: Finished difference Result 25 states and 26 transitions. [2018-11-14 19:10:44,366 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 26 transitions. [2018-11-14 19:10:44,366 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 19:10:44,366 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 19:10:44,367 INFO L74 IsIncluded]: Start isIncluded. First operand 24 states. Second operand 25 states. [2018-11-14 19:10:44,367 INFO L87 Difference]: Start difference. First operand 24 states. Second operand 25 states. [2018-11-14 19:10:44,369 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:10:44,369 INFO L93 Difference]: Finished difference Result 25 states and 26 transitions. [2018-11-14 19:10:44,370 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 26 transitions. [2018-11-14 19:10:44,370 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 19:10:44,370 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 19:10:44,371 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 19:10:44,371 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 19:10:44,371 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-14 19:10:44,373 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 25 transitions. [2018-11-14 19:10:44,373 INFO L78 Accepts]: Start accepts. Automaton has 24 states and 25 transitions. Word has length 20 [2018-11-14 19:10:44,373 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 19:10:44,374 INFO L480 AbstractCegarLoop]: Abstraction has 24 states and 25 transitions. [2018-11-14 19:10:44,374 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-14 19:10:44,374 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 25 transitions. [2018-11-14 19:10:44,375 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2018-11-14 19:10:44,375 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 19:10:44,375 INFO L375 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 19:10:44,375 INFO L423 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 19:10:44,376 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 19:10:44,376 INFO L82 PathProgramCache]: Analyzing trace with hash 227309715, now seen corresponding path program 1 times [2018-11-14 19:10:44,376 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 19:10:44,376 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 19:10:44,377 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:10:44,378 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 19:10:44,378 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:10:44,405 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 19:10:44,508 INFO L256 TraceCheckUtils]: 0: Hoare triple {308#true} call ULTIMATE.init(); {308#true} is VALID [2018-11-14 19:10:44,508 INFO L273 TraceCheckUtils]: 1: Hoare triple {308#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {308#true} is VALID [2018-11-14 19:10:44,509 INFO L273 TraceCheckUtils]: 2: Hoare triple {308#true} assume true; {308#true} is VALID [2018-11-14 19:10:44,509 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {308#true} {308#true} #55#return; {308#true} is VALID [2018-11-14 19:10:44,509 INFO L256 TraceCheckUtils]: 4: Hoare triple {308#true} call #t~ret9 := main(); {308#true} is VALID [2018-11-14 19:10:44,510 INFO L273 TraceCheckUtils]: 5: Hoare triple {308#true} call ~#ad1~0.base, ~#ad1~0.offset := #Ultimate.alloc(160);havoc ~ad2~0.base, ~ad2~0.offset;havoc ~i~0;havoc ~j~0;havoc ~pa~0.base, ~pa~0.offset;~j~0 := 0; {310#(= main_~j~0 0)} is VALID [2018-11-14 19:10:44,515 INFO L273 TraceCheckUtils]: 6: Hoare triple {310#(= main_~j~0 0)} assume true; {310#(= main_~j~0 0)} is VALID [2018-11-14 19:10:44,515 INFO L273 TraceCheckUtils]: 7: Hoare triple {310#(= main_~j~0 0)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {310#(= main_~j~0 0)} is VALID [2018-11-14 19:10:44,517 INFO L273 TraceCheckUtils]: 8: Hoare triple {310#(= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {311#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:44,520 INFO L273 TraceCheckUtils]: 9: Hoare triple {311#(<= main_~j~0 1)} assume true; {311#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:44,520 INFO L273 TraceCheckUtils]: 10: Hoare triple {311#(<= main_~j~0 1)} assume !(~j~0 < 20); {309#false} is VALID [2018-11-14 19:10:44,521 INFO L273 TraceCheckUtils]: 11: Hoare triple {309#false} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~i~0 := #t~nondet4;havoc #t~nondet4; {309#false} is VALID [2018-11-14 19:10:44,521 INFO L273 TraceCheckUtils]: 12: Hoare triple {309#false} assume ~i~0 >= 0 && ~i~0 < 10;~ad2~0.base, ~ad2~0.offset := ~#ad1~0.base, ~#ad1~0.offset;call write~int(~i~0, ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + ~i~0 * 8 + 0, 4);~i~0 := #t~mem5 + 10;havoc #t~mem5; {309#false} is VALID [2018-11-14 19:10:44,521 INFO L273 TraceCheckUtils]: 13: Hoare triple {309#false} assume true; {309#false} is VALID [2018-11-14 19:10:44,522 INFO L273 TraceCheckUtils]: 14: Hoare triple {309#false} call #t~mem6 := read~int(~pa~0.base, ~pa~0.offset, 4); {309#false} is VALID [2018-11-14 19:10:44,522 INFO L273 TraceCheckUtils]: 15: Hoare triple {309#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {309#false} is VALID [2018-11-14 19:10:44,522 INFO L256 TraceCheckUtils]: 16: Hoare triple {309#false} call #t~ret8 := check(~#ad1~0.base, ~#ad1~0.offset, ~i~0); {308#true} is VALID [2018-11-14 19:10:44,523 INFO L273 TraceCheckUtils]: 17: Hoare triple {308#true} ~ad1.base, ~ad1.offset := #in~ad1.base, #in~ad1.offset;~b := #in~b;call #t~mem0 := read~int(~ad1.base, ~ad1.offset + ~b * 8 + 0, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {308#true} is VALID [2018-11-14 19:10:44,523 INFO L273 TraceCheckUtils]: 18: Hoare triple {308#true} assume true; {308#true} is VALID [2018-11-14 19:10:44,523 INFO L268 TraceCheckUtils]: 19: Hoare quadruple {308#true} {309#false} #59#return; {309#false} is VALID [2018-11-14 19:10:44,524 INFO L273 TraceCheckUtils]: 20: Hoare triple {309#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {309#false} is VALID [2018-11-14 19:10:44,524 INFO L273 TraceCheckUtils]: 21: Hoare triple {309#false} assume #t~ret8 == 0;havoc #t~ret8; {309#false} is VALID [2018-11-14 19:10:44,524 INFO L273 TraceCheckUtils]: 22: Hoare triple {309#false} assume !false; {309#false} is VALID [2018-11-14 19:10:44,526 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 19:10:44,526 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 19:10:44,526 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-14 19:10:44,546 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 19:10:44,585 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 19:10:44,622 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 19:10:44,628 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 19:10:45,164 INFO L256 TraceCheckUtils]: 0: Hoare triple {308#true} call ULTIMATE.init(); {308#true} is VALID [2018-11-14 19:10:45,164 INFO L273 TraceCheckUtils]: 1: Hoare triple {308#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {308#true} is VALID [2018-11-14 19:10:45,165 INFO L273 TraceCheckUtils]: 2: Hoare triple {308#true} assume true; {308#true} is VALID [2018-11-14 19:10:45,165 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {308#true} {308#true} #55#return; {308#true} is VALID [2018-11-14 19:10:45,165 INFO L256 TraceCheckUtils]: 4: Hoare triple {308#true} call #t~ret9 := main(); {308#true} is VALID [2018-11-14 19:10:45,172 INFO L273 TraceCheckUtils]: 5: Hoare triple {308#true} call ~#ad1~0.base, ~#ad1~0.offset := #Ultimate.alloc(160);havoc ~ad2~0.base, ~ad2~0.offset;havoc ~i~0;havoc ~j~0;havoc ~pa~0.base, ~pa~0.offset;~j~0 := 0; {330#(<= main_~j~0 0)} is VALID [2018-11-14 19:10:45,172 INFO L273 TraceCheckUtils]: 6: Hoare triple {330#(<= main_~j~0 0)} assume true; {330#(<= main_~j~0 0)} is VALID [2018-11-14 19:10:45,183 INFO L273 TraceCheckUtils]: 7: Hoare triple {330#(<= main_~j~0 0)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {330#(<= main_~j~0 0)} is VALID [2018-11-14 19:10:45,195 INFO L273 TraceCheckUtils]: 8: Hoare triple {330#(<= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {311#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:45,196 INFO L273 TraceCheckUtils]: 9: Hoare triple {311#(<= main_~j~0 1)} assume true; {311#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:45,200 INFO L273 TraceCheckUtils]: 10: Hoare triple {311#(<= main_~j~0 1)} assume !(~j~0 < 20); {309#false} is VALID [2018-11-14 19:10:45,200 INFO L273 TraceCheckUtils]: 11: Hoare triple {309#false} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~i~0 := #t~nondet4;havoc #t~nondet4; {309#false} is VALID [2018-11-14 19:10:45,200 INFO L273 TraceCheckUtils]: 12: Hoare triple {309#false} assume ~i~0 >= 0 && ~i~0 < 10;~ad2~0.base, ~ad2~0.offset := ~#ad1~0.base, ~#ad1~0.offset;call write~int(~i~0, ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + ~i~0 * 8 + 0, 4);~i~0 := #t~mem5 + 10;havoc #t~mem5; {309#false} is VALID [2018-11-14 19:10:45,201 INFO L273 TraceCheckUtils]: 13: Hoare triple {309#false} assume true; {309#false} is VALID [2018-11-14 19:10:45,201 INFO L273 TraceCheckUtils]: 14: Hoare triple {309#false} call #t~mem6 := read~int(~pa~0.base, ~pa~0.offset, 4); {309#false} is VALID [2018-11-14 19:10:45,201 INFO L273 TraceCheckUtils]: 15: Hoare triple {309#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {309#false} is VALID [2018-11-14 19:10:45,202 INFO L256 TraceCheckUtils]: 16: Hoare triple {309#false} call #t~ret8 := check(~#ad1~0.base, ~#ad1~0.offset, ~i~0); {309#false} is VALID [2018-11-14 19:10:45,202 INFO L273 TraceCheckUtils]: 17: Hoare triple {309#false} ~ad1.base, ~ad1.offset := #in~ad1.base, #in~ad1.offset;~b := #in~b;call #t~mem0 := read~int(~ad1.base, ~ad1.offset + ~b * 8 + 0, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {309#false} is VALID [2018-11-14 19:10:45,202 INFO L273 TraceCheckUtils]: 18: Hoare triple {309#false} assume true; {309#false} is VALID [2018-11-14 19:10:45,202 INFO L268 TraceCheckUtils]: 19: Hoare quadruple {309#false} {309#false} #59#return; {309#false} is VALID [2018-11-14 19:10:45,203 INFO L273 TraceCheckUtils]: 20: Hoare triple {309#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {309#false} is VALID [2018-11-14 19:10:45,203 INFO L273 TraceCheckUtils]: 21: Hoare triple {309#false} assume #t~ret8 == 0;havoc #t~ret8; {309#false} is VALID [2018-11-14 19:10:45,203 INFO L273 TraceCheckUtils]: 22: Hoare triple {309#false} assume !false; {309#false} is VALID [2018-11-14 19:10:45,205 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 19:10:45,225 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 19:10:45,226 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 5 [2018-11-14 19:10:45,226 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 23 [2018-11-14 19:10:45,227 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 19:10:45,227 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2018-11-14 19:10:45,345 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 19:10:45,345 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-11-14 19:10:45,346 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-14 19:10:45,346 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2018-11-14 19:10:45,346 INFO L87 Difference]: Start difference. First operand 24 states and 25 transitions. Second operand 5 states. [2018-11-14 19:10:45,634 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:10:45,634 INFO L93 Difference]: Finished difference Result 41 states and 43 transitions. [2018-11-14 19:10:45,634 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-14 19:10:45,635 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 23 [2018-11-14 19:10:45,635 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 19:10:45,635 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-14 19:10:45,640 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 43 transitions. [2018-11-14 19:10:45,640 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-14 19:10:45,643 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 43 transitions. [2018-11-14 19:10:45,643 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 43 transitions. [2018-11-14 19:10:45,721 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 19:10:45,723 INFO L225 Difference]: With dead ends: 41 [2018-11-14 19:10:45,723 INFO L226 Difference]: Without dead ends: 28 [2018-11-14 19:10:45,724 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 26 GetRequests, 23 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2018-11-14 19:10:45,724 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 28 states. [2018-11-14 19:10:45,736 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 28 to 27. [2018-11-14 19:10:45,736 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 19:10:45,736 INFO L82 GeneralOperation]: Start isEquivalent. First operand 28 states. Second operand 27 states. [2018-11-14 19:10:45,737 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand 27 states. [2018-11-14 19:10:45,737 INFO L87 Difference]: Start difference. First operand 28 states. Second operand 27 states. [2018-11-14 19:10:45,739 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:10:45,739 INFO L93 Difference]: Finished difference Result 28 states and 29 transitions. [2018-11-14 19:10:45,740 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 29 transitions. [2018-11-14 19:10:45,740 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 19:10:45,740 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 19:10:45,741 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 28 states. [2018-11-14 19:10:45,741 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 28 states. [2018-11-14 19:10:45,743 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:10:45,743 INFO L93 Difference]: Finished difference Result 28 states and 29 transitions. [2018-11-14 19:10:45,743 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 29 transitions. [2018-11-14 19:10:45,744 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 19:10:45,744 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 19:10:45,744 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 19:10:45,744 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 19:10:45,745 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2018-11-14 19:10:45,746 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 28 transitions. [2018-11-14 19:10:45,747 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 28 transitions. Word has length 23 [2018-11-14 19:10:45,747 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 19:10:45,747 INFO L480 AbstractCegarLoop]: Abstraction has 27 states and 28 transitions. [2018-11-14 19:10:45,747 INFO L481 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-11-14 19:10:45,747 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 28 transitions. [2018-11-14 19:10:45,748 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2018-11-14 19:10:45,748 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 19:10:45,749 INFO L375 BasicCegarLoop]: trace histogram [3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 19:10:45,749 INFO L423 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 19:10:45,749 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 19:10:45,749 INFO L82 PathProgramCache]: Analyzing trace with hash -1446544252, now seen corresponding path program 2 times [2018-11-14 19:10:45,749 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 19:10:45,750 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 19:10:45,751 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:10:45,751 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 19:10:45,751 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:10:45,777 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 19:10:45,908 INFO L256 TraceCheckUtils]: 0: Hoare triple {531#true} call ULTIMATE.init(); {531#true} is VALID [2018-11-14 19:10:45,909 INFO L273 TraceCheckUtils]: 1: Hoare triple {531#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {531#true} is VALID [2018-11-14 19:10:45,909 INFO L273 TraceCheckUtils]: 2: Hoare triple {531#true} assume true; {531#true} is VALID [2018-11-14 19:10:45,910 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {531#true} {531#true} #55#return; {531#true} is VALID [2018-11-14 19:10:45,910 INFO L256 TraceCheckUtils]: 4: Hoare triple {531#true} call #t~ret9 := main(); {531#true} is VALID [2018-11-14 19:10:45,912 INFO L273 TraceCheckUtils]: 5: Hoare triple {531#true} call ~#ad1~0.base, ~#ad1~0.offset := #Ultimate.alloc(160);havoc ~ad2~0.base, ~ad2~0.offset;havoc ~i~0;havoc ~j~0;havoc ~pa~0.base, ~pa~0.offset;~j~0 := 0; {533#(= main_~j~0 0)} is VALID [2018-11-14 19:10:45,912 INFO L273 TraceCheckUtils]: 6: Hoare triple {533#(= main_~j~0 0)} assume true; {533#(= main_~j~0 0)} is VALID [2018-11-14 19:10:45,919 INFO L273 TraceCheckUtils]: 7: Hoare triple {533#(= main_~j~0 0)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {533#(= main_~j~0 0)} is VALID [2018-11-14 19:10:45,920 INFO L273 TraceCheckUtils]: 8: Hoare triple {533#(= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {534#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:45,924 INFO L273 TraceCheckUtils]: 9: Hoare triple {534#(<= main_~j~0 1)} assume true; {534#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:45,935 INFO L273 TraceCheckUtils]: 10: Hoare triple {534#(<= main_~j~0 1)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {534#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:45,936 INFO L273 TraceCheckUtils]: 11: Hoare triple {534#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {535#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:45,936 INFO L273 TraceCheckUtils]: 12: Hoare triple {535#(<= main_~j~0 2)} assume true; {535#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:45,937 INFO L273 TraceCheckUtils]: 13: Hoare triple {535#(<= main_~j~0 2)} assume !(~j~0 < 20); {532#false} is VALID [2018-11-14 19:10:45,937 INFO L273 TraceCheckUtils]: 14: Hoare triple {532#false} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~i~0 := #t~nondet4;havoc #t~nondet4; {532#false} is VALID [2018-11-14 19:10:45,937 INFO L273 TraceCheckUtils]: 15: Hoare triple {532#false} assume ~i~0 >= 0 && ~i~0 < 10;~ad2~0.base, ~ad2~0.offset := ~#ad1~0.base, ~#ad1~0.offset;call write~int(~i~0, ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + ~i~0 * 8 + 0, 4);~i~0 := #t~mem5 + 10;havoc #t~mem5; {532#false} is VALID [2018-11-14 19:10:45,938 INFO L273 TraceCheckUtils]: 16: Hoare triple {532#false} assume true; {532#false} is VALID [2018-11-14 19:10:45,938 INFO L273 TraceCheckUtils]: 17: Hoare triple {532#false} call #t~mem6 := read~int(~pa~0.base, ~pa~0.offset, 4); {532#false} is VALID [2018-11-14 19:10:45,939 INFO L273 TraceCheckUtils]: 18: Hoare triple {532#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {532#false} is VALID [2018-11-14 19:10:45,939 INFO L256 TraceCheckUtils]: 19: Hoare triple {532#false} call #t~ret8 := check(~#ad1~0.base, ~#ad1~0.offset, ~i~0); {531#true} is VALID [2018-11-14 19:10:45,939 INFO L273 TraceCheckUtils]: 20: Hoare triple {531#true} ~ad1.base, ~ad1.offset := #in~ad1.base, #in~ad1.offset;~b := #in~b;call #t~mem0 := read~int(~ad1.base, ~ad1.offset + ~b * 8 + 0, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {531#true} is VALID [2018-11-14 19:10:45,940 INFO L273 TraceCheckUtils]: 21: Hoare triple {531#true} assume true; {531#true} is VALID [2018-11-14 19:10:45,940 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {531#true} {532#false} #59#return; {532#false} is VALID [2018-11-14 19:10:45,940 INFO L273 TraceCheckUtils]: 23: Hoare triple {532#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {532#false} is VALID [2018-11-14 19:10:45,941 INFO L273 TraceCheckUtils]: 24: Hoare triple {532#false} assume #t~ret8 == 0;havoc #t~ret8; {532#false} is VALID [2018-11-14 19:10:45,941 INFO L273 TraceCheckUtils]: 25: Hoare triple {532#false} assume !false; {532#false} is VALID [2018-11-14 19:10:45,943 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 19:10:45,943 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 19:10:45,943 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-14 19:10:45,954 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-14 19:10:45,981 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-14 19:10:45,982 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 19:10:46,009 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 19:10:46,010 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 19:10:46,146 INFO L256 TraceCheckUtils]: 0: Hoare triple {531#true} call ULTIMATE.init(); {531#true} is VALID [2018-11-14 19:10:46,146 INFO L273 TraceCheckUtils]: 1: Hoare triple {531#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {531#true} is VALID [2018-11-14 19:10:46,146 INFO L273 TraceCheckUtils]: 2: Hoare triple {531#true} assume true; {531#true} is VALID [2018-11-14 19:10:46,146 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {531#true} {531#true} #55#return; {531#true} is VALID [2018-11-14 19:10:46,147 INFO L256 TraceCheckUtils]: 4: Hoare triple {531#true} call #t~ret9 := main(); {531#true} is VALID [2018-11-14 19:10:46,148 INFO L273 TraceCheckUtils]: 5: Hoare triple {531#true} call ~#ad1~0.base, ~#ad1~0.offset := #Ultimate.alloc(160);havoc ~ad2~0.base, ~ad2~0.offset;havoc ~i~0;havoc ~j~0;havoc ~pa~0.base, ~pa~0.offset;~j~0 := 0; {554#(<= main_~j~0 0)} is VALID [2018-11-14 19:10:46,149 INFO L273 TraceCheckUtils]: 6: Hoare triple {554#(<= main_~j~0 0)} assume true; {554#(<= main_~j~0 0)} is VALID [2018-11-14 19:10:46,149 INFO L273 TraceCheckUtils]: 7: Hoare triple {554#(<= main_~j~0 0)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {554#(<= main_~j~0 0)} is VALID [2018-11-14 19:10:46,150 INFO L273 TraceCheckUtils]: 8: Hoare triple {554#(<= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {534#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:46,151 INFO L273 TraceCheckUtils]: 9: Hoare triple {534#(<= main_~j~0 1)} assume true; {534#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:46,151 INFO L273 TraceCheckUtils]: 10: Hoare triple {534#(<= main_~j~0 1)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {534#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:46,152 INFO L273 TraceCheckUtils]: 11: Hoare triple {534#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {535#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:46,161 INFO L273 TraceCheckUtils]: 12: Hoare triple {535#(<= main_~j~0 2)} assume true; {535#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:46,174 INFO L273 TraceCheckUtils]: 13: Hoare triple {535#(<= main_~j~0 2)} assume !(~j~0 < 20); {532#false} is VALID [2018-11-14 19:10:46,174 INFO L273 TraceCheckUtils]: 14: Hoare triple {532#false} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~i~0 := #t~nondet4;havoc #t~nondet4; {532#false} is VALID [2018-11-14 19:10:46,175 INFO L273 TraceCheckUtils]: 15: Hoare triple {532#false} assume ~i~0 >= 0 && ~i~0 < 10;~ad2~0.base, ~ad2~0.offset := ~#ad1~0.base, ~#ad1~0.offset;call write~int(~i~0, ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + ~i~0 * 8 + 0, 4);~i~0 := #t~mem5 + 10;havoc #t~mem5; {532#false} is VALID [2018-11-14 19:10:46,175 INFO L273 TraceCheckUtils]: 16: Hoare triple {532#false} assume true; {532#false} is VALID [2018-11-14 19:10:46,175 INFO L273 TraceCheckUtils]: 17: Hoare triple {532#false} call #t~mem6 := read~int(~pa~0.base, ~pa~0.offset, 4); {532#false} is VALID [2018-11-14 19:10:46,176 INFO L273 TraceCheckUtils]: 18: Hoare triple {532#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {532#false} is VALID [2018-11-14 19:10:46,176 INFO L256 TraceCheckUtils]: 19: Hoare triple {532#false} call #t~ret8 := check(~#ad1~0.base, ~#ad1~0.offset, ~i~0); {532#false} is VALID [2018-11-14 19:10:46,176 INFO L273 TraceCheckUtils]: 20: Hoare triple {532#false} ~ad1.base, ~ad1.offset := #in~ad1.base, #in~ad1.offset;~b := #in~b;call #t~mem0 := read~int(~ad1.base, ~ad1.offset + ~b * 8 + 0, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {532#false} is VALID [2018-11-14 19:10:46,177 INFO L273 TraceCheckUtils]: 21: Hoare triple {532#false} assume true; {532#false} is VALID [2018-11-14 19:10:46,177 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {532#false} {532#false} #59#return; {532#false} is VALID [2018-11-14 19:10:46,177 INFO L273 TraceCheckUtils]: 23: Hoare triple {532#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {532#false} is VALID [2018-11-14 19:10:46,177 INFO L273 TraceCheckUtils]: 24: Hoare triple {532#false} assume #t~ret8 == 0;havoc #t~ret8; {532#false} is VALID [2018-11-14 19:10:46,178 INFO L273 TraceCheckUtils]: 25: Hoare triple {532#false} assume !false; {532#false} is VALID [2018-11-14 19:10:46,179 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 19:10:46,199 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 19:10:46,199 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 6 [2018-11-14 19:10:46,200 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 26 [2018-11-14 19:10:46,200 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 19:10:46,200 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-14 19:10:46,252 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 19:10:46,253 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-14 19:10:46,253 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-14 19:10:46,254 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2018-11-14 19:10:46,255 INFO L87 Difference]: Start difference. First operand 27 states and 28 transitions. Second operand 6 states. [2018-11-14 19:10:46,479 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:10:46,479 INFO L93 Difference]: Finished difference Result 44 states and 46 transitions. [2018-11-14 19:10:46,480 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-14 19:10:46,480 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 26 [2018-11-14 19:10:46,480 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 19:10:46,480 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-14 19:10:46,483 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 46 transitions. [2018-11-14 19:10:46,483 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-14 19:10:46,485 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 46 transitions. [2018-11-14 19:10:46,485 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 46 transitions. [2018-11-14 19:10:46,564 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-14 19:10:46,566 INFO L225 Difference]: With dead ends: 44 [2018-11-14 19:10:46,566 INFO L226 Difference]: Without dead ends: 31 [2018-11-14 19:10:46,567 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 30 GetRequests, 26 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2018-11-14 19:10:46,567 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31 states. [2018-11-14 19:10:46,589 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31 to 30. [2018-11-14 19:10:46,589 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 19:10:46,589 INFO L82 GeneralOperation]: Start isEquivalent. First operand 31 states. Second operand 30 states. [2018-11-14 19:10:46,589 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 30 states. [2018-11-14 19:10:46,590 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 30 states. [2018-11-14 19:10:46,591 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:10:46,592 INFO L93 Difference]: Finished difference Result 31 states and 32 transitions. [2018-11-14 19:10:46,592 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 32 transitions. [2018-11-14 19:10:46,592 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 19:10:46,593 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 19:10:46,593 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 31 states. [2018-11-14 19:10:46,593 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 31 states. [2018-11-14 19:10:46,595 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:10:46,595 INFO L93 Difference]: Finished difference Result 31 states and 32 transitions. [2018-11-14 19:10:46,596 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 32 transitions. [2018-11-14 19:10:46,596 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 19:10:46,596 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 19:10:46,597 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 19:10:46,597 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 19:10:46,597 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2018-11-14 19:10:46,598 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 31 transitions. [2018-11-14 19:10:46,599 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 31 transitions. Word has length 26 [2018-11-14 19:10:46,599 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 19:10:46,599 INFO L480 AbstractCegarLoop]: Abstraction has 30 states and 31 transitions. [2018-11-14 19:10:46,599 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-14 19:10:46,599 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 31 transitions. [2018-11-14 19:10:46,600 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2018-11-14 19:10:46,600 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 19:10:46,600 INFO L375 BasicCegarLoop]: trace histogram [4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 19:10:46,601 INFO L423 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 19:10:46,601 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 19:10:46,601 INFO L82 PathProgramCache]: Analyzing trace with hash 1635198707, now seen corresponding path program 3 times [2018-11-14 19:10:46,601 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 19:10:46,602 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 19:10:46,602 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:10:46,603 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 19:10:46,603 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:10:46,627 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 19:10:46,729 INFO L256 TraceCheckUtils]: 0: Hoare triple {778#true} call ULTIMATE.init(); {778#true} is VALID [2018-11-14 19:10:46,730 INFO L273 TraceCheckUtils]: 1: Hoare triple {778#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {778#true} is VALID [2018-11-14 19:10:46,730 INFO L273 TraceCheckUtils]: 2: Hoare triple {778#true} assume true; {778#true} is VALID [2018-11-14 19:10:46,731 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {778#true} {778#true} #55#return; {778#true} is VALID [2018-11-14 19:10:46,731 INFO L256 TraceCheckUtils]: 4: Hoare triple {778#true} call #t~ret9 := main(); {778#true} is VALID [2018-11-14 19:10:46,732 INFO L273 TraceCheckUtils]: 5: Hoare triple {778#true} call ~#ad1~0.base, ~#ad1~0.offset := #Ultimate.alloc(160);havoc ~ad2~0.base, ~ad2~0.offset;havoc ~i~0;havoc ~j~0;havoc ~pa~0.base, ~pa~0.offset;~j~0 := 0; {780#(= main_~j~0 0)} is VALID [2018-11-14 19:10:46,732 INFO L273 TraceCheckUtils]: 6: Hoare triple {780#(= main_~j~0 0)} assume true; {780#(= main_~j~0 0)} is VALID [2018-11-14 19:10:46,733 INFO L273 TraceCheckUtils]: 7: Hoare triple {780#(= main_~j~0 0)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {780#(= main_~j~0 0)} is VALID [2018-11-14 19:10:46,733 INFO L273 TraceCheckUtils]: 8: Hoare triple {780#(= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {781#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:46,734 INFO L273 TraceCheckUtils]: 9: Hoare triple {781#(<= main_~j~0 1)} assume true; {781#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:46,736 INFO L273 TraceCheckUtils]: 10: Hoare triple {781#(<= main_~j~0 1)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {781#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:46,737 INFO L273 TraceCheckUtils]: 11: Hoare triple {781#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {782#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:46,738 INFO L273 TraceCheckUtils]: 12: Hoare triple {782#(<= main_~j~0 2)} assume true; {782#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:46,738 INFO L273 TraceCheckUtils]: 13: Hoare triple {782#(<= main_~j~0 2)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {782#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:46,739 INFO L273 TraceCheckUtils]: 14: Hoare triple {782#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {783#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:46,740 INFO L273 TraceCheckUtils]: 15: Hoare triple {783#(<= main_~j~0 3)} assume true; {783#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:46,741 INFO L273 TraceCheckUtils]: 16: Hoare triple {783#(<= main_~j~0 3)} assume !(~j~0 < 20); {779#false} is VALID [2018-11-14 19:10:46,741 INFO L273 TraceCheckUtils]: 17: Hoare triple {779#false} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~i~0 := #t~nondet4;havoc #t~nondet4; {779#false} is VALID [2018-11-14 19:10:46,741 INFO L273 TraceCheckUtils]: 18: Hoare triple {779#false} assume ~i~0 >= 0 && ~i~0 < 10;~ad2~0.base, ~ad2~0.offset := ~#ad1~0.base, ~#ad1~0.offset;call write~int(~i~0, ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + ~i~0 * 8 + 0, 4);~i~0 := #t~mem5 + 10;havoc #t~mem5; {779#false} is VALID [2018-11-14 19:10:46,742 INFO L273 TraceCheckUtils]: 19: Hoare triple {779#false} assume true; {779#false} is VALID [2018-11-14 19:10:46,742 INFO L273 TraceCheckUtils]: 20: Hoare triple {779#false} call #t~mem6 := read~int(~pa~0.base, ~pa~0.offset, 4); {779#false} is VALID [2018-11-14 19:10:46,742 INFO L273 TraceCheckUtils]: 21: Hoare triple {779#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {779#false} is VALID [2018-11-14 19:10:46,743 INFO L256 TraceCheckUtils]: 22: Hoare triple {779#false} call #t~ret8 := check(~#ad1~0.base, ~#ad1~0.offset, ~i~0); {778#true} is VALID [2018-11-14 19:10:46,743 INFO L273 TraceCheckUtils]: 23: Hoare triple {778#true} ~ad1.base, ~ad1.offset := #in~ad1.base, #in~ad1.offset;~b := #in~b;call #t~mem0 := read~int(~ad1.base, ~ad1.offset + ~b * 8 + 0, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {778#true} is VALID [2018-11-14 19:10:46,743 INFO L273 TraceCheckUtils]: 24: Hoare triple {778#true} assume true; {778#true} is VALID [2018-11-14 19:10:46,744 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {778#true} {779#false} #59#return; {779#false} is VALID [2018-11-14 19:10:46,744 INFO L273 TraceCheckUtils]: 26: Hoare triple {779#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {779#false} is VALID [2018-11-14 19:10:46,744 INFO L273 TraceCheckUtils]: 27: Hoare triple {779#false} assume #t~ret8 == 0;havoc #t~ret8; {779#false} is VALID [2018-11-14 19:10:46,744 INFO L273 TraceCheckUtils]: 28: Hoare triple {779#false} assume !false; {779#false} is VALID [2018-11-14 19:10:46,746 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 0 proven. 15 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 19:10:46,746 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 19:10:46,747 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-14 19:10:46,755 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-14 19:10:46,805 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2018-11-14 19:10:46,806 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 19:10:46,822 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 19:10:46,823 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 19:10:46,951 INFO L256 TraceCheckUtils]: 0: Hoare triple {778#true} call ULTIMATE.init(); {778#true} is VALID [2018-11-14 19:10:46,952 INFO L273 TraceCheckUtils]: 1: Hoare triple {778#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {778#true} is VALID [2018-11-14 19:10:46,952 INFO L273 TraceCheckUtils]: 2: Hoare triple {778#true} assume true; {778#true} is VALID [2018-11-14 19:10:46,953 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {778#true} {778#true} #55#return; {778#true} is VALID [2018-11-14 19:10:46,953 INFO L256 TraceCheckUtils]: 4: Hoare triple {778#true} call #t~ret9 := main(); {778#true} is VALID [2018-11-14 19:10:46,954 INFO L273 TraceCheckUtils]: 5: Hoare triple {778#true} call ~#ad1~0.base, ~#ad1~0.offset := #Ultimate.alloc(160);havoc ~ad2~0.base, ~ad2~0.offset;havoc ~i~0;havoc ~j~0;havoc ~pa~0.base, ~pa~0.offset;~j~0 := 0; {802#(<= main_~j~0 0)} is VALID [2018-11-14 19:10:46,955 INFO L273 TraceCheckUtils]: 6: Hoare triple {802#(<= main_~j~0 0)} assume true; {802#(<= main_~j~0 0)} is VALID [2018-11-14 19:10:46,955 INFO L273 TraceCheckUtils]: 7: Hoare triple {802#(<= main_~j~0 0)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {802#(<= main_~j~0 0)} is VALID [2018-11-14 19:10:46,956 INFO L273 TraceCheckUtils]: 8: Hoare triple {802#(<= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {781#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:46,956 INFO L273 TraceCheckUtils]: 9: Hoare triple {781#(<= main_~j~0 1)} assume true; {781#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:46,957 INFO L273 TraceCheckUtils]: 10: Hoare triple {781#(<= main_~j~0 1)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {781#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:46,957 INFO L273 TraceCheckUtils]: 11: Hoare triple {781#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {782#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:46,958 INFO L273 TraceCheckUtils]: 12: Hoare triple {782#(<= main_~j~0 2)} assume true; {782#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:46,959 INFO L273 TraceCheckUtils]: 13: Hoare triple {782#(<= main_~j~0 2)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {782#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:46,960 INFO L273 TraceCheckUtils]: 14: Hoare triple {782#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {783#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:46,961 INFO L273 TraceCheckUtils]: 15: Hoare triple {783#(<= main_~j~0 3)} assume true; {783#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:46,962 INFO L273 TraceCheckUtils]: 16: Hoare triple {783#(<= main_~j~0 3)} assume !(~j~0 < 20); {779#false} is VALID [2018-11-14 19:10:46,962 INFO L273 TraceCheckUtils]: 17: Hoare triple {779#false} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~i~0 := #t~nondet4;havoc #t~nondet4; {779#false} is VALID [2018-11-14 19:10:46,962 INFO L273 TraceCheckUtils]: 18: Hoare triple {779#false} assume ~i~0 >= 0 && ~i~0 < 10;~ad2~0.base, ~ad2~0.offset := ~#ad1~0.base, ~#ad1~0.offset;call write~int(~i~0, ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + ~i~0 * 8 + 0, 4);~i~0 := #t~mem5 + 10;havoc #t~mem5; {779#false} is VALID [2018-11-14 19:10:46,963 INFO L273 TraceCheckUtils]: 19: Hoare triple {779#false} assume true; {779#false} is VALID [2018-11-14 19:10:46,963 INFO L273 TraceCheckUtils]: 20: Hoare triple {779#false} call #t~mem6 := read~int(~pa~0.base, ~pa~0.offset, 4); {779#false} is VALID [2018-11-14 19:10:46,963 INFO L273 TraceCheckUtils]: 21: Hoare triple {779#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {779#false} is VALID [2018-11-14 19:10:46,964 INFO L256 TraceCheckUtils]: 22: Hoare triple {779#false} call #t~ret8 := check(~#ad1~0.base, ~#ad1~0.offset, ~i~0); {779#false} is VALID [2018-11-14 19:10:46,964 INFO L273 TraceCheckUtils]: 23: Hoare triple {779#false} ~ad1.base, ~ad1.offset := #in~ad1.base, #in~ad1.offset;~b := #in~b;call #t~mem0 := read~int(~ad1.base, ~ad1.offset + ~b * 8 + 0, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {779#false} is VALID [2018-11-14 19:10:46,964 INFO L273 TraceCheckUtils]: 24: Hoare triple {779#false} assume true; {779#false} is VALID [2018-11-14 19:10:46,965 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {779#false} {779#false} #59#return; {779#false} is VALID [2018-11-14 19:10:46,965 INFO L273 TraceCheckUtils]: 26: Hoare triple {779#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {779#false} is VALID [2018-11-14 19:10:46,965 INFO L273 TraceCheckUtils]: 27: Hoare triple {779#false} assume #t~ret8 == 0;havoc #t~ret8; {779#false} is VALID [2018-11-14 19:10:46,966 INFO L273 TraceCheckUtils]: 28: Hoare triple {779#false} assume !false; {779#false} is VALID [2018-11-14 19:10:46,968 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 0 proven. 15 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 19:10:46,992 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 19:10:46,993 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 7 [2018-11-14 19:10:46,993 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 29 [2018-11-14 19:10:46,994 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 19:10:46,994 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2018-11-14 19:10:47,042 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 19:10:47,043 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-14 19:10:47,043 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-14 19:10:47,044 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=21, Unknown=0, NotChecked=0, Total=42 [2018-11-14 19:10:47,044 INFO L87 Difference]: Start difference. First operand 30 states and 31 transitions. Second operand 7 states. [2018-11-14 19:10:47,211 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:10:47,211 INFO L93 Difference]: Finished difference Result 47 states and 49 transitions. [2018-11-14 19:10:47,211 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-14 19:10:47,212 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 29 [2018-11-14 19:10:47,212 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 19:10:47,212 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-11-14 19:10:47,214 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 49 transitions. [2018-11-14 19:10:47,214 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-11-14 19:10:47,217 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 49 transitions. [2018-11-14 19:10:47,218 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 49 transitions. [2018-11-14 19:10:47,306 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 19:10:47,308 INFO L225 Difference]: With dead ends: 47 [2018-11-14 19:10:47,308 INFO L226 Difference]: Without dead ends: 34 [2018-11-14 19:10:47,309 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 34 GetRequests, 29 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=21, Invalid=21, Unknown=0, NotChecked=0, Total=42 [2018-11-14 19:10:47,310 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 34 states. [2018-11-14 19:10:47,327 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 34 to 33. [2018-11-14 19:10:47,328 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 19:10:47,328 INFO L82 GeneralOperation]: Start isEquivalent. First operand 34 states. Second operand 33 states. [2018-11-14 19:10:47,328 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand 33 states. [2018-11-14 19:10:47,328 INFO L87 Difference]: Start difference. First operand 34 states. Second operand 33 states. [2018-11-14 19:10:47,331 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:10:47,332 INFO L93 Difference]: Finished difference Result 34 states and 35 transitions. [2018-11-14 19:10:47,332 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 35 transitions. [2018-11-14 19:10:47,333 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 19:10:47,333 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 19:10:47,333 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand 34 states. [2018-11-14 19:10:47,334 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 34 states. [2018-11-14 19:10:47,335 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:10:47,335 INFO L93 Difference]: Finished difference Result 34 states and 35 transitions. [2018-11-14 19:10:47,336 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 35 transitions. [2018-11-14 19:10:47,336 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 19:10:47,336 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 19:10:47,337 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 19:10:47,337 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 19:10:47,337 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2018-11-14 19:10:47,338 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 34 transitions. [2018-11-14 19:10:47,339 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 34 transitions. Word has length 29 [2018-11-14 19:10:47,339 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 19:10:47,339 INFO L480 AbstractCegarLoop]: Abstraction has 33 states and 34 transitions. [2018-11-14 19:10:47,339 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-14 19:10:47,339 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 34 transitions. [2018-11-14 19:10:47,340 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2018-11-14 19:10:47,340 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 19:10:47,341 INFO L375 BasicCegarLoop]: trace histogram [5, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 19:10:47,341 INFO L423 AbstractCegarLoop]: === Iteration 6 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 19:10:47,341 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 19:10:47,341 INFO L82 PathProgramCache]: Analyzing trace with hash 618770980, now seen corresponding path program 4 times [2018-11-14 19:10:47,342 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 19:10:47,342 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 19:10:47,342 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:10:47,343 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 19:10:47,343 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:10:47,366 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 19:10:47,540 INFO L256 TraceCheckUtils]: 0: Hoare triple {1049#true} call ULTIMATE.init(); {1049#true} is VALID [2018-11-14 19:10:47,541 INFO L273 TraceCheckUtils]: 1: Hoare triple {1049#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1049#true} is VALID [2018-11-14 19:10:47,541 INFO L273 TraceCheckUtils]: 2: Hoare triple {1049#true} assume true; {1049#true} is VALID [2018-11-14 19:10:47,541 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1049#true} {1049#true} #55#return; {1049#true} is VALID [2018-11-14 19:10:47,542 INFO L256 TraceCheckUtils]: 4: Hoare triple {1049#true} call #t~ret9 := main(); {1049#true} is VALID [2018-11-14 19:10:47,542 INFO L273 TraceCheckUtils]: 5: Hoare triple {1049#true} call ~#ad1~0.base, ~#ad1~0.offset := #Ultimate.alloc(160);havoc ~ad2~0.base, ~ad2~0.offset;havoc ~i~0;havoc ~j~0;havoc ~pa~0.base, ~pa~0.offset;~j~0 := 0; {1051#(= main_~j~0 0)} is VALID [2018-11-14 19:10:47,543 INFO L273 TraceCheckUtils]: 6: Hoare triple {1051#(= main_~j~0 0)} assume true; {1051#(= main_~j~0 0)} is VALID [2018-11-14 19:10:47,543 INFO L273 TraceCheckUtils]: 7: Hoare triple {1051#(= main_~j~0 0)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {1051#(= main_~j~0 0)} is VALID [2018-11-14 19:10:47,544 INFO L273 TraceCheckUtils]: 8: Hoare triple {1051#(= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {1052#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:47,563 INFO L273 TraceCheckUtils]: 9: Hoare triple {1052#(<= main_~j~0 1)} assume true; {1052#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:47,578 INFO L273 TraceCheckUtils]: 10: Hoare triple {1052#(<= main_~j~0 1)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {1052#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:47,586 INFO L273 TraceCheckUtils]: 11: Hoare triple {1052#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {1053#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:47,587 INFO L273 TraceCheckUtils]: 12: Hoare triple {1053#(<= main_~j~0 2)} assume true; {1053#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:47,587 INFO L273 TraceCheckUtils]: 13: Hoare triple {1053#(<= main_~j~0 2)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {1053#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:47,588 INFO L273 TraceCheckUtils]: 14: Hoare triple {1053#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {1054#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:47,589 INFO L273 TraceCheckUtils]: 15: Hoare triple {1054#(<= main_~j~0 3)} assume true; {1054#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:47,589 INFO L273 TraceCheckUtils]: 16: Hoare triple {1054#(<= main_~j~0 3)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {1054#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:47,590 INFO L273 TraceCheckUtils]: 17: Hoare triple {1054#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {1055#(<= main_~j~0 4)} is VALID [2018-11-14 19:10:47,595 INFO L273 TraceCheckUtils]: 18: Hoare triple {1055#(<= main_~j~0 4)} assume true; {1055#(<= main_~j~0 4)} is VALID [2018-11-14 19:10:47,596 INFO L273 TraceCheckUtils]: 19: Hoare triple {1055#(<= main_~j~0 4)} assume !(~j~0 < 20); {1050#false} is VALID [2018-11-14 19:10:47,596 INFO L273 TraceCheckUtils]: 20: Hoare triple {1050#false} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~i~0 := #t~nondet4;havoc #t~nondet4; {1050#false} is VALID [2018-11-14 19:10:47,597 INFO L273 TraceCheckUtils]: 21: Hoare triple {1050#false} assume ~i~0 >= 0 && ~i~0 < 10;~ad2~0.base, ~ad2~0.offset := ~#ad1~0.base, ~#ad1~0.offset;call write~int(~i~0, ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + ~i~0 * 8 + 0, 4);~i~0 := #t~mem5 + 10;havoc #t~mem5; {1050#false} is VALID [2018-11-14 19:10:47,597 INFO L273 TraceCheckUtils]: 22: Hoare triple {1050#false} assume true; {1050#false} is VALID [2018-11-14 19:10:47,597 INFO L273 TraceCheckUtils]: 23: Hoare triple {1050#false} call #t~mem6 := read~int(~pa~0.base, ~pa~0.offset, 4); {1050#false} is VALID [2018-11-14 19:10:47,597 INFO L273 TraceCheckUtils]: 24: Hoare triple {1050#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {1050#false} is VALID [2018-11-14 19:10:47,597 INFO L256 TraceCheckUtils]: 25: Hoare triple {1050#false} call #t~ret8 := check(~#ad1~0.base, ~#ad1~0.offset, ~i~0); {1049#true} is VALID [2018-11-14 19:10:47,598 INFO L273 TraceCheckUtils]: 26: Hoare triple {1049#true} ~ad1.base, ~ad1.offset := #in~ad1.base, #in~ad1.offset;~b := #in~b;call #t~mem0 := read~int(~ad1.base, ~ad1.offset + ~b * 8 + 0, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {1049#true} is VALID [2018-11-14 19:10:47,598 INFO L273 TraceCheckUtils]: 27: Hoare triple {1049#true} assume true; {1049#true} is VALID [2018-11-14 19:10:47,598 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {1049#true} {1050#false} #59#return; {1050#false} is VALID [2018-11-14 19:10:47,598 INFO L273 TraceCheckUtils]: 29: Hoare triple {1050#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {1050#false} is VALID [2018-11-14 19:10:47,599 INFO L273 TraceCheckUtils]: 30: Hoare triple {1050#false} assume #t~ret8 == 0;havoc #t~ret8; {1050#false} is VALID [2018-11-14 19:10:47,599 INFO L273 TraceCheckUtils]: 31: Hoare triple {1050#false} assume !false; {1050#false} is VALID [2018-11-14 19:10:47,601 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 0 proven. 26 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 19:10:47,601 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 19:10:47,601 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-14 19:10:47,616 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-14 19:10:47,662 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-14 19:10:47,662 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 19:10:47,687 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 19:10:47,688 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 19:10:47,818 INFO L256 TraceCheckUtils]: 0: Hoare triple {1049#true} call ULTIMATE.init(); {1049#true} is VALID [2018-11-14 19:10:47,818 INFO L273 TraceCheckUtils]: 1: Hoare triple {1049#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1049#true} is VALID [2018-11-14 19:10:47,819 INFO L273 TraceCheckUtils]: 2: Hoare triple {1049#true} assume true; {1049#true} is VALID [2018-11-14 19:10:47,819 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1049#true} {1049#true} #55#return; {1049#true} is VALID [2018-11-14 19:10:47,819 INFO L256 TraceCheckUtils]: 4: Hoare triple {1049#true} call #t~ret9 := main(); {1049#true} is VALID [2018-11-14 19:10:47,821 INFO L273 TraceCheckUtils]: 5: Hoare triple {1049#true} call ~#ad1~0.base, ~#ad1~0.offset := #Ultimate.alloc(160);havoc ~ad2~0.base, ~ad2~0.offset;havoc ~i~0;havoc ~j~0;havoc ~pa~0.base, ~pa~0.offset;~j~0 := 0; {1074#(<= main_~j~0 0)} is VALID [2018-11-14 19:10:47,821 INFO L273 TraceCheckUtils]: 6: Hoare triple {1074#(<= main_~j~0 0)} assume true; {1074#(<= main_~j~0 0)} is VALID [2018-11-14 19:10:47,823 INFO L273 TraceCheckUtils]: 7: Hoare triple {1074#(<= main_~j~0 0)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {1074#(<= main_~j~0 0)} is VALID [2018-11-14 19:10:47,823 INFO L273 TraceCheckUtils]: 8: Hoare triple {1074#(<= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {1052#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:47,824 INFO L273 TraceCheckUtils]: 9: Hoare triple {1052#(<= main_~j~0 1)} assume true; {1052#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:47,825 INFO L273 TraceCheckUtils]: 10: Hoare triple {1052#(<= main_~j~0 1)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {1052#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:47,826 INFO L273 TraceCheckUtils]: 11: Hoare triple {1052#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {1053#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:47,827 INFO L273 TraceCheckUtils]: 12: Hoare triple {1053#(<= main_~j~0 2)} assume true; {1053#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:47,827 INFO L273 TraceCheckUtils]: 13: Hoare triple {1053#(<= main_~j~0 2)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {1053#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:47,828 INFO L273 TraceCheckUtils]: 14: Hoare triple {1053#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {1054#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:47,832 INFO L273 TraceCheckUtils]: 15: Hoare triple {1054#(<= main_~j~0 3)} assume true; {1054#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:47,832 INFO L273 TraceCheckUtils]: 16: Hoare triple {1054#(<= main_~j~0 3)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {1054#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:47,833 INFO L273 TraceCheckUtils]: 17: Hoare triple {1054#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {1055#(<= main_~j~0 4)} is VALID [2018-11-14 19:10:47,833 INFO L273 TraceCheckUtils]: 18: Hoare triple {1055#(<= main_~j~0 4)} assume true; {1055#(<= main_~j~0 4)} is VALID [2018-11-14 19:10:47,834 INFO L273 TraceCheckUtils]: 19: Hoare triple {1055#(<= main_~j~0 4)} assume !(~j~0 < 20); {1050#false} is VALID [2018-11-14 19:10:47,834 INFO L273 TraceCheckUtils]: 20: Hoare triple {1050#false} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~i~0 := #t~nondet4;havoc #t~nondet4; {1050#false} is VALID [2018-11-14 19:10:47,834 INFO L273 TraceCheckUtils]: 21: Hoare triple {1050#false} assume ~i~0 >= 0 && ~i~0 < 10;~ad2~0.base, ~ad2~0.offset := ~#ad1~0.base, ~#ad1~0.offset;call write~int(~i~0, ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + ~i~0 * 8 + 0, 4);~i~0 := #t~mem5 + 10;havoc #t~mem5; {1050#false} is VALID [2018-11-14 19:10:47,835 INFO L273 TraceCheckUtils]: 22: Hoare triple {1050#false} assume true; {1050#false} is VALID [2018-11-14 19:10:47,835 INFO L273 TraceCheckUtils]: 23: Hoare triple {1050#false} call #t~mem6 := read~int(~pa~0.base, ~pa~0.offset, 4); {1050#false} is VALID [2018-11-14 19:10:47,835 INFO L273 TraceCheckUtils]: 24: Hoare triple {1050#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {1050#false} is VALID [2018-11-14 19:10:47,835 INFO L256 TraceCheckUtils]: 25: Hoare triple {1050#false} call #t~ret8 := check(~#ad1~0.base, ~#ad1~0.offset, ~i~0); {1050#false} is VALID [2018-11-14 19:10:47,835 INFO L273 TraceCheckUtils]: 26: Hoare triple {1050#false} ~ad1.base, ~ad1.offset := #in~ad1.base, #in~ad1.offset;~b := #in~b;call #t~mem0 := read~int(~ad1.base, ~ad1.offset + ~b * 8 + 0, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {1050#false} is VALID [2018-11-14 19:10:47,836 INFO L273 TraceCheckUtils]: 27: Hoare triple {1050#false} assume true; {1050#false} is VALID [2018-11-14 19:10:47,836 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {1050#false} {1050#false} #59#return; {1050#false} is VALID [2018-11-14 19:10:47,836 INFO L273 TraceCheckUtils]: 29: Hoare triple {1050#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {1050#false} is VALID [2018-11-14 19:10:47,837 INFO L273 TraceCheckUtils]: 30: Hoare triple {1050#false} assume #t~ret8 == 0;havoc #t~ret8; {1050#false} is VALID [2018-11-14 19:10:47,837 INFO L273 TraceCheckUtils]: 31: Hoare triple {1050#false} assume !false; {1050#false} is VALID [2018-11-14 19:10:47,839 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 0 proven. 26 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 19:10:47,869 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 19:10:47,869 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 8 [2018-11-14 19:10:47,870 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 32 [2018-11-14 19:10:47,870 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 19:10:47,870 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-11-14 19:10:47,951 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 19:10:47,952 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-11-14 19:10:47,952 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-11-14 19:10:47,952 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=28, Unknown=0, NotChecked=0, Total=56 [2018-11-14 19:10:47,953 INFO L87 Difference]: Start difference. First operand 33 states and 34 transitions. Second operand 8 states. [2018-11-14 19:10:48,302 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:10:48,302 INFO L93 Difference]: Finished difference Result 50 states and 52 transitions. [2018-11-14 19:10:48,302 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-14 19:10:48,302 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 32 [2018-11-14 19:10:48,303 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 19:10:48,303 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-14 19:10:48,305 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 52 transitions. [2018-11-14 19:10:48,305 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-14 19:10:48,307 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 52 transitions. [2018-11-14 19:10:48,307 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 52 transitions. [2018-11-14 19:10:48,439 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-14 19:10:48,440 INFO L225 Difference]: With dead ends: 50 [2018-11-14 19:10:48,441 INFO L226 Difference]: Without dead ends: 37 [2018-11-14 19:10:48,441 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 38 GetRequests, 32 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=28, Invalid=28, Unknown=0, NotChecked=0, Total=56 [2018-11-14 19:10:48,442 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2018-11-14 19:10:48,467 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 36. [2018-11-14 19:10:48,467 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 19:10:48,467 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand 36 states. [2018-11-14 19:10:48,468 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand 36 states. [2018-11-14 19:10:48,468 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 36 states. [2018-11-14 19:10:48,471 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:10:48,471 INFO L93 Difference]: Finished difference Result 37 states and 38 transitions. [2018-11-14 19:10:48,471 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 38 transitions. [2018-11-14 19:10:48,471 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 19:10:48,472 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 19:10:48,472 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand 37 states. [2018-11-14 19:10:48,472 INFO L87 Difference]: Start difference. First operand 36 states. Second operand 37 states. [2018-11-14 19:10:48,474 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:10:48,474 INFO L93 Difference]: Finished difference Result 37 states and 38 transitions. [2018-11-14 19:10:48,474 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 38 transitions. [2018-11-14 19:10:48,475 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 19:10:48,475 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 19:10:48,475 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 19:10:48,475 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 19:10:48,475 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 36 states. [2018-11-14 19:10:48,477 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 37 transitions. [2018-11-14 19:10:48,477 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 37 transitions. Word has length 32 [2018-11-14 19:10:48,477 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 19:10:48,478 INFO L480 AbstractCegarLoop]: Abstraction has 36 states and 37 transitions. [2018-11-14 19:10:48,478 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-11-14 19:10:48,478 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 37 transitions. [2018-11-14 19:10:48,479 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2018-11-14 19:10:48,479 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 19:10:48,479 INFO L375 BasicCegarLoop]: trace histogram [6, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 19:10:48,479 INFO L423 AbstractCegarLoop]: === Iteration 7 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 19:10:48,480 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 19:10:48,480 INFO L82 PathProgramCache]: Analyzing trace with hash -260207277, now seen corresponding path program 5 times [2018-11-14 19:10:48,480 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 19:10:48,480 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 19:10:48,481 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:10:48,481 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 19:10:48,481 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:10:48,504 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 19:10:48,659 INFO L256 TraceCheckUtils]: 0: Hoare triple {1344#true} call ULTIMATE.init(); {1344#true} is VALID [2018-11-14 19:10:48,659 INFO L273 TraceCheckUtils]: 1: Hoare triple {1344#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1344#true} is VALID [2018-11-14 19:10:48,659 INFO L273 TraceCheckUtils]: 2: Hoare triple {1344#true} assume true; {1344#true} is VALID [2018-11-14 19:10:48,660 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1344#true} {1344#true} #55#return; {1344#true} is VALID [2018-11-14 19:10:48,660 INFO L256 TraceCheckUtils]: 4: Hoare triple {1344#true} call #t~ret9 := main(); {1344#true} is VALID [2018-11-14 19:10:48,660 INFO L273 TraceCheckUtils]: 5: Hoare triple {1344#true} call ~#ad1~0.base, ~#ad1~0.offset := #Ultimate.alloc(160);havoc ~ad2~0.base, ~ad2~0.offset;havoc ~i~0;havoc ~j~0;havoc ~pa~0.base, ~pa~0.offset;~j~0 := 0; {1346#(= main_~j~0 0)} is VALID [2018-11-14 19:10:48,661 INFO L273 TraceCheckUtils]: 6: Hoare triple {1346#(= main_~j~0 0)} assume true; {1346#(= main_~j~0 0)} is VALID [2018-11-14 19:10:48,661 INFO L273 TraceCheckUtils]: 7: Hoare triple {1346#(= main_~j~0 0)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {1346#(= main_~j~0 0)} is VALID [2018-11-14 19:10:48,662 INFO L273 TraceCheckUtils]: 8: Hoare triple {1346#(= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {1347#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:48,663 INFO L273 TraceCheckUtils]: 9: Hoare triple {1347#(<= main_~j~0 1)} assume true; {1347#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:48,663 INFO L273 TraceCheckUtils]: 10: Hoare triple {1347#(<= main_~j~0 1)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {1347#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:48,664 INFO L273 TraceCheckUtils]: 11: Hoare triple {1347#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {1348#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:48,664 INFO L273 TraceCheckUtils]: 12: Hoare triple {1348#(<= main_~j~0 2)} assume true; {1348#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:48,668 INFO L273 TraceCheckUtils]: 13: Hoare triple {1348#(<= main_~j~0 2)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {1348#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:48,669 INFO L273 TraceCheckUtils]: 14: Hoare triple {1348#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {1349#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:48,669 INFO L273 TraceCheckUtils]: 15: Hoare triple {1349#(<= main_~j~0 3)} assume true; {1349#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:48,669 INFO L273 TraceCheckUtils]: 16: Hoare triple {1349#(<= main_~j~0 3)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {1349#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:48,670 INFO L273 TraceCheckUtils]: 17: Hoare triple {1349#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {1350#(<= main_~j~0 4)} is VALID [2018-11-14 19:10:48,670 INFO L273 TraceCheckUtils]: 18: Hoare triple {1350#(<= main_~j~0 4)} assume true; {1350#(<= main_~j~0 4)} is VALID [2018-11-14 19:10:48,671 INFO L273 TraceCheckUtils]: 19: Hoare triple {1350#(<= main_~j~0 4)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {1350#(<= main_~j~0 4)} is VALID [2018-11-14 19:10:48,671 INFO L273 TraceCheckUtils]: 20: Hoare triple {1350#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {1351#(<= main_~j~0 5)} is VALID [2018-11-14 19:10:48,672 INFO L273 TraceCheckUtils]: 21: Hoare triple {1351#(<= main_~j~0 5)} assume true; {1351#(<= main_~j~0 5)} is VALID [2018-11-14 19:10:48,672 INFO L273 TraceCheckUtils]: 22: Hoare triple {1351#(<= main_~j~0 5)} assume !(~j~0 < 20); {1345#false} is VALID [2018-11-14 19:10:48,673 INFO L273 TraceCheckUtils]: 23: Hoare triple {1345#false} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~i~0 := #t~nondet4;havoc #t~nondet4; {1345#false} is VALID [2018-11-14 19:10:48,673 INFO L273 TraceCheckUtils]: 24: Hoare triple {1345#false} assume ~i~0 >= 0 && ~i~0 < 10;~ad2~0.base, ~ad2~0.offset := ~#ad1~0.base, ~#ad1~0.offset;call write~int(~i~0, ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + ~i~0 * 8 + 0, 4);~i~0 := #t~mem5 + 10;havoc #t~mem5; {1345#false} is VALID [2018-11-14 19:10:48,673 INFO L273 TraceCheckUtils]: 25: Hoare triple {1345#false} assume true; {1345#false} is VALID [2018-11-14 19:10:48,674 INFO L273 TraceCheckUtils]: 26: Hoare triple {1345#false} call #t~mem6 := read~int(~pa~0.base, ~pa~0.offset, 4); {1345#false} is VALID [2018-11-14 19:10:48,674 INFO L273 TraceCheckUtils]: 27: Hoare triple {1345#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {1345#false} is VALID [2018-11-14 19:10:48,674 INFO L256 TraceCheckUtils]: 28: Hoare triple {1345#false} call #t~ret8 := check(~#ad1~0.base, ~#ad1~0.offset, ~i~0); {1344#true} is VALID [2018-11-14 19:10:48,675 INFO L273 TraceCheckUtils]: 29: Hoare triple {1344#true} ~ad1.base, ~ad1.offset := #in~ad1.base, #in~ad1.offset;~b := #in~b;call #t~mem0 := read~int(~ad1.base, ~ad1.offset + ~b * 8 + 0, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {1344#true} is VALID [2018-11-14 19:10:48,675 INFO L273 TraceCheckUtils]: 30: Hoare triple {1344#true} assume true; {1344#true} is VALID [2018-11-14 19:10:48,675 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {1344#true} {1345#false} #59#return; {1345#false} is VALID [2018-11-14 19:10:48,676 INFO L273 TraceCheckUtils]: 32: Hoare triple {1345#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {1345#false} is VALID [2018-11-14 19:10:48,676 INFO L273 TraceCheckUtils]: 33: Hoare triple {1345#false} assume #t~ret8 == 0;havoc #t~ret8; {1345#false} is VALID [2018-11-14 19:10:48,676 INFO L273 TraceCheckUtils]: 34: Hoare triple {1345#false} assume !false; {1345#false} is VALID [2018-11-14 19:10:48,679 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 0 proven. 40 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 19:10:48,679 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 19:10:48,679 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-14 19:10:48,691 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-14 19:10:48,738 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 6 check-sat command(s) [2018-11-14 19:10:48,738 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 19:10:48,765 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 19:10:48,766 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 19:10:48,870 INFO L256 TraceCheckUtils]: 0: Hoare triple {1344#true} call ULTIMATE.init(); {1344#true} is VALID [2018-11-14 19:10:48,871 INFO L273 TraceCheckUtils]: 1: Hoare triple {1344#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1344#true} is VALID [2018-11-14 19:10:48,871 INFO L273 TraceCheckUtils]: 2: Hoare triple {1344#true} assume true; {1344#true} is VALID [2018-11-14 19:10:48,872 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1344#true} {1344#true} #55#return; {1344#true} is VALID [2018-11-14 19:10:48,872 INFO L256 TraceCheckUtils]: 4: Hoare triple {1344#true} call #t~ret9 := main(); {1344#true} is VALID [2018-11-14 19:10:48,873 INFO L273 TraceCheckUtils]: 5: Hoare triple {1344#true} call ~#ad1~0.base, ~#ad1~0.offset := #Ultimate.alloc(160);havoc ~ad2~0.base, ~ad2~0.offset;havoc ~i~0;havoc ~j~0;havoc ~pa~0.base, ~pa~0.offset;~j~0 := 0; {1370#(<= main_~j~0 0)} is VALID [2018-11-14 19:10:48,873 INFO L273 TraceCheckUtils]: 6: Hoare triple {1370#(<= main_~j~0 0)} assume true; {1370#(<= main_~j~0 0)} is VALID [2018-11-14 19:10:48,873 INFO L273 TraceCheckUtils]: 7: Hoare triple {1370#(<= main_~j~0 0)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {1370#(<= main_~j~0 0)} is VALID [2018-11-14 19:10:48,874 INFO L273 TraceCheckUtils]: 8: Hoare triple {1370#(<= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {1347#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:48,874 INFO L273 TraceCheckUtils]: 9: Hoare triple {1347#(<= main_~j~0 1)} assume true; {1347#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:48,875 INFO L273 TraceCheckUtils]: 10: Hoare triple {1347#(<= main_~j~0 1)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {1347#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:48,875 INFO L273 TraceCheckUtils]: 11: Hoare triple {1347#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {1348#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:48,876 INFO L273 TraceCheckUtils]: 12: Hoare triple {1348#(<= main_~j~0 2)} assume true; {1348#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:48,877 INFO L273 TraceCheckUtils]: 13: Hoare triple {1348#(<= main_~j~0 2)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {1348#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:48,878 INFO L273 TraceCheckUtils]: 14: Hoare triple {1348#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {1349#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:48,878 INFO L273 TraceCheckUtils]: 15: Hoare triple {1349#(<= main_~j~0 3)} assume true; {1349#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:48,879 INFO L273 TraceCheckUtils]: 16: Hoare triple {1349#(<= main_~j~0 3)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {1349#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:48,880 INFO L273 TraceCheckUtils]: 17: Hoare triple {1349#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {1350#(<= main_~j~0 4)} is VALID [2018-11-14 19:10:48,882 INFO L273 TraceCheckUtils]: 18: Hoare triple {1350#(<= main_~j~0 4)} assume true; {1350#(<= main_~j~0 4)} is VALID [2018-11-14 19:10:48,882 INFO L273 TraceCheckUtils]: 19: Hoare triple {1350#(<= main_~j~0 4)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {1350#(<= main_~j~0 4)} is VALID [2018-11-14 19:10:48,883 INFO L273 TraceCheckUtils]: 20: Hoare triple {1350#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {1351#(<= main_~j~0 5)} is VALID [2018-11-14 19:10:48,883 INFO L273 TraceCheckUtils]: 21: Hoare triple {1351#(<= main_~j~0 5)} assume true; {1351#(<= main_~j~0 5)} is VALID [2018-11-14 19:10:48,885 INFO L273 TraceCheckUtils]: 22: Hoare triple {1351#(<= main_~j~0 5)} assume !(~j~0 < 20); {1345#false} is VALID [2018-11-14 19:10:48,885 INFO L273 TraceCheckUtils]: 23: Hoare triple {1345#false} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~i~0 := #t~nondet4;havoc #t~nondet4; {1345#false} is VALID [2018-11-14 19:10:48,885 INFO L273 TraceCheckUtils]: 24: Hoare triple {1345#false} assume ~i~0 >= 0 && ~i~0 < 10;~ad2~0.base, ~ad2~0.offset := ~#ad1~0.base, ~#ad1~0.offset;call write~int(~i~0, ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + ~i~0 * 8 + 0, 4);~i~0 := #t~mem5 + 10;havoc #t~mem5; {1345#false} is VALID [2018-11-14 19:10:48,885 INFO L273 TraceCheckUtils]: 25: Hoare triple {1345#false} assume true; {1345#false} is VALID [2018-11-14 19:10:48,885 INFO L273 TraceCheckUtils]: 26: Hoare triple {1345#false} call #t~mem6 := read~int(~pa~0.base, ~pa~0.offset, 4); {1345#false} is VALID [2018-11-14 19:10:48,885 INFO L273 TraceCheckUtils]: 27: Hoare triple {1345#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {1345#false} is VALID [2018-11-14 19:10:48,886 INFO L256 TraceCheckUtils]: 28: Hoare triple {1345#false} call #t~ret8 := check(~#ad1~0.base, ~#ad1~0.offset, ~i~0); {1345#false} is VALID [2018-11-14 19:10:48,886 INFO L273 TraceCheckUtils]: 29: Hoare triple {1345#false} ~ad1.base, ~ad1.offset := #in~ad1.base, #in~ad1.offset;~b := #in~b;call #t~mem0 := read~int(~ad1.base, ~ad1.offset + ~b * 8 + 0, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {1345#false} is VALID [2018-11-14 19:10:48,886 INFO L273 TraceCheckUtils]: 30: Hoare triple {1345#false} assume true; {1345#false} is VALID [2018-11-14 19:10:48,886 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {1345#false} {1345#false} #59#return; {1345#false} is VALID [2018-11-14 19:10:48,886 INFO L273 TraceCheckUtils]: 32: Hoare triple {1345#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {1345#false} is VALID [2018-11-14 19:10:48,886 INFO L273 TraceCheckUtils]: 33: Hoare triple {1345#false} assume #t~ret8 == 0;havoc #t~ret8; {1345#false} is VALID [2018-11-14 19:10:48,886 INFO L273 TraceCheckUtils]: 34: Hoare triple {1345#false} assume !false; {1345#false} is VALID [2018-11-14 19:10:48,888 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 0 proven. 40 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 19:10:48,909 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 19:10:48,909 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2018-11-14 19:10:48,909 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 35 [2018-11-14 19:10:48,910 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 19:10:48,910 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2018-11-14 19:10:48,957 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 19:10:48,957 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2018-11-14 19:10:48,958 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-11-14 19:10:48,958 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=36, Unknown=0, NotChecked=0, Total=72 [2018-11-14 19:10:48,958 INFO L87 Difference]: Start difference. First operand 36 states and 37 transitions. Second operand 9 states. [2018-11-14 19:10:49,187 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:10:49,188 INFO L93 Difference]: Finished difference Result 53 states and 55 transitions. [2018-11-14 19:10:49,188 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-11-14 19:10:49,188 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 35 [2018-11-14 19:10:49,188 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 19:10:49,189 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-14 19:10:49,191 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 55 transitions. [2018-11-14 19:10:49,191 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-14 19:10:49,193 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 55 transitions. [2018-11-14 19:10:49,193 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 55 transitions. [2018-11-14 19:10:49,304 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 19:10:49,305 INFO L225 Difference]: With dead ends: 53 [2018-11-14 19:10:49,306 INFO L226 Difference]: Without dead ends: 40 [2018-11-14 19:10:49,307 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 42 GetRequests, 35 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=36, Invalid=36, Unknown=0, NotChecked=0, Total=72 [2018-11-14 19:10:49,307 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2018-11-14 19:10:49,421 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 39. [2018-11-14 19:10:49,421 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 19:10:49,421 INFO L82 GeneralOperation]: Start isEquivalent. First operand 40 states. Second operand 39 states. [2018-11-14 19:10:49,421 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand 39 states. [2018-11-14 19:10:49,421 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 39 states. [2018-11-14 19:10:49,423 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:10:49,423 INFO L93 Difference]: Finished difference Result 40 states and 41 transitions. [2018-11-14 19:10:49,423 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 41 transitions. [2018-11-14 19:10:49,424 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 19:10:49,424 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 19:10:49,424 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand 40 states. [2018-11-14 19:10:49,424 INFO L87 Difference]: Start difference. First operand 39 states. Second operand 40 states. [2018-11-14 19:10:49,426 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:10:49,426 INFO L93 Difference]: Finished difference Result 40 states and 41 transitions. [2018-11-14 19:10:49,426 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 41 transitions. [2018-11-14 19:10:49,427 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 19:10:49,427 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 19:10:49,427 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 19:10:49,427 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 19:10:49,427 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 39 states. [2018-11-14 19:10:49,429 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 40 transitions. [2018-11-14 19:10:49,429 INFO L78 Accepts]: Start accepts. Automaton has 39 states and 40 transitions. Word has length 35 [2018-11-14 19:10:49,429 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 19:10:49,429 INFO L480 AbstractCegarLoop]: Abstraction has 39 states and 40 transitions. [2018-11-14 19:10:49,429 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2018-11-14 19:10:49,430 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 40 transitions. [2018-11-14 19:10:49,430 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2018-11-14 19:10:49,431 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 19:10:49,431 INFO L375 BasicCegarLoop]: trace histogram [7, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 19:10:49,431 INFO L423 AbstractCegarLoop]: === Iteration 8 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 19:10:49,431 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 19:10:49,431 INFO L82 PathProgramCache]: Analyzing trace with hash 514142148, now seen corresponding path program 6 times [2018-11-14 19:10:49,432 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 19:10:49,432 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 19:10:49,433 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:10:49,433 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 19:10:49,433 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:10:49,455 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 19:10:49,748 INFO L256 TraceCheckUtils]: 0: Hoare triple {1663#true} call ULTIMATE.init(); {1663#true} is VALID [2018-11-14 19:10:49,748 INFO L273 TraceCheckUtils]: 1: Hoare triple {1663#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1663#true} is VALID [2018-11-14 19:10:49,748 INFO L273 TraceCheckUtils]: 2: Hoare triple {1663#true} assume true; {1663#true} is VALID [2018-11-14 19:10:49,749 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1663#true} {1663#true} #55#return; {1663#true} is VALID [2018-11-14 19:10:49,749 INFO L256 TraceCheckUtils]: 4: Hoare triple {1663#true} call #t~ret9 := main(); {1663#true} is VALID [2018-11-14 19:10:49,749 INFO L273 TraceCheckUtils]: 5: Hoare triple {1663#true} call ~#ad1~0.base, ~#ad1~0.offset := #Ultimate.alloc(160);havoc ~ad2~0.base, ~ad2~0.offset;havoc ~i~0;havoc ~j~0;havoc ~pa~0.base, ~pa~0.offset;~j~0 := 0; {1665#(= main_~j~0 0)} is VALID [2018-11-14 19:10:49,750 INFO L273 TraceCheckUtils]: 6: Hoare triple {1665#(= main_~j~0 0)} assume true; {1665#(= main_~j~0 0)} is VALID [2018-11-14 19:10:49,750 INFO L273 TraceCheckUtils]: 7: Hoare triple {1665#(= main_~j~0 0)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {1665#(= main_~j~0 0)} is VALID [2018-11-14 19:10:49,750 INFO L273 TraceCheckUtils]: 8: Hoare triple {1665#(= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {1666#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:49,751 INFO L273 TraceCheckUtils]: 9: Hoare triple {1666#(<= main_~j~0 1)} assume true; {1666#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:49,751 INFO L273 TraceCheckUtils]: 10: Hoare triple {1666#(<= main_~j~0 1)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {1666#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:49,752 INFO L273 TraceCheckUtils]: 11: Hoare triple {1666#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {1667#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:49,753 INFO L273 TraceCheckUtils]: 12: Hoare triple {1667#(<= main_~j~0 2)} assume true; {1667#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:49,753 INFO L273 TraceCheckUtils]: 13: Hoare triple {1667#(<= main_~j~0 2)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {1667#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:49,754 INFO L273 TraceCheckUtils]: 14: Hoare triple {1667#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {1668#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:49,755 INFO L273 TraceCheckUtils]: 15: Hoare triple {1668#(<= main_~j~0 3)} assume true; {1668#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:49,756 INFO L273 TraceCheckUtils]: 16: Hoare triple {1668#(<= main_~j~0 3)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {1668#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:49,757 INFO L273 TraceCheckUtils]: 17: Hoare triple {1668#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {1669#(<= main_~j~0 4)} is VALID [2018-11-14 19:10:49,757 INFO L273 TraceCheckUtils]: 18: Hoare triple {1669#(<= main_~j~0 4)} assume true; {1669#(<= main_~j~0 4)} is VALID [2018-11-14 19:10:49,758 INFO L273 TraceCheckUtils]: 19: Hoare triple {1669#(<= main_~j~0 4)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {1669#(<= main_~j~0 4)} is VALID [2018-11-14 19:10:49,759 INFO L273 TraceCheckUtils]: 20: Hoare triple {1669#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {1670#(<= main_~j~0 5)} is VALID [2018-11-14 19:10:49,760 INFO L273 TraceCheckUtils]: 21: Hoare triple {1670#(<= main_~j~0 5)} assume true; {1670#(<= main_~j~0 5)} is VALID [2018-11-14 19:10:49,761 INFO L273 TraceCheckUtils]: 22: Hoare triple {1670#(<= main_~j~0 5)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {1670#(<= main_~j~0 5)} is VALID [2018-11-14 19:10:49,762 INFO L273 TraceCheckUtils]: 23: Hoare triple {1670#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {1671#(<= main_~j~0 6)} is VALID [2018-11-14 19:10:49,769 INFO L273 TraceCheckUtils]: 24: Hoare triple {1671#(<= main_~j~0 6)} assume true; {1671#(<= main_~j~0 6)} is VALID [2018-11-14 19:10:49,771 INFO L273 TraceCheckUtils]: 25: Hoare triple {1671#(<= main_~j~0 6)} assume !(~j~0 < 20); {1664#false} is VALID [2018-11-14 19:10:49,772 INFO L273 TraceCheckUtils]: 26: Hoare triple {1664#false} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~i~0 := #t~nondet4;havoc #t~nondet4; {1664#false} is VALID [2018-11-14 19:10:49,772 INFO L273 TraceCheckUtils]: 27: Hoare triple {1664#false} assume ~i~0 >= 0 && ~i~0 < 10;~ad2~0.base, ~ad2~0.offset := ~#ad1~0.base, ~#ad1~0.offset;call write~int(~i~0, ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + ~i~0 * 8 + 0, 4);~i~0 := #t~mem5 + 10;havoc #t~mem5; {1664#false} is VALID [2018-11-14 19:10:49,772 INFO L273 TraceCheckUtils]: 28: Hoare triple {1664#false} assume true; {1664#false} is VALID [2018-11-14 19:10:49,772 INFO L273 TraceCheckUtils]: 29: Hoare triple {1664#false} call #t~mem6 := read~int(~pa~0.base, ~pa~0.offset, 4); {1664#false} is VALID [2018-11-14 19:10:49,772 INFO L273 TraceCheckUtils]: 30: Hoare triple {1664#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {1664#false} is VALID [2018-11-14 19:10:49,772 INFO L256 TraceCheckUtils]: 31: Hoare triple {1664#false} call #t~ret8 := check(~#ad1~0.base, ~#ad1~0.offset, ~i~0); {1663#true} is VALID [2018-11-14 19:10:49,773 INFO L273 TraceCheckUtils]: 32: Hoare triple {1663#true} ~ad1.base, ~ad1.offset := #in~ad1.base, #in~ad1.offset;~b := #in~b;call #t~mem0 := read~int(~ad1.base, ~ad1.offset + ~b * 8 + 0, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {1663#true} is VALID [2018-11-14 19:10:49,773 INFO L273 TraceCheckUtils]: 33: Hoare triple {1663#true} assume true; {1663#true} is VALID [2018-11-14 19:10:49,773 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {1663#true} {1664#false} #59#return; {1664#false} is VALID [2018-11-14 19:10:49,773 INFO L273 TraceCheckUtils]: 35: Hoare triple {1664#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {1664#false} is VALID [2018-11-14 19:10:49,773 INFO L273 TraceCheckUtils]: 36: Hoare triple {1664#false} assume #t~ret8 == 0;havoc #t~ret8; {1664#false} is VALID [2018-11-14 19:10:49,773 INFO L273 TraceCheckUtils]: 37: Hoare triple {1664#false} assume !false; {1664#false} is VALID [2018-11-14 19:10:49,775 INFO L134 CoverageAnalysis]: Checked inductivity of 57 backedges. 0 proven. 57 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 19:10:49,775 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 19:10:49,775 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-14 19:10:49,784 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-14 19:10:49,854 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2018-11-14 19:10:49,854 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 19:10:49,872 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 19:10:49,873 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 19:10:49,983 INFO L256 TraceCheckUtils]: 0: Hoare triple {1663#true} call ULTIMATE.init(); {1663#true} is VALID [2018-11-14 19:10:49,983 INFO L273 TraceCheckUtils]: 1: Hoare triple {1663#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1663#true} is VALID [2018-11-14 19:10:49,984 INFO L273 TraceCheckUtils]: 2: Hoare triple {1663#true} assume true; {1663#true} is VALID [2018-11-14 19:10:49,984 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1663#true} {1663#true} #55#return; {1663#true} is VALID [2018-11-14 19:10:49,984 INFO L256 TraceCheckUtils]: 4: Hoare triple {1663#true} call #t~ret9 := main(); {1663#true} is VALID [2018-11-14 19:10:49,985 INFO L273 TraceCheckUtils]: 5: Hoare triple {1663#true} call ~#ad1~0.base, ~#ad1~0.offset := #Ultimate.alloc(160);havoc ~ad2~0.base, ~ad2~0.offset;havoc ~i~0;havoc ~j~0;havoc ~pa~0.base, ~pa~0.offset;~j~0 := 0; {1690#(<= main_~j~0 0)} is VALID [2018-11-14 19:10:49,986 INFO L273 TraceCheckUtils]: 6: Hoare triple {1690#(<= main_~j~0 0)} assume true; {1690#(<= main_~j~0 0)} is VALID [2018-11-14 19:10:49,986 INFO L273 TraceCheckUtils]: 7: Hoare triple {1690#(<= main_~j~0 0)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {1690#(<= main_~j~0 0)} is VALID [2018-11-14 19:10:49,987 INFO L273 TraceCheckUtils]: 8: Hoare triple {1690#(<= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {1666#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:49,988 INFO L273 TraceCheckUtils]: 9: Hoare triple {1666#(<= main_~j~0 1)} assume true; {1666#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:49,988 INFO L273 TraceCheckUtils]: 10: Hoare triple {1666#(<= main_~j~0 1)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {1666#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:49,989 INFO L273 TraceCheckUtils]: 11: Hoare triple {1666#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {1667#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:49,991 INFO L273 TraceCheckUtils]: 12: Hoare triple {1667#(<= main_~j~0 2)} assume true; {1667#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:49,992 INFO L273 TraceCheckUtils]: 13: Hoare triple {1667#(<= main_~j~0 2)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {1667#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:49,993 INFO L273 TraceCheckUtils]: 14: Hoare triple {1667#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {1668#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:49,994 INFO L273 TraceCheckUtils]: 15: Hoare triple {1668#(<= main_~j~0 3)} assume true; {1668#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:49,995 INFO L273 TraceCheckUtils]: 16: Hoare triple {1668#(<= main_~j~0 3)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {1668#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:49,995 INFO L273 TraceCheckUtils]: 17: Hoare triple {1668#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {1669#(<= main_~j~0 4)} is VALID [2018-11-14 19:10:50,000 INFO L273 TraceCheckUtils]: 18: Hoare triple {1669#(<= main_~j~0 4)} assume true; {1669#(<= main_~j~0 4)} is VALID [2018-11-14 19:10:50,004 INFO L273 TraceCheckUtils]: 19: Hoare triple {1669#(<= main_~j~0 4)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {1669#(<= main_~j~0 4)} is VALID [2018-11-14 19:10:50,008 INFO L273 TraceCheckUtils]: 20: Hoare triple {1669#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {1670#(<= main_~j~0 5)} is VALID [2018-11-14 19:10:50,008 INFO L273 TraceCheckUtils]: 21: Hoare triple {1670#(<= main_~j~0 5)} assume true; {1670#(<= main_~j~0 5)} is VALID [2018-11-14 19:10:50,010 INFO L273 TraceCheckUtils]: 22: Hoare triple {1670#(<= main_~j~0 5)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {1670#(<= main_~j~0 5)} is VALID [2018-11-14 19:10:50,010 INFO L273 TraceCheckUtils]: 23: Hoare triple {1670#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {1671#(<= main_~j~0 6)} is VALID [2018-11-14 19:10:50,012 INFO L273 TraceCheckUtils]: 24: Hoare triple {1671#(<= main_~j~0 6)} assume true; {1671#(<= main_~j~0 6)} is VALID [2018-11-14 19:10:50,012 INFO L273 TraceCheckUtils]: 25: Hoare triple {1671#(<= main_~j~0 6)} assume !(~j~0 < 20); {1664#false} is VALID [2018-11-14 19:10:50,012 INFO L273 TraceCheckUtils]: 26: Hoare triple {1664#false} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~i~0 := #t~nondet4;havoc #t~nondet4; {1664#false} is VALID [2018-11-14 19:10:50,012 INFO L273 TraceCheckUtils]: 27: Hoare triple {1664#false} assume ~i~0 >= 0 && ~i~0 < 10;~ad2~0.base, ~ad2~0.offset := ~#ad1~0.base, ~#ad1~0.offset;call write~int(~i~0, ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + ~i~0 * 8 + 0, 4);~i~0 := #t~mem5 + 10;havoc #t~mem5; {1664#false} is VALID [2018-11-14 19:10:50,013 INFO L273 TraceCheckUtils]: 28: Hoare triple {1664#false} assume true; {1664#false} is VALID [2018-11-14 19:10:50,013 INFO L273 TraceCheckUtils]: 29: Hoare triple {1664#false} call #t~mem6 := read~int(~pa~0.base, ~pa~0.offset, 4); {1664#false} is VALID [2018-11-14 19:10:50,013 INFO L273 TraceCheckUtils]: 30: Hoare triple {1664#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {1664#false} is VALID [2018-11-14 19:10:50,013 INFO L256 TraceCheckUtils]: 31: Hoare triple {1664#false} call #t~ret8 := check(~#ad1~0.base, ~#ad1~0.offset, ~i~0); {1664#false} is VALID [2018-11-14 19:10:50,014 INFO L273 TraceCheckUtils]: 32: Hoare triple {1664#false} ~ad1.base, ~ad1.offset := #in~ad1.base, #in~ad1.offset;~b := #in~b;call #t~mem0 := read~int(~ad1.base, ~ad1.offset + ~b * 8 + 0, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {1664#false} is VALID [2018-11-14 19:10:50,014 INFO L273 TraceCheckUtils]: 33: Hoare triple {1664#false} assume true; {1664#false} is VALID [2018-11-14 19:10:50,014 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {1664#false} {1664#false} #59#return; {1664#false} is VALID [2018-11-14 19:10:50,014 INFO L273 TraceCheckUtils]: 35: Hoare triple {1664#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {1664#false} is VALID [2018-11-14 19:10:50,015 INFO L273 TraceCheckUtils]: 36: Hoare triple {1664#false} assume #t~ret8 == 0;havoc #t~ret8; {1664#false} is VALID [2018-11-14 19:10:50,015 INFO L273 TraceCheckUtils]: 37: Hoare triple {1664#false} assume !false; {1664#false} is VALID [2018-11-14 19:10:50,017 INFO L134 CoverageAnalysis]: Checked inductivity of 57 backedges. 0 proven. 57 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 19:10:50,037 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 19:10:50,037 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 10 [2018-11-14 19:10:50,037 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 38 [2018-11-14 19:10:50,038 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 19:10:50,038 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-11-14 19:10:50,167 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-14 19:10:50,167 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-11-14 19:10:50,168 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-11-14 19:10:50,168 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=45, Unknown=0, NotChecked=0, Total=90 [2018-11-14 19:10:50,168 INFO L87 Difference]: Start difference. First operand 39 states and 40 transitions. Second operand 10 states. [2018-11-14 19:10:50,656 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:10:50,656 INFO L93 Difference]: Finished difference Result 56 states and 58 transitions. [2018-11-14 19:10:50,656 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-11-14 19:10:50,656 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 38 [2018-11-14 19:10:50,656 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 19:10:50,657 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-11-14 19:10:50,658 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 58 transitions. [2018-11-14 19:10:50,658 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-11-14 19:10:50,661 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 58 transitions. [2018-11-14 19:10:50,662 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 58 transitions. [2018-11-14 19:10:50,811 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-14 19:10:50,813 INFO L225 Difference]: With dead ends: 56 [2018-11-14 19:10:50,813 INFO L226 Difference]: Without dead ends: 43 [2018-11-14 19:10:50,814 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 46 GetRequests, 38 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=45, Invalid=45, Unknown=0, NotChecked=0, Total=90 [2018-11-14 19:10:50,814 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2018-11-14 19:10:50,841 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 42. [2018-11-14 19:10:50,842 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 19:10:50,842 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand 42 states. [2018-11-14 19:10:50,842 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand 42 states. [2018-11-14 19:10:50,842 INFO L87 Difference]: Start difference. First operand 43 states. Second operand 42 states. [2018-11-14 19:10:50,843 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:10:50,844 INFO L93 Difference]: Finished difference Result 43 states and 44 transitions. [2018-11-14 19:10:50,844 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 44 transitions. [2018-11-14 19:10:50,844 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 19:10:50,844 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 19:10:50,844 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand 43 states. [2018-11-14 19:10:50,844 INFO L87 Difference]: Start difference. First operand 42 states. Second operand 43 states. [2018-11-14 19:10:50,846 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:10:50,846 INFO L93 Difference]: Finished difference Result 43 states and 44 transitions. [2018-11-14 19:10:50,846 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 44 transitions. [2018-11-14 19:10:50,846 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 19:10:50,847 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 19:10:50,847 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 19:10:50,847 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 19:10:50,847 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 42 states. [2018-11-14 19:10:50,848 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 43 transitions. [2018-11-14 19:10:50,848 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 43 transitions. Word has length 38 [2018-11-14 19:10:50,849 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 19:10:50,849 INFO L480 AbstractCegarLoop]: Abstraction has 42 states and 43 transitions. [2018-11-14 19:10:50,849 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-11-14 19:10:50,849 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 43 transitions. [2018-11-14 19:10:50,849 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2018-11-14 19:10:50,849 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 19:10:50,850 INFO L375 BasicCegarLoop]: trace histogram [8, 7, 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 19:10:50,850 INFO L423 AbstractCegarLoop]: === Iteration 9 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 19:10:50,850 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 19:10:50,850 INFO L82 PathProgramCache]: Analyzing trace with hash 888515507, now seen corresponding path program 7 times [2018-11-14 19:10:50,850 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 19:10:50,850 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 19:10:50,851 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:10:50,851 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 19:10:50,852 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:10:50,873 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 19:10:51,299 INFO L256 TraceCheckUtils]: 0: Hoare triple {2006#true} call ULTIMATE.init(); {2006#true} is VALID [2018-11-14 19:10:51,299 INFO L273 TraceCheckUtils]: 1: Hoare triple {2006#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2006#true} is VALID [2018-11-14 19:10:51,299 INFO L273 TraceCheckUtils]: 2: Hoare triple {2006#true} assume true; {2006#true} is VALID [2018-11-14 19:10:51,300 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2006#true} {2006#true} #55#return; {2006#true} is VALID [2018-11-14 19:10:51,300 INFO L256 TraceCheckUtils]: 4: Hoare triple {2006#true} call #t~ret9 := main(); {2006#true} is VALID [2018-11-14 19:10:51,310 INFO L273 TraceCheckUtils]: 5: Hoare triple {2006#true} call ~#ad1~0.base, ~#ad1~0.offset := #Ultimate.alloc(160);havoc ~ad2~0.base, ~ad2~0.offset;havoc ~i~0;havoc ~j~0;havoc ~pa~0.base, ~pa~0.offset;~j~0 := 0; {2008#(= main_~j~0 0)} is VALID [2018-11-14 19:10:51,310 INFO L273 TraceCheckUtils]: 6: Hoare triple {2008#(= main_~j~0 0)} assume true; {2008#(= main_~j~0 0)} is VALID [2018-11-14 19:10:51,312 INFO L273 TraceCheckUtils]: 7: Hoare triple {2008#(= main_~j~0 0)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {2008#(= main_~j~0 0)} is VALID [2018-11-14 19:10:51,312 INFO L273 TraceCheckUtils]: 8: Hoare triple {2008#(= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {2009#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:51,312 INFO L273 TraceCheckUtils]: 9: Hoare triple {2009#(<= main_~j~0 1)} assume true; {2009#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:51,313 INFO L273 TraceCheckUtils]: 10: Hoare triple {2009#(<= main_~j~0 1)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {2009#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:51,313 INFO L273 TraceCheckUtils]: 11: Hoare triple {2009#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {2010#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:51,314 INFO L273 TraceCheckUtils]: 12: Hoare triple {2010#(<= main_~j~0 2)} assume true; {2010#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:51,314 INFO L273 TraceCheckUtils]: 13: Hoare triple {2010#(<= main_~j~0 2)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {2010#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:51,314 INFO L273 TraceCheckUtils]: 14: Hoare triple {2010#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {2011#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:51,315 INFO L273 TraceCheckUtils]: 15: Hoare triple {2011#(<= main_~j~0 3)} assume true; {2011#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:51,315 INFO L273 TraceCheckUtils]: 16: Hoare triple {2011#(<= main_~j~0 3)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {2011#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:51,315 INFO L273 TraceCheckUtils]: 17: Hoare triple {2011#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {2012#(<= main_~j~0 4)} is VALID [2018-11-14 19:10:51,316 INFO L273 TraceCheckUtils]: 18: Hoare triple {2012#(<= main_~j~0 4)} assume true; {2012#(<= main_~j~0 4)} is VALID [2018-11-14 19:10:51,318 INFO L273 TraceCheckUtils]: 19: Hoare triple {2012#(<= main_~j~0 4)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {2012#(<= main_~j~0 4)} is VALID [2018-11-14 19:10:51,321 INFO L273 TraceCheckUtils]: 20: Hoare triple {2012#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {2013#(<= main_~j~0 5)} is VALID [2018-11-14 19:10:51,321 INFO L273 TraceCheckUtils]: 21: Hoare triple {2013#(<= main_~j~0 5)} assume true; {2013#(<= main_~j~0 5)} is VALID [2018-11-14 19:10:51,322 INFO L273 TraceCheckUtils]: 22: Hoare triple {2013#(<= main_~j~0 5)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {2013#(<= main_~j~0 5)} is VALID [2018-11-14 19:10:51,322 INFO L273 TraceCheckUtils]: 23: Hoare triple {2013#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {2014#(<= main_~j~0 6)} is VALID [2018-11-14 19:10:51,323 INFO L273 TraceCheckUtils]: 24: Hoare triple {2014#(<= main_~j~0 6)} assume true; {2014#(<= main_~j~0 6)} is VALID [2018-11-14 19:10:51,323 INFO L273 TraceCheckUtils]: 25: Hoare triple {2014#(<= main_~j~0 6)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {2014#(<= main_~j~0 6)} is VALID [2018-11-14 19:10:51,323 INFO L273 TraceCheckUtils]: 26: Hoare triple {2014#(<= main_~j~0 6)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {2015#(<= main_~j~0 7)} is VALID [2018-11-14 19:10:51,324 INFO L273 TraceCheckUtils]: 27: Hoare triple {2015#(<= main_~j~0 7)} assume true; {2015#(<= main_~j~0 7)} is VALID [2018-11-14 19:10:51,324 INFO L273 TraceCheckUtils]: 28: Hoare triple {2015#(<= main_~j~0 7)} assume !(~j~0 < 20); {2007#false} is VALID [2018-11-14 19:10:51,324 INFO L273 TraceCheckUtils]: 29: Hoare triple {2007#false} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~i~0 := #t~nondet4;havoc #t~nondet4; {2007#false} is VALID [2018-11-14 19:10:51,324 INFO L273 TraceCheckUtils]: 30: Hoare triple {2007#false} assume ~i~0 >= 0 && ~i~0 < 10;~ad2~0.base, ~ad2~0.offset := ~#ad1~0.base, ~#ad1~0.offset;call write~int(~i~0, ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + ~i~0 * 8 + 0, 4);~i~0 := #t~mem5 + 10;havoc #t~mem5; {2007#false} is VALID [2018-11-14 19:10:51,324 INFO L273 TraceCheckUtils]: 31: Hoare triple {2007#false} assume true; {2007#false} is VALID [2018-11-14 19:10:51,325 INFO L273 TraceCheckUtils]: 32: Hoare triple {2007#false} call #t~mem6 := read~int(~pa~0.base, ~pa~0.offset, 4); {2007#false} is VALID [2018-11-14 19:10:51,325 INFO L273 TraceCheckUtils]: 33: Hoare triple {2007#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {2007#false} is VALID [2018-11-14 19:10:51,325 INFO L256 TraceCheckUtils]: 34: Hoare triple {2007#false} call #t~ret8 := check(~#ad1~0.base, ~#ad1~0.offset, ~i~0); {2006#true} is VALID [2018-11-14 19:10:51,325 INFO L273 TraceCheckUtils]: 35: Hoare triple {2006#true} ~ad1.base, ~ad1.offset := #in~ad1.base, #in~ad1.offset;~b := #in~b;call #t~mem0 := read~int(~ad1.base, ~ad1.offset + ~b * 8 + 0, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {2006#true} is VALID [2018-11-14 19:10:51,326 INFO L273 TraceCheckUtils]: 36: Hoare triple {2006#true} assume true; {2006#true} is VALID [2018-11-14 19:10:51,326 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {2006#true} {2007#false} #59#return; {2007#false} is VALID [2018-11-14 19:10:51,326 INFO L273 TraceCheckUtils]: 38: Hoare triple {2007#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {2007#false} is VALID [2018-11-14 19:10:51,327 INFO L273 TraceCheckUtils]: 39: Hoare triple {2007#false} assume #t~ret8 == 0;havoc #t~ret8; {2007#false} is VALID [2018-11-14 19:10:51,327 INFO L273 TraceCheckUtils]: 40: Hoare triple {2007#false} assume !false; {2007#false} is VALID [2018-11-14 19:10:51,328 INFO L134 CoverageAnalysis]: Checked inductivity of 77 backedges. 0 proven. 77 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 19:10:51,328 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 19:10:51,328 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-14 19:10:51,336 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 19:10:51,369 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 19:10:51,396 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 19:10:51,397 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 19:10:52,056 INFO L256 TraceCheckUtils]: 0: Hoare triple {2006#true} call ULTIMATE.init(); {2006#true} is VALID [2018-11-14 19:10:52,056 INFO L273 TraceCheckUtils]: 1: Hoare triple {2006#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2006#true} is VALID [2018-11-14 19:10:52,057 INFO L273 TraceCheckUtils]: 2: Hoare triple {2006#true} assume true; {2006#true} is VALID [2018-11-14 19:10:52,057 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2006#true} {2006#true} #55#return; {2006#true} is VALID [2018-11-14 19:10:52,057 INFO L256 TraceCheckUtils]: 4: Hoare triple {2006#true} call #t~ret9 := main(); {2006#true} is VALID [2018-11-14 19:10:52,058 INFO L273 TraceCheckUtils]: 5: Hoare triple {2006#true} call ~#ad1~0.base, ~#ad1~0.offset := #Ultimate.alloc(160);havoc ~ad2~0.base, ~ad2~0.offset;havoc ~i~0;havoc ~j~0;havoc ~pa~0.base, ~pa~0.offset;~j~0 := 0; {2034#(<= main_~j~0 0)} is VALID [2018-11-14 19:10:52,058 INFO L273 TraceCheckUtils]: 6: Hoare triple {2034#(<= main_~j~0 0)} assume true; {2034#(<= main_~j~0 0)} is VALID [2018-11-14 19:10:52,059 INFO L273 TraceCheckUtils]: 7: Hoare triple {2034#(<= main_~j~0 0)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {2034#(<= main_~j~0 0)} is VALID [2018-11-14 19:10:52,059 INFO L273 TraceCheckUtils]: 8: Hoare triple {2034#(<= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {2009#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:52,059 INFO L273 TraceCheckUtils]: 9: Hoare triple {2009#(<= main_~j~0 1)} assume true; {2009#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:52,060 INFO L273 TraceCheckUtils]: 10: Hoare triple {2009#(<= main_~j~0 1)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {2009#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:52,060 INFO L273 TraceCheckUtils]: 11: Hoare triple {2009#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {2010#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:52,061 INFO L273 TraceCheckUtils]: 12: Hoare triple {2010#(<= main_~j~0 2)} assume true; {2010#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:52,061 INFO L273 TraceCheckUtils]: 13: Hoare triple {2010#(<= main_~j~0 2)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {2010#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:52,062 INFO L273 TraceCheckUtils]: 14: Hoare triple {2010#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {2011#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:52,063 INFO L273 TraceCheckUtils]: 15: Hoare triple {2011#(<= main_~j~0 3)} assume true; {2011#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:52,063 INFO L273 TraceCheckUtils]: 16: Hoare triple {2011#(<= main_~j~0 3)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {2011#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:52,064 INFO L273 TraceCheckUtils]: 17: Hoare triple {2011#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {2012#(<= main_~j~0 4)} is VALID [2018-11-14 19:10:52,065 INFO L273 TraceCheckUtils]: 18: Hoare triple {2012#(<= main_~j~0 4)} assume true; {2012#(<= main_~j~0 4)} is VALID [2018-11-14 19:10:52,065 INFO L273 TraceCheckUtils]: 19: Hoare triple {2012#(<= main_~j~0 4)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {2012#(<= main_~j~0 4)} is VALID [2018-11-14 19:10:52,066 INFO L273 TraceCheckUtils]: 20: Hoare triple {2012#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {2013#(<= main_~j~0 5)} is VALID [2018-11-14 19:10:52,067 INFO L273 TraceCheckUtils]: 21: Hoare triple {2013#(<= main_~j~0 5)} assume true; {2013#(<= main_~j~0 5)} is VALID [2018-11-14 19:10:52,067 INFO L273 TraceCheckUtils]: 22: Hoare triple {2013#(<= main_~j~0 5)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {2013#(<= main_~j~0 5)} is VALID [2018-11-14 19:10:52,068 INFO L273 TraceCheckUtils]: 23: Hoare triple {2013#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {2014#(<= main_~j~0 6)} is VALID [2018-11-14 19:10:52,069 INFO L273 TraceCheckUtils]: 24: Hoare triple {2014#(<= main_~j~0 6)} assume true; {2014#(<= main_~j~0 6)} is VALID [2018-11-14 19:10:52,069 INFO L273 TraceCheckUtils]: 25: Hoare triple {2014#(<= main_~j~0 6)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {2014#(<= main_~j~0 6)} is VALID [2018-11-14 19:10:52,070 INFO L273 TraceCheckUtils]: 26: Hoare triple {2014#(<= main_~j~0 6)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {2015#(<= main_~j~0 7)} is VALID [2018-11-14 19:10:52,071 INFO L273 TraceCheckUtils]: 27: Hoare triple {2015#(<= main_~j~0 7)} assume true; {2015#(<= main_~j~0 7)} is VALID [2018-11-14 19:10:52,071 INFO L273 TraceCheckUtils]: 28: Hoare triple {2015#(<= main_~j~0 7)} assume !(~j~0 < 20); {2007#false} is VALID [2018-11-14 19:10:52,071 INFO L273 TraceCheckUtils]: 29: Hoare triple {2007#false} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~i~0 := #t~nondet4;havoc #t~nondet4; {2007#false} is VALID [2018-11-14 19:10:52,072 INFO L273 TraceCheckUtils]: 30: Hoare triple {2007#false} assume ~i~0 >= 0 && ~i~0 < 10;~ad2~0.base, ~ad2~0.offset := ~#ad1~0.base, ~#ad1~0.offset;call write~int(~i~0, ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + ~i~0 * 8 + 0, 4);~i~0 := #t~mem5 + 10;havoc #t~mem5; {2007#false} is VALID [2018-11-14 19:10:52,072 INFO L273 TraceCheckUtils]: 31: Hoare triple {2007#false} assume true; {2007#false} is VALID [2018-11-14 19:10:52,072 INFO L273 TraceCheckUtils]: 32: Hoare triple {2007#false} call #t~mem6 := read~int(~pa~0.base, ~pa~0.offset, 4); {2007#false} is VALID [2018-11-14 19:10:52,072 INFO L273 TraceCheckUtils]: 33: Hoare triple {2007#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {2007#false} is VALID [2018-11-14 19:10:52,073 INFO L256 TraceCheckUtils]: 34: Hoare triple {2007#false} call #t~ret8 := check(~#ad1~0.base, ~#ad1~0.offset, ~i~0); {2007#false} is VALID [2018-11-14 19:10:52,073 INFO L273 TraceCheckUtils]: 35: Hoare triple {2007#false} ~ad1.base, ~ad1.offset := #in~ad1.base, #in~ad1.offset;~b := #in~b;call #t~mem0 := read~int(~ad1.base, ~ad1.offset + ~b * 8 + 0, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {2007#false} is VALID [2018-11-14 19:10:52,073 INFO L273 TraceCheckUtils]: 36: Hoare triple {2007#false} assume true; {2007#false} is VALID [2018-11-14 19:10:52,073 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {2007#false} {2007#false} #59#return; {2007#false} is VALID [2018-11-14 19:10:52,074 INFO L273 TraceCheckUtils]: 38: Hoare triple {2007#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {2007#false} is VALID [2018-11-14 19:10:52,074 INFO L273 TraceCheckUtils]: 39: Hoare triple {2007#false} assume #t~ret8 == 0;havoc #t~ret8; {2007#false} is VALID [2018-11-14 19:10:52,074 INFO L273 TraceCheckUtils]: 40: Hoare triple {2007#false} assume !false; {2007#false} is VALID [2018-11-14 19:10:52,076 INFO L134 CoverageAnalysis]: Checked inductivity of 77 backedges. 0 proven. 77 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 19:10:52,096 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 19:10:52,096 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 11 [2018-11-14 19:10:52,097 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 41 [2018-11-14 19:10:52,097 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 19:10:52,097 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2018-11-14 19:10:52,175 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 19:10:52,175 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2018-11-14 19:10:52,175 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2018-11-14 19:10:52,175 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=55, Unknown=0, NotChecked=0, Total=110 [2018-11-14 19:10:52,176 INFO L87 Difference]: Start difference. First operand 42 states and 43 transitions. Second operand 11 states. [2018-11-14 19:10:52,371 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:10:52,371 INFO L93 Difference]: Finished difference Result 59 states and 61 transitions. [2018-11-14 19:10:52,371 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-11-14 19:10:52,371 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 41 [2018-11-14 19:10:52,372 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 19:10:52,372 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-11-14 19:10:52,374 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 61 transitions. [2018-11-14 19:10:52,374 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-11-14 19:10:52,375 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 61 transitions. [2018-11-14 19:10:52,375 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 61 transitions. [2018-11-14 19:10:52,449 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 19:10:52,451 INFO L225 Difference]: With dead ends: 59 [2018-11-14 19:10:52,451 INFO L226 Difference]: Without dead ends: 46 [2018-11-14 19:10:52,452 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 50 GetRequests, 41 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=55, Invalid=55, Unknown=0, NotChecked=0, Total=110 [2018-11-14 19:10:52,453 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2018-11-14 19:10:52,473 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 45. [2018-11-14 19:10:52,473 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 19:10:52,473 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand 45 states. [2018-11-14 19:10:52,473 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand 45 states. [2018-11-14 19:10:52,473 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 45 states. [2018-11-14 19:10:52,476 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:10:52,476 INFO L93 Difference]: Finished difference Result 46 states and 47 transitions. [2018-11-14 19:10:52,476 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 47 transitions. [2018-11-14 19:10:52,477 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 19:10:52,477 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 19:10:52,477 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand 46 states. [2018-11-14 19:10:52,477 INFO L87 Difference]: Start difference. First operand 45 states. Second operand 46 states. [2018-11-14 19:10:52,479 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:10:52,479 INFO L93 Difference]: Finished difference Result 46 states and 47 transitions. [2018-11-14 19:10:52,479 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 47 transitions. [2018-11-14 19:10:52,479 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 19:10:52,479 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 19:10:52,480 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 19:10:52,480 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 19:10:52,480 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 45 states. [2018-11-14 19:10:52,481 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 46 transitions. [2018-11-14 19:10:52,481 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 46 transitions. Word has length 41 [2018-11-14 19:10:52,481 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 19:10:52,482 INFO L480 AbstractCegarLoop]: Abstraction has 45 states and 46 transitions. [2018-11-14 19:10:52,482 INFO L481 AbstractCegarLoop]: Interpolant automaton has 11 states. [2018-11-14 19:10:52,482 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 46 transitions. [2018-11-14 19:10:52,482 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2018-11-14 19:10:52,482 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 19:10:52,483 INFO L375 BasicCegarLoop]: trace histogram [9, 8, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 19:10:52,483 INFO L423 AbstractCegarLoop]: === Iteration 10 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 19:10:52,483 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 19:10:52,483 INFO L82 PathProgramCache]: Analyzing trace with hash -184814236, now seen corresponding path program 8 times [2018-11-14 19:10:52,483 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 19:10:52,483 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 19:10:52,484 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:10:52,484 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 19:10:52,485 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:10:52,505 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 19:10:52,658 INFO L256 TraceCheckUtils]: 0: Hoare triple {2373#true} call ULTIMATE.init(); {2373#true} is VALID [2018-11-14 19:10:52,658 INFO L273 TraceCheckUtils]: 1: Hoare triple {2373#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2373#true} is VALID [2018-11-14 19:10:52,658 INFO L273 TraceCheckUtils]: 2: Hoare triple {2373#true} assume true; {2373#true} is VALID [2018-11-14 19:10:52,659 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2373#true} {2373#true} #55#return; {2373#true} is VALID [2018-11-14 19:10:52,659 INFO L256 TraceCheckUtils]: 4: Hoare triple {2373#true} call #t~ret9 := main(); {2373#true} is VALID [2018-11-14 19:10:52,660 INFO L273 TraceCheckUtils]: 5: Hoare triple {2373#true} call ~#ad1~0.base, ~#ad1~0.offset := #Ultimate.alloc(160);havoc ~ad2~0.base, ~ad2~0.offset;havoc ~i~0;havoc ~j~0;havoc ~pa~0.base, ~pa~0.offset;~j~0 := 0; {2375#(= main_~j~0 0)} is VALID [2018-11-14 19:10:52,660 INFO L273 TraceCheckUtils]: 6: Hoare triple {2375#(= main_~j~0 0)} assume true; {2375#(= main_~j~0 0)} is VALID [2018-11-14 19:10:52,661 INFO L273 TraceCheckUtils]: 7: Hoare triple {2375#(= main_~j~0 0)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {2375#(= main_~j~0 0)} is VALID [2018-11-14 19:10:52,680 INFO L273 TraceCheckUtils]: 8: Hoare triple {2375#(= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {2376#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:52,695 INFO L273 TraceCheckUtils]: 9: Hoare triple {2376#(<= main_~j~0 1)} assume true; {2376#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:52,697 INFO L273 TraceCheckUtils]: 10: Hoare triple {2376#(<= main_~j~0 1)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {2376#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:52,697 INFO L273 TraceCheckUtils]: 11: Hoare triple {2376#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {2377#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:52,700 INFO L273 TraceCheckUtils]: 12: Hoare triple {2377#(<= main_~j~0 2)} assume true; {2377#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:52,700 INFO L273 TraceCheckUtils]: 13: Hoare triple {2377#(<= main_~j~0 2)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {2377#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:52,700 INFO L273 TraceCheckUtils]: 14: Hoare triple {2377#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {2378#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:52,701 INFO L273 TraceCheckUtils]: 15: Hoare triple {2378#(<= main_~j~0 3)} assume true; {2378#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:52,702 INFO L273 TraceCheckUtils]: 16: Hoare triple {2378#(<= main_~j~0 3)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {2378#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:52,702 INFO L273 TraceCheckUtils]: 17: Hoare triple {2378#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {2379#(<= main_~j~0 4)} is VALID [2018-11-14 19:10:52,702 INFO L273 TraceCheckUtils]: 18: Hoare triple {2379#(<= main_~j~0 4)} assume true; {2379#(<= main_~j~0 4)} is VALID [2018-11-14 19:10:52,703 INFO L273 TraceCheckUtils]: 19: Hoare triple {2379#(<= main_~j~0 4)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {2379#(<= main_~j~0 4)} is VALID [2018-11-14 19:10:52,703 INFO L273 TraceCheckUtils]: 20: Hoare triple {2379#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {2380#(<= main_~j~0 5)} is VALID [2018-11-14 19:10:52,704 INFO L273 TraceCheckUtils]: 21: Hoare triple {2380#(<= main_~j~0 5)} assume true; {2380#(<= main_~j~0 5)} is VALID [2018-11-14 19:10:52,704 INFO L273 TraceCheckUtils]: 22: Hoare triple {2380#(<= main_~j~0 5)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {2380#(<= main_~j~0 5)} is VALID [2018-11-14 19:10:52,704 INFO L273 TraceCheckUtils]: 23: Hoare triple {2380#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {2381#(<= main_~j~0 6)} is VALID [2018-11-14 19:10:52,705 INFO L273 TraceCheckUtils]: 24: Hoare triple {2381#(<= main_~j~0 6)} assume true; {2381#(<= main_~j~0 6)} is VALID [2018-11-14 19:10:52,705 INFO L273 TraceCheckUtils]: 25: Hoare triple {2381#(<= main_~j~0 6)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {2381#(<= main_~j~0 6)} is VALID [2018-11-14 19:10:52,706 INFO L273 TraceCheckUtils]: 26: Hoare triple {2381#(<= main_~j~0 6)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {2382#(<= main_~j~0 7)} is VALID [2018-11-14 19:10:52,721 INFO L273 TraceCheckUtils]: 27: Hoare triple {2382#(<= main_~j~0 7)} assume true; {2382#(<= main_~j~0 7)} is VALID [2018-11-14 19:10:52,722 INFO L273 TraceCheckUtils]: 28: Hoare triple {2382#(<= main_~j~0 7)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {2382#(<= main_~j~0 7)} is VALID [2018-11-14 19:10:52,722 INFO L273 TraceCheckUtils]: 29: Hoare triple {2382#(<= main_~j~0 7)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {2383#(<= main_~j~0 8)} is VALID [2018-11-14 19:10:52,723 INFO L273 TraceCheckUtils]: 30: Hoare triple {2383#(<= main_~j~0 8)} assume true; {2383#(<= main_~j~0 8)} is VALID [2018-11-14 19:10:52,723 INFO L273 TraceCheckUtils]: 31: Hoare triple {2383#(<= main_~j~0 8)} assume !(~j~0 < 20); {2374#false} is VALID [2018-11-14 19:10:52,723 INFO L273 TraceCheckUtils]: 32: Hoare triple {2374#false} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~i~0 := #t~nondet4;havoc #t~nondet4; {2374#false} is VALID [2018-11-14 19:10:52,723 INFO L273 TraceCheckUtils]: 33: Hoare triple {2374#false} assume ~i~0 >= 0 && ~i~0 < 10;~ad2~0.base, ~ad2~0.offset := ~#ad1~0.base, ~#ad1~0.offset;call write~int(~i~0, ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + ~i~0 * 8 + 0, 4);~i~0 := #t~mem5 + 10;havoc #t~mem5; {2374#false} is VALID [2018-11-14 19:10:52,723 INFO L273 TraceCheckUtils]: 34: Hoare triple {2374#false} assume true; {2374#false} is VALID [2018-11-14 19:10:52,723 INFO L273 TraceCheckUtils]: 35: Hoare triple {2374#false} call #t~mem6 := read~int(~pa~0.base, ~pa~0.offset, 4); {2374#false} is VALID [2018-11-14 19:10:52,724 INFO L273 TraceCheckUtils]: 36: Hoare triple {2374#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {2374#false} is VALID [2018-11-14 19:10:52,724 INFO L256 TraceCheckUtils]: 37: Hoare triple {2374#false} call #t~ret8 := check(~#ad1~0.base, ~#ad1~0.offset, ~i~0); {2373#true} is VALID [2018-11-14 19:10:52,724 INFO L273 TraceCheckUtils]: 38: Hoare triple {2373#true} ~ad1.base, ~ad1.offset := #in~ad1.base, #in~ad1.offset;~b := #in~b;call #t~mem0 := read~int(~ad1.base, ~ad1.offset + ~b * 8 + 0, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {2373#true} is VALID [2018-11-14 19:10:52,724 INFO L273 TraceCheckUtils]: 39: Hoare triple {2373#true} assume true; {2373#true} is VALID [2018-11-14 19:10:52,724 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {2373#true} {2374#false} #59#return; {2374#false} is VALID [2018-11-14 19:10:52,724 INFO L273 TraceCheckUtils]: 41: Hoare triple {2374#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {2374#false} is VALID [2018-11-14 19:10:52,724 INFO L273 TraceCheckUtils]: 42: Hoare triple {2374#false} assume #t~ret8 == 0;havoc #t~ret8; {2374#false} is VALID [2018-11-14 19:10:52,724 INFO L273 TraceCheckUtils]: 43: Hoare triple {2374#false} assume !false; {2374#false} is VALID [2018-11-14 19:10:52,726 INFO L134 CoverageAnalysis]: Checked inductivity of 100 backedges. 0 proven. 100 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 19:10:52,726 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 19:10:52,726 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-14 19:10:52,737 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-14 19:10:52,761 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-14 19:10:52,761 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 19:10:52,775 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 19:10:52,776 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 19:10:53,124 INFO L256 TraceCheckUtils]: 0: Hoare triple {2373#true} call ULTIMATE.init(); {2373#true} is VALID [2018-11-14 19:10:53,124 INFO L273 TraceCheckUtils]: 1: Hoare triple {2373#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2373#true} is VALID [2018-11-14 19:10:53,124 INFO L273 TraceCheckUtils]: 2: Hoare triple {2373#true} assume true; {2373#true} is VALID [2018-11-14 19:10:53,125 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2373#true} {2373#true} #55#return; {2373#true} is VALID [2018-11-14 19:10:53,125 INFO L256 TraceCheckUtils]: 4: Hoare triple {2373#true} call #t~ret9 := main(); {2373#true} is VALID [2018-11-14 19:10:53,126 INFO L273 TraceCheckUtils]: 5: Hoare triple {2373#true} call ~#ad1~0.base, ~#ad1~0.offset := #Ultimate.alloc(160);havoc ~ad2~0.base, ~ad2~0.offset;havoc ~i~0;havoc ~j~0;havoc ~pa~0.base, ~pa~0.offset;~j~0 := 0; {2402#(<= main_~j~0 0)} is VALID [2018-11-14 19:10:53,126 INFO L273 TraceCheckUtils]: 6: Hoare triple {2402#(<= main_~j~0 0)} assume true; {2402#(<= main_~j~0 0)} is VALID [2018-11-14 19:10:53,128 INFO L273 TraceCheckUtils]: 7: Hoare triple {2402#(<= main_~j~0 0)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {2402#(<= main_~j~0 0)} is VALID [2018-11-14 19:10:53,128 INFO L273 TraceCheckUtils]: 8: Hoare triple {2402#(<= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {2376#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:53,130 INFO L273 TraceCheckUtils]: 9: Hoare triple {2376#(<= main_~j~0 1)} assume true; {2376#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:53,130 INFO L273 TraceCheckUtils]: 10: Hoare triple {2376#(<= main_~j~0 1)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {2376#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:53,132 INFO L273 TraceCheckUtils]: 11: Hoare triple {2376#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {2377#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:53,132 INFO L273 TraceCheckUtils]: 12: Hoare triple {2377#(<= main_~j~0 2)} assume true; {2377#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:53,134 INFO L273 TraceCheckUtils]: 13: Hoare triple {2377#(<= main_~j~0 2)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {2377#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:53,134 INFO L273 TraceCheckUtils]: 14: Hoare triple {2377#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {2378#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:53,136 INFO L273 TraceCheckUtils]: 15: Hoare triple {2378#(<= main_~j~0 3)} assume true; {2378#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:53,136 INFO L273 TraceCheckUtils]: 16: Hoare triple {2378#(<= main_~j~0 3)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {2378#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:53,138 INFO L273 TraceCheckUtils]: 17: Hoare triple {2378#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {2379#(<= main_~j~0 4)} is VALID [2018-11-14 19:10:53,138 INFO L273 TraceCheckUtils]: 18: Hoare triple {2379#(<= main_~j~0 4)} assume true; {2379#(<= main_~j~0 4)} is VALID [2018-11-14 19:10:53,140 INFO L273 TraceCheckUtils]: 19: Hoare triple {2379#(<= main_~j~0 4)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {2379#(<= main_~j~0 4)} is VALID [2018-11-14 19:10:53,140 INFO L273 TraceCheckUtils]: 20: Hoare triple {2379#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {2380#(<= main_~j~0 5)} is VALID [2018-11-14 19:10:53,142 INFO L273 TraceCheckUtils]: 21: Hoare triple {2380#(<= main_~j~0 5)} assume true; {2380#(<= main_~j~0 5)} is VALID [2018-11-14 19:10:53,142 INFO L273 TraceCheckUtils]: 22: Hoare triple {2380#(<= main_~j~0 5)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {2380#(<= main_~j~0 5)} is VALID [2018-11-14 19:10:53,144 INFO L273 TraceCheckUtils]: 23: Hoare triple {2380#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {2381#(<= main_~j~0 6)} is VALID [2018-11-14 19:10:53,144 INFO L273 TraceCheckUtils]: 24: Hoare triple {2381#(<= main_~j~0 6)} assume true; {2381#(<= main_~j~0 6)} is VALID [2018-11-14 19:10:53,146 INFO L273 TraceCheckUtils]: 25: Hoare triple {2381#(<= main_~j~0 6)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {2381#(<= main_~j~0 6)} is VALID [2018-11-14 19:10:53,146 INFO L273 TraceCheckUtils]: 26: Hoare triple {2381#(<= main_~j~0 6)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {2382#(<= main_~j~0 7)} is VALID [2018-11-14 19:10:53,146 INFO L273 TraceCheckUtils]: 27: Hoare triple {2382#(<= main_~j~0 7)} assume true; {2382#(<= main_~j~0 7)} is VALID [2018-11-14 19:10:53,147 INFO L273 TraceCheckUtils]: 28: Hoare triple {2382#(<= main_~j~0 7)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {2382#(<= main_~j~0 7)} is VALID [2018-11-14 19:10:53,148 INFO L273 TraceCheckUtils]: 29: Hoare triple {2382#(<= main_~j~0 7)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {2383#(<= main_~j~0 8)} is VALID [2018-11-14 19:10:53,148 INFO L273 TraceCheckUtils]: 30: Hoare triple {2383#(<= main_~j~0 8)} assume true; {2383#(<= main_~j~0 8)} is VALID [2018-11-14 19:10:53,150 INFO L273 TraceCheckUtils]: 31: Hoare triple {2383#(<= main_~j~0 8)} assume !(~j~0 < 20); {2374#false} is VALID [2018-11-14 19:10:53,150 INFO L273 TraceCheckUtils]: 32: Hoare triple {2374#false} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~i~0 := #t~nondet4;havoc #t~nondet4; {2374#false} is VALID [2018-11-14 19:10:53,150 INFO L273 TraceCheckUtils]: 33: Hoare triple {2374#false} assume ~i~0 >= 0 && ~i~0 < 10;~ad2~0.base, ~ad2~0.offset := ~#ad1~0.base, ~#ad1~0.offset;call write~int(~i~0, ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + ~i~0 * 8 + 0, 4);~i~0 := #t~mem5 + 10;havoc #t~mem5; {2374#false} is VALID [2018-11-14 19:10:53,150 INFO L273 TraceCheckUtils]: 34: Hoare triple {2374#false} assume true; {2374#false} is VALID [2018-11-14 19:10:53,150 INFO L273 TraceCheckUtils]: 35: Hoare triple {2374#false} call #t~mem6 := read~int(~pa~0.base, ~pa~0.offset, 4); {2374#false} is VALID [2018-11-14 19:10:53,151 INFO L273 TraceCheckUtils]: 36: Hoare triple {2374#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {2374#false} is VALID [2018-11-14 19:10:53,151 INFO L256 TraceCheckUtils]: 37: Hoare triple {2374#false} call #t~ret8 := check(~#ad1~0.base, ~#ad1~0.offset, ~i~0); {2374#false} is VALID [2018-11-14 19:10:53,151 INFO L273 TraceCheckUtils]: 38: Hoare triple {2374#false} ~ad1.base, ~ad1.offset := #in~ad1.base, #in~ad1.offset;~b := #in~b;call #t~mem0 := read~int(~ad1.base, ~ad1.offset + ~b * 8 + 0, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {2374#false} is VALID [2018-11-14 19:10:53,151 INFO L273 TraceCheckUtils]: 39: Hoare triple {2374#false} assume true; {2374#false} is VALID [2018-11-14 19:10:53,151 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {2374#false} {2374#false} #59#return; {2374#false} is VALID [2018-11-14 19:10:53,151 INFO L273 TraceCheckUtils]: 41: Hoare triple {2374#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {2374#false} is VALID [2018-11-14 19:10:53,151 INFO L273 TraceCheckUtils]: 42: Hoare triple {2374#false} assume #t~ret8 == 0;havoc #t~ret8; {2374#false} is VALID [2018-11-14 19:10:53,152 INFO L273 TraceCheckUtils]: 43: Hoare triple {2374#false} assume !false; {2374#false} is VALID [2018-11-14 19:10:53,153 INFO L134 CoverageAnalysis]: Checked inductivity of 100 backedges. 0 proven. 100 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 19:10:53,173 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 19:10:53,173 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 12 [2018-11-14 19:10:53,174 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 44 [2018-11-14 19:10:53,174 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 19:10:53,174 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2018-11-14 19:10:53,243 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-14 19:10:53,244 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-11-14 19:10:53,244 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-11-14 19:10:53,244 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=66, Unknown=0, NotChecked=0, Total=132 [2018-11-14 19:10:53,245 INFO L87 Difference]: Start difference. First operand 45 states and 46 transitions. Second operand 12 states. [2018-11-14 19:10:53,709 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:10:53,709 INFO L93 Difference]: Finished difference Result 62 states and 64 transitions. [2018-11-14 19:10:53,709 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2018-11-14 19:10:53,710 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 44 [2018-11-14 19:10:53,710 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 19:10:53,710 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-11-14 19:10:53,712 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 64 transitions. [2018-11-14 19:10:53,712 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-11-14 19:10:53,714 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 64 transitions. [2018-11-14 19:10:53,714 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 64 transitions. [2018-11-14 19:10:53,798 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 19:10:53,799 INFO L225 Difference]: With dead ends: 62 [2018-11-14 19:10:53,799 INFO L226 Difference]: Without dead ends: 49 [2018-11-14 19:10:53,800 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 54 GetRequests, 44 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=66, Invalid=66, Unknown=0, NotChecked=0, Total=132 [2018-11-14 19:10:53,800 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 49 states. [2018-11-14 19:10:53,815 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 49 to 48. [2018-11-14 19:10:53,815 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 19:10:53,815 INFO L82 GeneralOperation]: Start isEquivalent. First operand 49 states. Second operand 48 states. [2018-11-14 19:10:53,815 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand 48 states. [2018-11-14 19:10:53,816 INFO L87 Difference]: Start difference. First operand 49 states. Second operand 48 states. [2018-11-14 19:10:53,818 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:10:53,818 INFO L93 Difference]: Finished difference Result 49 states and 50 transitions. [2018-11-14 19:10:53,818 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 50 transitions. [2018-11-14 19:10:53,819 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 19:10:53,819 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 19:10:53,819 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand 49 states. [2018-11-14 19:10:53,819 INFO L87 Difference]: Start difference. First operand 48 states. Second operand 49 states. [2018-11-14 19:10:53,821 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:10:53,821 INFO L93 Difference]: Finished difference Result 49 states and 50 transitions. [2018-11-14 19:10:53,821 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 50 transitions. [2018-11-14 19:10:53,821 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 19:10:53,822 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 19:10:53,822 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 19:10:53,822 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 19:10:53,822 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 48 states. [2018-11-14 19:10:53,823 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 49 transitions. [2018-11-14 19:10:53,824 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 49 transitions. Word has length 44 [2018-11-14 19:10:53,824 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 19:10:53,824 INFO L480 AbstractCegarLoop]: Abstraction has 48 states and 49 transitions. [2018-11-14 19:10:53,824 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2018-11-14 19:10:53,824 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 49 transitions. [2018-11-14 19:10:53,825 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2018-11-14 19:10:53,825 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 19:10:53,825 INFO L375 BasicCegarLoop]: trace histogram [10, 9, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 19:10:53,825 INFO L423 AbstractCegarLoop]: === Iteration 11 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 19:10:53,826 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 19:10:53,826 INFO L82 PathProgramCache]: Analyzing trace with hash 280330771, now seen corresponding path program 9 times [2018-11-14 19:10:53,826 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 19:10:53,826 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 19:10:53,827 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:10:53,827 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 19:10:53,827 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:10:53,846 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 19:10:54,036 INFO L256 TraceCheckUtils]: 0: Hoare triple {2764#true} call ULTIMATE.init(); {2764#true} is VALID [2018-11-14 19:10:54,037 INFO L273 TraceCheckUtils]: 1: Hoare triple {2764#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2764#true} is VALID [2018-11-14 19:10:54,037 INFO L273 TraceCheckUtils]: 2: Hoare triple {2764#true} assume true; {2764#true} is VALID [2018-11-14 19:10:54,037 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2764#true} {2764#true} #55#return; {2764#true} is VALID [2018-11-14 19:10:54,037 INFO L256 TraceCheckUtils]: 4: Hoare triple {2764#true} call #t~ret9 := main(); {2764#true} is VALID [2018-11-14 19:10:54,038 INFO L273 TraceCheckUtils]: 5: Hoare triple {2764#true} call ~#ad1~0.base, ~#ad1~0.offset := #Ultimate.alloc(160);havoc ~ad2~0.base, ~ad2~0.offset;havoc ~i~0;havoc ~j~0;havoc ~pa~0.base, ~pa~0.offset;~j~0 := 0; {2766#(= main_~j~0 0)} is VALID [2018-11-14 19:10:54,038 INFO L273 TraceCheckUtils]: 6: Hoare triple {2766#(= main_~j~0 0)} assume true; {2766#(= main_~j~0 0)} is VALID [2018-11-14 19:10:54,039 INFO L273 TraceCheckUtils]: 7: Hoare triple {2766#(= main_~j~0 0)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {2766#(= main_~j~0 0)} is VALID [2018-11-14 19:10:54,039 INFO L273 TraceCheckUtils]: 8: Hoare triple {2766#(= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {2767#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:54,040 INFO L273 TraceCheckUtils]: 9: Hoare triple {2767#(<= main_~j~0 1)} assume true; {2767#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:54,040 INFO L273 TraceCheckUtils]: 10: Hoare triple {2767#(<= main_~j~0 1)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {2767#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:54,040 INFO L273 TraceCheckUtils]: 11: Hoare triple {2767#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {2768#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:54,041 INFO L273 TraceCheckUtils]: 12: Hoare triple {2768#(<= main_~j~0 2)} assume true; {2768#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:54,041 INFO L273 TraceCheckUtils]: 13: Hoare triple {2768#(<= main_~j~0 2)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {2768#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:54,042 INFO L273 TraceCheckUtils]: 14: Hoare triple {2768#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {2769#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:54,043 INFO L273 TraceCheckUtils]: 15: Hoare triple {2769#(<= main_~j~0 3)} assume true; {2769#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:54,043 INFO L273 TraceCheckUtils]: 16: Hoare triple {2769#(<= main_~j~0 3)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {2769#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:54,044 INFO L273 TraceCheckUtils]: 17: Hoare triple {2769#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {2770#(<= main_~j~0 4)} is VALID [2018-11-14 19:10:54,045 INFO L273 TraceCheckUtils]: 18: Hoare triple {2770#(<= main_~j~0 4)} assume true; {2770#(<= main_~j~0 4)} is VALID [2018-11-14 19:10:54,045 INFO L273 TraceCheckUtils]: 19: Hoare triple {2770#(<= main_~j~0 4)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {2770#(<= main_~j~0 4)} is VALID [2018-11-14 19:10:54,046 INFO L273 TraceCheckUtils]: 20: Hoare triple {2770#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {2771#(<= main_~j~0 5)} is VALID [2018-11-14 19:10:54,046 INFO L273 TraceCheckUtils]: 21: Hoare triple {2771#(<= main_~j~0 5)} assume true; {2771#(<= main_~j~0 5)} is VALID [2018-11-14 19:10:54,047 INFO L273 TraceCheckUtils]: 22: Hoare triple {2771#(<= main_~j~0 5)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {2771#(<= main_~j~0 5)} is VALID [2018-11-14 19:10:54,048 INFO L273 TraceCheckUtils]: 23: Hoare triple {2771#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {2772#(<= main_~j~0 6)} is VALID [2018-11-14 19:10:54,048 INFO L273 TraceCheckUtils]: 24: Hoare triple {2772#(<= main_~j~0 6)} assume true; {2772#(<= main_~j~0 6)} is VALID [2018-11-14 19:10:54,049 INFO L273 TraceCheckUtils]: 25: Hoare triple {2772#(<= main_~j~0 6)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {2772#(<= main_~j~0 6)} is VALID [2018-11-14 19:10:54,049 INFO L273 TraceCheckUtils]: 26: Hoare triple {2772#(<= main_~j~0 6)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {2773#(<= main_~j~0 7)} is VALID [2018-11-14 19:10:54,050 INFO L273 TraceCheckUtils]: 27: Hoare triple {2773#(<= main_~j~0 7)} assume true; {2773#(<= main_~j~0 7)} is VALID [2018-11-14 19:10:54,050 INFO L273 TraceCheckUtils]: 28: Hoare triple {2773#(<= main_~j~0 7)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {2773#(<= main_~j~0 7)} is VALID [2018-11-14 19:10:54,051 INFO L273 TraceCheckUtils]: 29: Hoare triple {2773#(<= main_~j~0 7)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {2774#(<= main_~j~0 8)} is VALID [2018-11-14 19:10:54,052 INFO L273 TraceCheckUtils]: 30: Hoare triple {2774#(<= main_~j~0 8)} assume true; {2774#(<= main_~j~0 8)} is VALID [2018-11-14 19:10:54,052 INFO L273 TraceCheckUtils]: 31: Hoare triple {2774#(<= main_~j~0 8)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {2774#(<= main_~j~0 8)} is VALID [2018-11-14 19:10:54,053 INFO L273 TraceCheckUtils]: 32: Hoare triple {2774#(<= main_~j~0 8)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {2775#(<= main_~j~0 9)} is VALID [2018-11-14 19:10:54,053 INFO L273 TraceCheckUtils]: 33: Hoare triple {2775#(<= main_~j~0 9)} assume true; {2775#(<= main_~j~0 9)} is VALID [2018-11-14 19:10:54,054 INFO L273 TraceCheckUtils]: 34: Hoare triple {2775#(<= main_~j~0 9)} assume !(~j~0 < 20); {2765#false} is VALID [2018-11-14 19:10:54,054 INFO L273 TraceCheckUtils]: 35: Hoare triple {2765#false} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~i~0 := #t~nondet4;havoc #t~nondet4; {2765#false} is VALID [2018-11-14 19:10:54,054 INFO L273 TraceCheckUtils]: 36: Hoare triple {2765#false} assume ~i~0 >= 0 && ~i~0 < 10;~ad2~0.base, ~ad2~0.offset := ~#ad1~0.base, ~#ad1~0.offset;call write~int(~i~0, ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + ~i~0 * 8 + 0, 4);~i~0 := #t~mem5 + 10;havoc #t~mem5; {2765#false} is VALID [2018-11-14 19:10:54,055 INFO L273 TraceCheckUtils]: 37: Hoare triple {2765#false} assume true; {2765#false} is VALID [2018-11-14 19:10:54,055 INFO L273 TraceCheckUtils]: 38: Hoare triple {2765#false} call #t~mem6 := read~int(~pa~0.base, ~pa~0.offset, 4); {2765#false} is VALID [2018-11-14 19:10:54,055 INFO L273 TraceCheckUtils]: 39: Hoare triple {2765#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {2765#false} is VALID [2018-11-14 19:10:54,055 INFO L256 TraceCheckUtils]: 40: Hoare triple {2765#false} call #t~ret8 := check(~#ad1~0.base, ~#ad1~0.offset, ~i~0); {2764#true} is VALID [2018-11-14 19:10:54,055 INFO L273 TraceCheckUtils]: 41: Hoare triple {2764#true} ~ad1.base, ~ad1.offset := #in~ad1.base, #in~ad1.offset;~b := #in~b;call #t~mem0 := read~int(~ad1.base, ~ad1.offset + ~b * 8 + 0, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {2764#true} is VALID [2018-11-14 19:10:54,056 INFO L273 TraceCheckUtils]: 42: Hoare triple {2764#true} assume true; {2764#true} is VALID [2018-11-14 19:10:54,056 INFO L268 TraceCheckUtils]: 43: Hoare quadruple {2764#true} {2765#false} #59#return; {2765#false} is VALID [2018-11-14 19:10:54,056 INFO L273 TraceCheckUtils]: 44: Hoare triple {2765#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {2765#false} is VALID [2018-11-14 19:10:54,056 INFO L273 TraceCheckUtils]: 45: Hoare triple {2765#false} assume #t~ret8 == 0;havoc #t~ret8; {2765#false} is VALID [2018-11-14 19:10:54,057 INFO L273 TraceCheckUtils]: 46: Hoare triple {2765#false} assume !false; {2765#false} is VALID [2018-11-14 19:10:54,059 INFO L134 CoverageAnalysis]: Checked inductivity of 126 backedges. 0 proven. 126 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 19:10:54,059 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 19:10:54,059 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-14 19:10:54,067 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-14 19:10:54,276 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 10 check-sat command(s) [2018-11-14 19:10:54,276 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 19:10:54,294 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 19:10:54,295 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 19:10:54,418 INFO L256 TraceCheckUtils]: 0: Hoare triple {2764#true} call ULTIMATE.init(); {2764#true} is VALID [2018-11-14 19:10:54,419 INFO L273 TraceCheckUtils]: 1: Hoare triple {2764#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2764#true} is VALID [2018-11-14 19:10:54,419 INFO L273 TraceCheckUtils]: 2: Hoare triple {2764#true} assume true; {2764#true} is VALID [2018-11-14 19:10:54,419 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2764#true} {2764#true} #55#return; {2764#true} is VALID [2018-11-14 19:10:54,419 INFO L256 TraceCheckUtils]: 4: Hoare triple {2764#true} call #t~ret9 := main(); {2764#true} is VALID [2018-11-14 19:10:54,420 INFO L273 TraceCheckUtils]: 5: Hoare triple {2764#true} call ~#ad1~0.base, ~#ad1~0.offset := #Ultimate.alloc(160);havoc ~ad2~0.base, ~ad2~0.offset;havoc ~i~0;havoc ~j~0;havoc ~pa~0.base, ~pa~0.offset;~j~0 := 0; {2794#(<= main_~j~0 0)} is VALID [2018-11-14 19:10:54,420 INFO L273 TraceCheckUtils]: 6: Hoare triple {2794#(<= main_~j~0 0)} assume true; {2794#(<= main_~j~0 0)} is VALID [2018-11-14 19:10:54,421 INFO L273 TraceCheckUtils]: 7: Hoare triple {2794#(<= main_~j~0 0)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {2794#(<= main_~j~0 0)} is VALID [2018-11-14 19:10:54,421 INFO L273 TraceCheckUtils]: 8: Hoare triple {2794#(<= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {2767#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:54,422 INFO L273 TraceCheckUtils]: 9: Hoare triple {2767#(<= main_~j~0 1)} assume true; {2767#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:54,422 INFO L273 TraceCheckUtils]: 10: Hoare triple {2767#(<= main_~j~0 1)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {2767#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:54,423 INFO L273 TraceCheckUtils]: 11: Hoare triple {2767#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {2768#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:54,424 INFO L273 TraceCheckUtils]: 12: Hoare triple {2768#(<= main_~j~0 2)} assume true; {2768#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:54,424 INFO L273 TraceCheckUtils]: 13: Hoare triple {2768#(<= main_~j~0 2)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {2768#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:54,425 INFO L273 TraceCheckUtils]: 14: Hoare triple {2768#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {2769#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:54,425 INFO L273 TraceCheckUtils]: 15: Hoare triple {2769#(<= main_~j~0 3)} assume true; {2769#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:54,426 INFO L273 TraceCheckUtils]: 16: Hoare triple {2769#(<= main_~j~0 3)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {2769#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:54,427 INFO L273 TraceCheckUtils]: 17: Hoare triple {2769#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {2770#(<= main_~j~0 4)} is VALID [2018-11-14 19:10:54,427 INFO L273 TraceCheckUtils]: 18: Hoare triple {2770#(<= main_~j~0 4)} assume true; {2770#(<= main_~j~0 4)} is VALID [2018-11-14 19:10:54,428 INFO L273 TraceCheckUtils]: 19: Hoare triple {2770#(<= main_~j~0 4)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {2770#(<= main_~j~0 4)} is VALID [2018-11-14 19:10:54,428 INFO L273 TraceCheckUtils]: 20: Hoare triple {2770#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {2771#(<= main_~j~0 5)} is VALID [2018-11-14 19:10:54,429 INFO L273 TraceCheckUtils]: 21: Hoare triple {2771#(<= main_~j~0 5)} assume true; {2771#(<= main_~j~0 5)} is VALID [2018-11-14 19:10:54,429 INFO L273 TraceCheckUtils]: 22: Hoare triple {2771#(<= main_~j~0 5)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {2771#(<= main_~j~0 5)} is VALID [2018-11-14 19:10:54,430 INFO L273 TraceCheckUtils]: 23: Hoare triple {2771#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {2772#(<= main_~j~0 6)} is VALID [2018-11-14 19:10:54,431 INFO L273 TraceCheckUtils]: 24: Hoare triple {2772#(<= main_~j~0 6)} assume true; {2772#(<= main_~j~0 6)} is VALID [2018-11-14 19:10:54,431 INFO L273 TraceCheckUtils]: 25: Hoare triple {2772#(<= main_~j~0 6)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {2772#(<= main_~j~0 6)} is VALID [2018-11-14 19:10:54,432 INFO L273 TraceCheckUtils]: 26: Hoare triple {2772#(<= main_~j~0 6)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {2773#(<= main_~j~0 7)} is VALID [2018-11-14 19:10:54,432 INFO L273 TraceCheckUtils]: 27: Hoare triple {2773#(<= main_~j~0 7)} assume true; {2773#(<= main_~j~0 7)} is VALID [2018-11-14 19:10:54,433 INFO L273 TraceCheckUtils]: 28: Hoare triple {2773#(<= main_~j~0 7)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {2773#(<= main_~j~0 7)} is VALID [2018-11-14 19:10:54,434 INFO L273 TraceCheckUtils]: 29: Hoare triple {2773#(<= main_~j~0 7)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {2774#(<= main_~j~0 8)} is VALID [2018-11-14 19:10:54,436 INFO L273 TraceCheckUtils]: 30: Hoare triple {2774#(<= main_~j~0 8)} assume true; {2774#(<= main_~j~0 8)} is VALID [2018-11-14 19:10:54,436 INFO L273 TraceCheckUtils]: 31: Hoare triple {2774#(<= main_~j~0 8)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {2774#(<= main_~j~0 8)} is VALID [2018-11-14 19:10:54,437 INFO L273 TraceCheckUtils]: 32: Hoare triple {2774#(<= main_~j~0 8)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {2775#(<= main_~j~0 9)} is VALID [2018-11-14 19:10:54,437 INFO L273 TraceCheckUtils]: 33: Hoare triple {2775#(<= main_~j~0 9)} assume true; {2775#(<= main_~j~0 9)} is VALID [2018-11-14 19:10:54,438 INFO L273 TraceCheckUtils]: 34: Hoare triple {2775#(<= main_~j~0 9)} assume !(~j~0 < 20); {2765#false} is VALID [2018-11-14 19:10:54,438 INFO L273 TraceCheckUtils]: 35: Hoare triple {2765#false} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~i~0 := #t~nondet4;havoc #t~nondet4; {2765#false} is VALID [2018-11-14 19:10:54,438 INFO L273 TraceCheckUtils]: 36: Hoare triple {2765#false} assume ~i~0 >= 0 && ~i~0 < 10;~ad2~0.base, ~ad2~0.offset := ~#ad1~0.base, ~#ad1~0.offset;call write~int(~i~0, ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + ~i~0 * 8 + 0, 4);~i~0 := #t~mem5 + 10;havoc #t~mem5; {2765#false} is VALID [2018-11-14 19:10:54,438 INFO L273 TraceCheckUtils]: 37: Hoare triple {2765#false} assume true; {2765#false} is VALID [2018-11-14 19:10:54,438 INFO L273 TraceCheckUtils]: 38: Hoare triple {2765#false} call #t~mem6 := read~int(~pa~0.base, ~pa~0.offset, 4); {2765#false} is VALID [2018-11-14 19:10:54,439 INFO L273 TraceCheckUtils]: 39: Hoare triple {2765#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {2765#false} is VALID [2018-11-14 19:10:54,439 INFO L256 TraceCheckUtils]: 40: Hoare triple {2765#false} call #t~ret8 := check(~#ad1~0.base, ~#ad1~0.offset, ~i~0); {2765#false} is VALID [2018-11-14 19:10:54,439 INFO L273 TraceCheckUtils]: 41: Hoare triple {2765#false} ~ad1.base, ~ad1.offset := #in~ad1.base, #in~ad1.offset;~b := #in~b;call #t~mem0 := read~int(~ad1.base, ~ad1.offset + ~b * 8 + 0, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {2765#false} is VALID [2018-11-14 19:10:54,439 INFO L273 TraceCheckUtils]: 42: Hoare triple {2765#false} assume true; {2765#false} is VALID [2018-11-14 19:10:54,439 INFO L268 TraceCheckUtils]: 43: Hoare quadruple {2765#false} {2765#false} #59#return; {2765#false} is VALID [2018-11-14 19:10:54,439 INFO L273 TraceCheckUtils]: 44: Hoare triple {2765#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {2765#false} is VALID [2018-11-14 19:10:54,440 INFO L273 TraceCheckUtils]: 45: Hoare triple {2765#false} assume #t~ret8 == 0;havoc #t~ret8; {2765#false} is VALID [2018-11-14 19:10:54,440 INFO L273 TraceCheckUtils]: 46: Hoare triple {2765#false} assume !false; {2765#false} is VALID [2018-11-14 19:10:54,443 INFO L134 CoverageAnalysis]: Checked inductivity of 126 backedges. 0 proven. 126 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 19:10:54,469 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 19:10:54,469 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 13 [2018-11-14 19:10:54,470 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 47 [2018-11-14 19:10:54,470 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 19:10:54,470 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states. [2018-11-14 19:10:54,576 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 19:10:54,576 INFO L459 AbstractCegarLoop]: Interpolant automaton has 13 states [2018-11-14 19:10:54,577 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2018-11-14 19:10:54,577 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=78, Invalid=78, Unknown=0, NotChecked=0, Total=156 [2018-11-14 19:10:54,577 INFO L87 Difference]: Start difference. First operand 48 states and 49 transitions. Second operand 13 states. [2018-11-14 19:10:54,802 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:10:54,802 INFO L93 Difference]: Finished difference Result 65 states and 67 transitions. [2018-11-14 19:10:54,802 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2018-11-14 19:10:54,802 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 47 [2018-11-14 19:10:54,803 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 19:10:54,803 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2018-11-14 19:10:54,805 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 67 transitions. [2018-11-14 19:10:54,805 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2018-11-14 19:10:54,806 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 67 transitions. [2018-11-14 19:10:54,806 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 67 transitions. [2018-11-14 19:10:54,864 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 19:10:54,866 INFO L225 Difference]: With dead ends: 65 [2018-11-14 19:10:54,866 INFO L226 Difference]: Without dead ends: 52 [2018-11-14 19:10:54,866 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 58 GetRequests, 47 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 16 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=78, Invalid=78, Unknown=0, NotChecked=0, Total=156 [2018-11-14 19:10:54,867 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2018-11-14 19:10:54,886 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 51. [2018-11-14 19:10:54,886 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 19:10:54,886 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand 51 states. [2018-11-14 19:10:54,886 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand 51 states. [2018-11-14 19:10:54,887 INFO L87 Difference]: Start difference. First operand 52 states. Second operand 51 states. [2018-11-14 19:10:54,888 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:10:54,888 INFO L93 Difference]: Finished difference Result 52 states and 53 transitions. [2018-11-14 19:10:54,888 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 53 transitions. [2018-11-14 19:10:54,889 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 19:10:54,889 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 19:10:54,889 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand 52 states. [2018-11-14 19:10:54,889 INFO L87 Difference]: Start difference. First operand 51 states. Second operand 52 states. [2018-11-14 19:10:54,890 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:10:54,890 INFO L93 Difference]: Finished difference Result 52 states and 53 transitions. [2018-11-14 19:10:54,891 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 53 transitions. [2018-11-14 19:10:54,891 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 19:10:54,891 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 19:10:54,891 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 19:10:54,891 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 19:10:54,891 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 51 states. [2018-11-14 19:10:54,892 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 52 transitions. [2018-11-14 19:10:54,892 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 52 transitions. Word has length 47 [2018-11-14 19:10:54,893 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 19:10:54,893 INFO L480 AbstractCegarLoop]: Abstraction has 51 states and 52 transitions. [2018-11-14 19:10:54,893 INFO L481 AbstractCegarLoop]: Interpolant automaton has 13 states. [2018-11-14 19:10:54,893 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 52 transitions. [2018-11-14 19:10:54,893 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2018-11-14 19:10:54,893 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 19:10:54,893 INFO L375 BasicCegarLoop]: trace histogram [11, 10, 10, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 19:10:54,894 INFO L423 AbstractCegarLoop]: === Iteration 12 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 19:10:54,894 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 19:10:54,894 INFO L82 PathProgramCache]: Analyzing trace with hash 1850737412, now seen corresponding path program 10 times [2018-11-14 19:10:54,894 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 19:10:54,894 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 19:10:54,895 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:10:54,895 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 19:10:54,895 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:10:54,913 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 19:10:55,078 INFO L256 TraceCheckUtils]: 0: Hoare triple {3179#true} call ULTIMATE.init(); {3179#true} is VALID [2018-11-14 19:10:55,079 INFO L273 TraceCheckUtils]: 1: Hoare triple {3179#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {3179#true} is VALID [2018-11-14 19:10:55,079 INFO L273 TraceCheckUtils]: 2: Hoare triple {3179#true} assume true; {3179#true} is VALID [2018-11-14 19:10:55,079 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3179#true} {3179#true} #55#return; {3179#true} is VALID [2018-11-14 19:10:55,079 INFO L256 TraceCheckUtils]: 4: Hoare triple {3179#true} call #t~ret9 := main(); {3179#true} is VALID [2018-11-14 19:10:55,080 INFO L273 TraceCheckUtils]: 5: Hoare triple {3179#true} call ~#ad1~0.base, ~#ad1~0.offset := #Ultimate.alloc(160);havoc ~ad2~0.base, ~ad2~0.offset;havoc ~i~0;havoc ~j~0;havoc ~pa~0.base, ~pa~0.offset;~j~0 := 0; {3181#(= main_~j~0 0)} is VALID [2018-11-14 19:10:55,080 INFO L273 TraceCheckUtils]: 6: Hoare triple {3181#(= main_~j~0 0)} assume true; {3181#(= main_~j~0 0)} is VALID [2018-11-14 19:10:55,081 INFO L273 TraceCheckUtils]: 7: Hoare triple {3181#(= main_~j~0 0)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {3181#(= main_~j~0 0)} is VALID [2018-11-14 19:10:55,081 INFO L273 TraceCheckUtils]: 8: Hoare triple {3181#(= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {3182#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:55,082 INFO L273 TraceCheckUtils]: 9: Hoare triple {3182#(<= main_~j~0 1)} assume true; {3182#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:55,082 INFO L273 TraceCheckUtils]: 10: Hoare triple {3182#(<= main_~j~0 1)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {3182#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:55,082 INFO L273 TraceCheckUtils]: 11: Hoare triple {3182#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {3183#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:55,083 INFO L273 TraceCheckUtils]: 12: Hoare triple {3183#(<= main_~j~0 2)} assume true; {3183#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:55,083 INFO L273 TraceCheckUtils]: 13: Hoare triple {3183#(<= main_~j~0 2)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {3183#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:55,084 INFO L273 TraceCheckUtils]: 14: Hoare triple {3183#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {3184#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:55,084 INFO L273 TraceCheckUtils]: 15: Hoare triple {3184#(<= main_~j~0 3)} assume true; {3184#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:55,085 INFO L273 TraceCheckUtils]: 16: Hoare triple {3184#(<= main_~j~0 3)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {3184#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:55,086 INFO L273 TraceCheckUtils]: 17: Hoare triple {3184#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {3185#(<= main_~j~0 4)} is VALID [2018-11-14 19:10:55,086 INFO L273 TraceCheckUtils]: 18: Hoare triple {3185#(<= main_~j~0 4)} assume true; {3185#(<= main_~j~0 4)} is VALID [2018-11-14 19:10:55,087 INFO L273 TraceCheckUtils]: 19: Hoare triple {3185#(<= main_~j~0 4)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {3185#(<= main_~j~0 4)} is VALID [2018-11-14 19:10:55,087 INFO L273 TraceCheckUtils]: 20: Hoare triple {3185#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {3186#(<= main_~j~0 5)} is VALID [2018-11-14 19:10:55,088 INFO L273 TraceCheckUtils]: 21: Hoare triple {3186#(<= main_~j~0 5)} assume true; {3186#(<= main_~j~0 5)} is VALID [2018-11-14 19:10:55,088 INFO L273 TraceCheckUtils]: 22: Hoare triple {3186#(<= main_~j~0 5)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {3186#(<= main_~j~0 5)} is VALID [2018-11-14 19:10:55,089 INFO L273 TraceCheckUtils]: 23: Hoare triple {3186#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {3187#(<= main_~j~0 6)} is VALID [2018-11-14 19:10:55,090 INFO L273 TraceCheckUtils]: 24: Hoare triple {3187#(<= main_~j~0 6)} assume true; {3187#(<= main_~j~0 6)} is VALID [2018-11-14 19:10:55,090 INFO L273 TraceCheckUtils]: 25: Hoare triple {3187#(<= main_~j~0 6)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {3187#(<= main_~j~0 6)} is VALID [2018-11-14 19:10:55,091 INFO L273 TraceCheckUtils]: 26: Hoare triple {3187#(<= main_~j~0 6)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {3188#(<= main_~j~0 7)} is VALID [2018-11-14 19:10:55,091 INFO L273 TraceCheckUtils]: 27: Hoare triple {3188#(<= main_~j~0 7)} assume true; {3188#(<= main_~j~0 7)} is VALID [2018-11-14 19:10:55,092 INFO L273 TraceCheckUtils]: 28: Hoare triple {3188#(<= main_~j~0 7)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {3188#(<= main_~j~0 7)} is VALID [2018-11-14 19:10:55,092 INFO L273 TraceCheckUtils]: 29: Hoare triple {3188#(<= main_~j~0 7)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {3189#(<= main_~j~0 8)} is VALID [2018-11-14 19:10:55,093 INFO L273 TraceCheckUtils]: 30: Hoare triple {3189#(<= main_~j~0 8)} assume true; {3189#(<= main_~j~0 8)} is VALID [2018-11-14 19:10:55,093 INFO L273 TraceCheckUtils]: 31: Hoare triple {3189#(<= main_~j~0 8)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {3189#(<= main_~j~0 8)} is VALID [2018-11-14 19:10:55,094 INFO L273 TraceCheckUtils]: 32: Hoare triple {3189#(<= main_~j~0 8)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {3190#(<= main_~j~0 9)} is VALID [2018-11-14 19:10:55,095 INFO L273 TraceCheckUtils]: 33: Hoare triple {3190#(<= main_~j~0 9)} assume true; {3190#(<= main_~j~0 9)} is VALID [2018-11-14 19:10:55,095 INFO L273 TraceCheckUtils]: 34: Hoare triple {3190#(<= main_~j~0 9)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {3190#(<= main_~j~0 9)} is VALID [2018-11-14 19:10:55,096 INFO L273 TraceCheckUtils]: 35: Hoare triple {3190#(<= main_~j~0 9)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {3191#(<= main_~j~0 10)} is VALID [2018-11-14 19:10:55,096 INFO L273 TraceCheckUtils]: 36: Hoare triple {3191#(<= main_~j~0 10)} assume true; {3191#(<= main_~j~0 10)} is VALID [2018-11-14 19:10:55,097 INFO L273 TraceCheckUtils]: 37: Hoare triple {3191#(<= main_~j~0 10)} assume !(~j~0 < 20); {3180#false} is VALID [2018-11-14 19:10:55,097 INFO L273 TraceCheckUtils]: 38: Hoare triple {3180#false} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~i~0 := #t~nondet4;havoc #t~nondet4; {3180#false} is VALID [2018-11-14 19:10:55,098 INFO L273 TraceCheckUtils]: 39: Hoare triple {3180#false} assume ~i~0 >= 0 && ~i~0 < 10;~ad2~0.base, ~ad2~0.offset := ~#ad1~0.base, ~#ad1~0.offset;call write~int(~i~0, ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + ~i~0 * 8 + 0, 4);~i~0 := #t~mem5 + 10;havoc #t~mem5; {3180#false} is VALID [2018-11-14 19:10:55,098 INFO L273 TraceCheckUtils]: 40: Hoare triple {3180#false} assume true; {3180#false} is VALID [2018-11-14 19:10:55,098 INFO L273 TraceCheckUtils]: 41: Hoare triple {3180#false} call #t~mem6 := read~int(~pa~0.base, ~pa~0.offset, 4); {3180#false} is VALID [2018-11-14 19:10:55,098 INFO L273 TraceCheckUtils]: 42: Hoare triple {3180#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {3180#false} is VALID [2018-11-14 19:10:55,098 INFO L256 TraceCheckUtils]: 43: Hoare triple {3180#false} call #t~ret8 := check(~#ad1~0.base, ~#ad1~0.offset, ~i~0); {3179#true} is VALID [2018-11-14 19:10:55,099 INFO L273 TraceCheckUtils]: 44: Hoare triple {3179#true} ~ad1.base, ~ad1.offset := #in~ad1.base, #in~ad1.offset;~b := #in~b;call #t~mem0 := read~int(~ad1.base, ~ad1.offset + ~b * 8 + 0, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {3179#true} is VALID [2018-11-14 19:10:55,099 INFO L273 TraceCheckUtils]: 45: Hoare triple {3179#true} assume true; {3179#true} is VALID [2018-11-14 19:10:55,099 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {3179#true} {3180#false} #59#return; {3180#false} is VALID [2018-11-14 19:10:55,099 INFO L273 TraceCheckUtils]: 47: Hoare triple {3180#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {3180#false} is VALID [2018-11-14 19:10:55,099 INFO L273 TraceCheckUtils]: 48: Hoare triple {3180#false} assume #t~ret8 == 0;havoc #t~ret8; {3180#false} is VALID [2018-11-14 19:10:55,100 INFO L273 TraceCheckUtils]: 49: Hoare triple {3180#false} assume !false; {3180#false} is VALID [2018-11-14 19:10:55,101 INFO L134 CoverageAnalysis]: Checked inductivity of 155 backedges. 0 proven. 155 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 19:10:55,101 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 19:10:55,102 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-14 19:10:55,112 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-14 19:10:55,151 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-14 19:10:55,151 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 19:10:55,166 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 19:10:55,168 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 19:10:55,324 INFO L256 TraceCheckUtils]: 0: Hoare triple {3179#true} call ULTIMATE.init(); {3179#true} is VALID [2018-11-14 19:10:55,324 INFO L273 TraceCheckUtils]: 1: Hoare triple {3179#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {3179#true} is VALID [2018-11-14 19:10:55,325 INFO L273 TraceCheckUtils]: 2: Hoare triple {3179#true} assume true; {3179#true} is VALID [2018-11-14 19:10:55,325 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3179#true} {3179#true} #55#return; {3179#true} is VALID [2018-11-14 19:10:55,326 INFO L256 TraceCheckUtils]: 4: Hoare triple {3179#true} call #t~ret9 := main(); {3179#true} is VALID [2018-11-14 19:10:55,326 INFO L273 TraceCheckUtils]: 5: Hoare triple {3179#true} call ~#ad1~0.base, ~#ad1~0.offset := #Ultimate.alloc(160);havoc ~ad2~0.base, ~ad2~0.offset;havoc ~i~0;havoc ~j~0;havoc ~pa~0.base, ~pa~0.offset;~j~0 := 0; {3210#(<= main_~j~0 0)} is VALID [2018-11-14 19:10:55,327 INFO L273 TraceCheckUtils]: 6: Hoare triple {3210#(<= main_~j~0 0)} assume true; {3210#(<= main_~j~0 0)} is VALID [2018-11-14 19:10:55,327 INFO L273 TraceCheckUtils]: 7: Hoare triple {3210#(<= main_~j~0 0)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {3210#(<= main_~j~0 0)} is VALID [2018-11-14 19:10:55,328 INFO L273 TraceCheckUtils]: 8: Hoare triple {3210#(<= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {3182#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:55,328 INFO L273 TraceCheckUtils]: 9: Hoare triple {3182#(<= main_~j~0 1)} assume true; {3182#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:55,339 INFO L273 TraceCheckUtils]: 10: Hoare triple {3182#(<= main_~j~0 1)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {3182#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:55,339 INFO L273 TraceCheckUtils]: 11: Hoare triple {3182#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {3183#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:55,340 INFO L273 TraceCheckUtils]: 12: Hoare triple {3183#(<= main_~j~0 2)} assume true; {3183#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:55,340 INFO L273 TraceCheckUtils]: 13: Hoare triple {3183#(<= main_~j~0 2)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {3183#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:55,340 INFO L273 TraceCheckUtils]: 14: Hoare triple {3183#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {3184#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:55,341 INFO L273 TraceCheckUtils]: 15: Hoare triple {3184#(<= main_~j~0 3)} assume true; {3184#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:55,341 INFO L273 TraceCheckUtils]: 16: Hoare triple {3184#(<= main_~j~0 3)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {3184#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:55,342 INFO L273 TraceCheckUtils]: 17: Hoare triple {3184#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {3185#(<= main_~j~0 4)} is VALID [2018-11-14 19:10:55,342 INFO L273 TraceCheckUtils]: 18: Hoare triple {3185#(<= main_~j~0 4)} assume true; {3185#(<= main_~j~0 4)} is VALID [2018-11-14 19:10:55,342 INFO L273 TraceCheckUtils]: 19: Hoare triple {3185#(<= main_~j~0 4)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {3185#(<= main_~j~0 4)} is VALID [2018-11-14 19:10:55,343 INFO L273 TraceCheckUtils]: 20: Hoare triple {3185#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {3186#(<= main_~j~0 5)} is VALID [2018-11-14 19:10:55,344 INFO L273 TraceCheckUtils]: 21: Hoare triple {3186#(<= main_~j~0 5)} assume true; {3186#(<= main_~j~0 5)} is VALID [2018-11-14 19:10:55,344 INFO L273 TraceCheckUtils]: 22: Hoare triple {3186#(<= main_~j~0 5)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {3186#(<= main_~j~0 5)} is VALID [2018-11-14 19:10:55,345 INFO L273 TraceCheckUtils]: 23: Hoare triple {3186#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {3187#(<= main_~j~0 6)} is VALID [2018-11-14 19:10:55,345 INFO L273 TraceCheckUtils]: 24: Hoare triple {3187#(<= main_~j~0 6)} assume true; {3187#(<= main_~j~0 6)} is VALID [2018-11-14 19:10:55,346 INFO L273 TraceCheckUtils]: 25: Hoare triple {3187#(<= main_~j~0 6)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {3187#(<= main_~j~0 6)} is VALID [2018-11-14 19:10:55,347 INFO L273 TraceCheckUtils]: 26: Hoare triple {3187#(<= main_~j~0 6)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {3188#(<= main_~j~0 7)} is VALID [2018-11-14 19:10:55,347 INFO L273 TraceCheckUtils]: 27: Hoare triple {3188#(<= main_~j~0 7)} assume true; {3188#(<= main_~j~0 7)} is VALID [2018-11-14 19:10:55,348 INFO L273 TraceCheckUtils]: 28: Hoare triple {3188#(<= main_~j~0 7)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {3188#(<= main_~j~0 7)} is VALID [2018-11-14 19:10:55,348 INFO L273 TraceCheckUtils]: 29: Hoare triple {3188#(<= main_~j~0 7)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {3189#(<= main_~j~0 8)} is VALID [2018-11-14 19:10:55,349 INFO L273 TraceCheckUtils]: 30: Hoare triple {3189#(<= main_~j~0 8)} assume true; {3189#(<= main_~j~0 8)} is VALID [2018-11-14 19:10:55,349 INFO L273 TraceCheckUtils]: 31: Hoare triple {3189#(<= main_~j~0 8)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {3189#(<= main_~j~0 8)} is VALID [2018-11-14 19:10:55,350 INFO L273 TraceCheckUtils]: 32: Hoare triple {3189#(<= main_~j~0 8)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {3190#(<= main_~j~0 9)} is VALID [2018-11-14 19:10:55,351 INFO L273 TraceCheckUtils]: 33: Hoare triple {3190#(<= main_~j~0 9)} assume true; {3190#(<= main_~j~0 9)} is VALID [2018-11-14 19:10:55,355 INFO L273 TraceCheckUtils]: 34: Hoare triple {3190#(<= main_~j~0 9)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {3190#(<= main_~j~0 9)} is VALID [2018-11-14 19:10:55,356 INFO L273 TraceCheckUtils]: 35: Hoare triple {3190#(<= main_~j~0 9)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {3191#(<= main_~j~0 10)} is VALID [2018-11-14 19:10:55,356 INFO L273 TraceCheckUtils]: 36: Hoare triple {3191#(<= main_~j~0 10)} assume true; {3191#(<= main_~j~0 10)} is VALID [2018-11-14 19:10:55,357 INFO L273 TraceCheckUtils]: 37: Hoare triple {3191#(<= main_~j~0 10)} assume !(~j~0 < 20); {3180#false} is VALID [2018-11-14 19:10:55,357 INFO L273 TraceCheckUtils]: 38: Hoare triple {3180#false} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~i~0 := #t~nondet4;havoc #t~nondet4; {3180#false} is VALID [2018-11-14 19:10:55,357 INFO L273 TraceCheckUtils]: 39: Hoare triple {3180#false} assume ~i~0 >= 0 && ~i~0 < 10;~ad2~0.base, ~ad2~0.offset := ~#ad1~0.base, ~#ad1~0.offset;call write~int(~i~0, ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + ~i~0 * 8 + 0, 4);~i~0 := #t~mem5 + 10;havoc #t~mem5; {3180#false} is VALID [2018-11-14 19:10:55,357 INFO L273 TraceCheckUtils]: 40: Hoare triple {3180#false} assume true; {3180#false} is VALID [2018-11-14 19:10:55,357 INFO L273 TraceCheckUtils]: 41: Hoare triple {3180#false} call #t~mem6 := read~int(~pa~0.base, ~pa~0.offset, 4); {3180#false} is VALID [2018-11-14 19:10:55,357 INFO L273 TraceCheckUtils]: 42: Hoare triple {3180#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {3180#false} is VALID [2018-11-14 19:10:55,357 INFO L256 TraceCheckUtils]: 43: Hoare triple {3180#false} call #t~ret8 := check(~#ad1~0.base, ~#ad1~0.offset, ~i~0); {3180#false} is VALID [2018-11-14 19:10:55,358 INFO L273 TraceCheckUtils]: 44: Hoare triple {3180#false} ~ad1.base, ~ad1.offset := #in~ad1.base, #in~ad1.offset;~b := #in~b;call #t~mem0 := read~int(~ad1.base, ~ad1.offset + ~b * 8 + 0, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {3180#false} is VALID [2018-11-14 19:10:55,358 INFO L273 TraceCheckUtils]: 45: Hoare triple {3180#false} assume true; {3180#false} is VALID [2018-11-14 19:10:55,358 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {3180#false} {3180#false} #59#return; {3180#false} is VALID [2018-11-14 19:10:55,358 INFO L273 TraceCheckUtils]: 47: Hoare triple {3180#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {3180#false} is VALID [2018-11-14 19:10:55,358 INFO L273 TraceCheckUtils]: 48: Hoare triple {3180#false} assume #t~ret8 == 0;havoc #t~ret8; {3180#false} is VALID [2018-11-14 19:10:55,358 INFO L273 TraceCheckUtils]: 49: Hoare triple {3180#false} assume !false; {3180#false} is VALID [2018-11-14 19:10:55,361 INFO L134 CoverageAnalysis]: Checked inductivity of 155 backedges. 0 proven. 155 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 19:10:55,383 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 19:10:55,383 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 14 [2018-11-14 19:10:55,384 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 50 [2018-11-14 19:10:55,384 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 19:10:55,384 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states. [2018-11-14 19:10:55,434 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-14 19:10:55,435 INFO L459 AbstractCegarLoop]: Interpolant automaton has 14 states [2018-11-14 19:10:55,435 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2018-11-14 19:10:55,435 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=91, Invalid=91, Unknown=0, NotChecked=0, Total=182 [2018-11-14 19:10:55,436 INFO L87 Difference]: Start difference. First operand 51 states and 52 transitions. Second operand 14 states. [2018-11-14 19:10:55,731 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:10:55,731 INFO L93 Difference]: Finished difference Result 68 states and 70 transitions. [2018-11-14 19:10:55,732 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2018-11-14 19:10:55,732 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 50 [2018-11-14 19:10:55,732 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 19:10:55,733 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-11-14 19:10:55,734 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 70 transitions. [2018-11-14 19:10:55,734 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-11-14 19:10:55,736 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 70 transitions. [2018-11-14 19:10:55,736 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 70 transitions. [2018-11-14 19:10:55,856 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 19:10:55,857 INFO L225 Difference]: With dead ends: 68 [2018-11-14 19:10:55,858 INFO L226 Difference]: Without dead ends: 55 [2018-11-14 19:10:55,858 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 62 GetRequests, 50 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 18 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=91, Invalid=91, Unknown=0, NotChecked=0, Total=182 [2018-11-14 19:10:55,859 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2018-11-14 19:10:55,875 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 54. [2018-11-14 19:10:55,875 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 19:10:55,875 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand 54 states. [2018-11-14 19:10:55,875 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 54 states. [2018-11-14 19:10:55,875 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 54 states. [2018-11-14 19:10:55,877 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:10:55,877 INFO L93 Difference]: Finished difference Result 55 states and 56 transitions. [2018-11-14 19:10:55,877 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 56 transitions. [2018-11-14 19:10:55,877 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 19:10:55,877 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 19:10:55,877 INFO L74 IsIncluded]: Start isIncluded. First operand 54 states. Second operand 55 states. [2018-11-14 19:10:55,878 INFO L87 Difference]: Start difference. First operand 54 states. Second operand 55 states. [2018-11-14 19:10:55,879 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:10:55,879 INFO L93 Difference]: Finished difference Result 55 states and 56 transitions. [2018-11-14 19:10:55,879 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 56 transitions. [2018-11-14 19:10:55,880 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 19:10:55,880 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 19:10:55,880 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 19:10:55,880 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 19:10:55,880 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 54 states. [2018-11-14 19:10:55,881 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 55 transitions. [2018-11-14 19:10:55,881 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 55 transitions. Word has length 50 [2018-11-14 19:10:55,882 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 19:10:55,882 INFO L480 AbstractCegarLoop]: Abstraction has 54 states and 55 transitions. [2018-11-14 19:10:55,882 INFO L481 AbstractCegarLoop]: Interpolant automaton has 14 states. [2018-11-14 19:10:55,882 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 55 transitions. [2018-11-14 19:10:55,882 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 54 [2018-11-14 19:10:55,883 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 19:10:55,883 INFO L375 BasicCegarLoop]: trace histogram [12, 11, 11, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 19:10:55,883 INFO L423 AbstractCegarLoop]: === Iteration 13 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 19:10:55,883 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 19:10:55,883 INFO L82 PathProgramCache]: Analyzing trace with hash 756224115, now seen corresponding path program 11 times [2018-11-14 19:10:55,883 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 19:10:55,884 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 19:10:55,884 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:10:55,884 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 19:10:55,885 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:10:55,903 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 19:10:56,233 INFO L256 TraceCheckUtils]: 0: Hoare triple {3618#true} call ULTIMATE.init(); {3618#true} is VALID [2018-11-14 19:10:56,233 INFO L273 TraceCheckUtils]: 1: Hoare triple {3618#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {3618#true} is VALID [2018-11-14 19:10:56,233 INFO L273 TraceCheckUtils]: 2: Hoare triple {3618#true} assume true; {3618#true} is VALID [2018-11-14 19:10:56,233 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3618#true} {3618#true} #55#return; {3618#true} is VALID [2018-11-14 19:10:56,234 INFO L256 TraceCheckUtils]: 4: Hoare triple {3618#true} call #t~ret9 := main(); {3618#true} is VALID [2018-11-14 19:10:56,234 INFO L273 TraceCheckUtils]: 5: Hoare triple {3618#true} call ~#ad1~0.base, ~#ad1~0.offset := #Ultimate.alloc(160);havoc ~ad2~0.base, ~ad2~0.offset;havoc ~i~0;havoc ~j~0;havoc ~pa~0.base, ~pa~0.offset;~j~0 := 0; {3620#(= main_~j~0 0)} is VALID [2018-11-14 19:10:56,235 INFO L273 TraceCheckUtils]: 6: Hoare triple {3620#(= main_~j~0 0)} assume true; {3620#(= main_~j~0 0)} is VALID [2018-11-14 19:10:56,254 INFO L273 TraceCheckUtils]: 7: Hoare triple {3620#(= main_~j~0 0)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {3620#(= main_~j~0 0)} is VALID [2018-11-14 19:10:56,268 INFO L273 TraceCheckUtils]: 8: Hoare triple {3620#(= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {3621#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:56,276 INFO L273 TraceCheckUtils]: 9: Hoare triple {3621#(<= main_~j~0 1)} assume true; {3621#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:56,296 INFO L273 TraceCheckUtils]: 10: Hoare triple {3621#(<= main_~j~0 1)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {3621#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:56,309 INFO L273 TraceCheckUtils]: 11: Hoare triple {3621#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {3622#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:56,318 INFO L273 TraceCheckUtils]: 12: Hoare triple {3622#(<= main_~j~0 2)} assume true; {3622#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:56,331 INFO L273 TraceCheckUtils]: 13: Hoare triple {3622#(<= main_~j~0 2)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {3622#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:56,340 INFO L273 TraceCheckUtils]: 14: Hoare triple {3622#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {3623#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:56,346 INFO L273 TraceCheckUtils]: 15: Hoare triple {3623#(<= main_~j~0 3)} assume true; {3623#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:56,346 INFO L273 TraceCheckUtils]: 16: Hoare triple {3623#(<= main_~j~0 3)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {3623#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:56,348 INFO L273 TraceCheckUtils]: 17: Hoare triple {3623#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {3624#(<= main_~j~0 4)} is VALID [2018-11-14 19:10:56,348 INFO L273 TraceCheckUtils]: 18: Hoare triple {3624#(<= main_~j~0 4)} assume true; {3624#(<= main_~j~0 4)} is VALID [2018-11-14 19:10:56,351 INFO L273 TraceCheckUtils]: 19: Hoare triple {3624#(<= main_~j~0 4)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {3624#(<= main_~j~0 4)} is VALID [2018-11-14 19:10:56,351 INFO L273 TraceCheckUtils]: 20: Hoare triple {3624#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {3625#(<= main_~j~0 5)} is VALID [2018-11-14 19:10:56,351 INFO L273 TraceCheckUtils]: 21: Hoare triple {3625#(<= main_~j~0 5)} assume true; {3625#(<= main_~j~0 5)} is VALID [2018-11-14 19:10:56,352 INFO L273 TraceCheckUtils]: 22: Hoare triple {3625#(<= main_~j~0 5)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {3625#(<= main_~j~0 5)} is VALID [2018-11-14 19:10:56,352 INFO L273 TraceCheckUtils]: 23: Hoare triple {3625#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {3626#(<= main_~j~0 6)} is VALID [2018-11-14 19:10:56,352 INFO L273 TraceCheckUtils]: 24: Hoare triple {3626#(<= main_~j~0 6)} assume true; {3626#(<= main_~j~0 6)} is VALID [2018-11-14 19:10:56,353 INFO L273 TraceCheckUtils]: 25: Hoare triple {3626#(<= main_~j~0 6)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {3626#(<= main_~j~0 6)} is VALID [2018-11-14 19:10:56,353 INFO L273 TraceCheckUtils]: 26: Hoare triple {3626#(<= main_~j~0 6)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {3627#(<= main_~j~0 7)} is VALID [2018-11-14 19:10:56,354 INFO L273 TraceCheckUtils]: 27: Hoare triple {3627#(<= main_~j~0 7)} assume true; {3627#(<= main_~j~0 7)} is VALID [2018-11-14 19:10:56,354 INFO L273 TraceCheckUtils]: 28: Hoare triple {3627#(<= main_~j~0 7)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {3627#(<= main_~j~0 7)} is VALID [2018-11-14 19:10:56,354 INFO L273 TraceCheckUtils]: 29: Hoare triple {3627#(<= main_~j~0 7)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {3628#(<= main_~j~0 8)} is VALID [2018-11-14 19:10:56,355 INFO L273 TraceCheckUtils]: 30: Hoare triple {3628#(<= main_~j~0 8)} assume true; {3628#(<= main_~j~0 8)} is VALID [2018-11-14 19:10:56,355 INFO L273 TraceCheckUtils]: 31: Hoare triple {3628#(<= main_~j~0 8)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {3628#(<= main_~j~0 8)} is VALID [2018-11-14 19:10:56,356 INFO L273 TraceCheckUtils]: 32: Hoare triple {3628#(<= main_~j~0 8)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {3629#(<= main_~j~0 9)} is VALID [2018-11-14 19:10:56,373 INFO L273 TraceCheckUtils]: 33: Hoare triple {3629#(<= main_~j~0 9)} assume true; {3629#(<= main_~j~0 9)} is VALID [2018-11-14 19:10:56,382 INFO L273 TraceCheckUtils]: 34: Hoare triple {3629#(<= main_~j~0 9)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {3629#(<= main_~j~0 9)} is VALID [2018-11-14 19:10:56,392 INFO L273 TraceCheckUtils]: 35: Hoare triple {3629#(<= main_~j~0 9)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {3630#(<= main_~j~0 10)} is VALID [2018-11-14 19:10:56,393 INFO L273 TraceCheckUtils]: 36: Hoare triple {3630#(<= main_~j~0 10)} assume true; {3630#(<= main_~j~0 10)} is VALID [2018-11-14 19:10:56,393 INFO L273 TraceCheckUtils]: 37: Hoare triple {3630#(<= main_~j~0 10)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {3630#(<= main_~j~0 10)} is VALID [2018-11-14 19:10:56,394 INFO L273 TraceCheckUtils]: 38: Hoare triple {3630#(<= main_~j~0 10)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {3631#(<= main_~j~0 11)} is VALID [2018-11-14 19:10:56,394 INFO L273 TraceCheckUtils]: 39: Hoare triple {3631#(<= main_~j~0 11)} assume true; {3631#(<= main_~j~0 11)} is VALID [2018-11-14 19:10:56,397 INFO L273 TraceCheckUtils]: 40: Hoare triple {3631#(<= main_~j~0 11)} assume !(~j~0 < 20); {3619#false} is VALID [2018-11-14 19:10:56,397 INFO L273 TraceCheckUtils]: 41: Hoare triple {3619#false} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~i~0 := #t~nondet4;havoc #t~nondet4; {3619#false} is VALID [2018-11-14 19:10:56,397 INFO L273 TraceCheckUtils]: 42: Hoare triple {3619#false} assume ~i~0 >= 0 && ~i~0 < 10;~ad2~0.base, ~ad2~0.offset := ~#ad1~0.base, ~#ad1~0.offset;call write~int(~i~0, ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + ~i~0 * 8 + 0, 4);~i~0 := #t~mem5 + 10;havoc #t~mem5; {3619#false} is VALID [2018-11-14 19:10:56,397 INFO L273 TraceCheckUtils]: 43: Hoare triple {3619#false} assume true; {3619#false} is VALID [2018-11-14 19:10:56,397 INFO L273 TraceCheckUtils]: 44: Hoare triple {3619#false} call #t~mem6 := read~int(~pa~0.base, ~pa~0.offset, 4); {3619#false} is VALID [2018-11-14 19:10:56,398 INFO L273 TraceCheckUtils]: 45: Hoare triple {3619#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {3619#false} is VALID [2018-11-14 19:10:56,398 INFO L256 TraceCheckUtils]: 46: Hoare triple {3619#false} call #t~ret8 := check(~#ad1~0.base, ~#ad1~0.offset, ~i~0); {3618#true} is VALID [2018-11-14 19:10:56,398 INFO L273 TraceCheckUtils]: 47: Hoare triple {3618#true} ~ad1.base, ~ad1.offset := #in~ad1.base, #in~ad1.offset;~b := #in~b;call #t~mem0 := read~int(~ad1.base, ~ad1.offset + ~b * 8 + 0, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {3618#true} is VALID [2018-11-14 19:10:56,398 INFO L273 TraceCheckUtils]: 48: Hoare triple {3618#true} assume true; {3618#true} is VALID [2018-11-14 19:10:56,398 INFO L268 TraceCheckUtils]: 49: Hoare quadruple {3618#true} {3619#false} #59#return; {3619#false} is VALID [2018-11-14 19:10:56,398 INFO L273 TraceCheckUtils]: 50: Hoare triple {3619#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {3619#false} is VALID [2018-11-14 19:10:56,398 INFO L273 TraceCheckUtils]: 51: Hoare triple {3619#false} assume #t~ret8 == 0;havoc #t~ret8; {3619#false} is VALID [2018-11-14 19:10:56,398 INFO L273 TraceCheckUtils]: 52: Hoare triple {3619#false} assume !false; {3619#false} is VALID [2018-11-14 19:10:56,400 INFO L134 CoverageAnalysis]: Checked inductivity of 187 backedges. 0 proven. 187 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 19:10:56,400 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 19:10:56,400 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-14 19:10:56,409 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-14 19:10:56,620 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 12 check-sat command(s) [2018-11-14 19:10:56,620 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 19:10:56,634 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 19:10:56,636 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 19:10:56,782 INFO L256 TraceCheckUtils]: 0: Hoare triple {3618#true} call ULTIMATE.init(); {3618#true} is VALID [2018-11-14 19:10:56,782 INFO L273 TraceCheckUtils]: 1: Hoare triple {3618#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {3618#true} is VALID [2018-11-14 19:10:56,782 INFO L273 TraceCheckUtils]: 2: Hoare triple {3618#true} assume true; {3618#true} is VALID [2018-11-14 19:10:56,783 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3618#true} {3618#true} #55#return; {3618#true} is VALID [2018-11-14 19:10:56,783 INFO L256 TraceCheckUtils]: 4: Hoare triple {3618#true} call #t~ret9 := main(); {3618#true} is VALID [2018-11-14 19:10:56,784 INFO L273 TraceCheckUtils]: 5: Hoare triple {3618#true} call ~#ad1~0.base, ~#ad1~0.offset := #Ultimate.alloc(160);havoc ~ad2~0.base, ~ad2~0.offset;havoc ~i~0;havoc ~j~0;havoc ~pa~0.base, ~pa~0.offset;~j~0 := 0; {3650#(<= main_~j~0 0)} is VALID [2018-11-14 19:10:56,784 INFO L273 TraceCheckUtils]: 6: Hoare triple {3650#(<= main_~j~0 0)} assume true; {3650#(<= main_~j~0 0)} is VALID [2018-11-14 19:10:56,785 INFO L273 TraceCheckUtils]: 7: Hoare triple {3650#(<= main_~j~0 0)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {3650#(<= main_~j~0 0)} is VALID [2018-11-14 19:10:56,785 INFO L273 TraceCheckUtils]: 8: Hoare triple {3650#(<= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {3621#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:56,786 INFO L273 TraceCheckUtils]: 9: Hoare triple {3621#(<= main_~j~0 1)} assume true; {3621#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:56,786 INFO L273 TraceCheckUtils]: 10: Hoare triple {3621#(<= main_~j~0 1)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {3621#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:56,787 INFO L273 TraceCheckUtils]: 11: Hoare triple {3621#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {3622#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:56,788 INFO L273 TraceCheckUtils]: 12: Hoare triple {3622#(<= main_~j~0 2)} assume true; {3622#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:56,788 INFO L273 TraceCheckUtils]: 13: Hoare triple {3622#(<= main_~j~0 2)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {3622#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:56,789 INFO L273 TraceCheckUtils]: 14: Hoare triple {3622#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {3623#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:56,790 INFO L273 TraceCheckUtils]: 15: Hoare triple {3623#(<= main_~j~0 3)} assume true; {3623#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:56,791 INFO L273 TraceCheckUtils]: 16: Hoare triple {3623#(<= main_~j~0 3)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {3623#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:56,791 INFO L273 TraceCheckUtils]: 17: Hoare triple {3623#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {3624#(<= main_~j~0 4)} is VALID [2018-11-14 19:10:56,792 INFO L273 TraceCheckUtils]: 18: Hoare triple {3624#(<= main_~j~0 4)} assume true; {3624#(<= main_~j~0 4)} is VALID [2018-11-14 19:10:56,793 INFO L273 TraceCheckUtils]: 19: Hoare triple {3624#(<= main_~j~0 4)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {3624#(<= main_~j~0 4)} is VALID [2018-11-14 19:10:56,794 INFO L273 TraceCheckUtils]: 20: Hoare triple {3624#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {3625#(<= main_~j~0 5)} is VALID [2018-11-14 19:10:56,794 INFO L273 TraceCheckUtils]: 21: Hoare triple {3625#(<= main_~j~0 5)} assume true; {3625#(<= main_~j~0 5)} is VALID [2018-11-14 19:10:56,795 INFO L273 TraceCheckUtils]: 22: Hoare triple {3625#(<= main_~j~0 5)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {3625#(<= main_~j~0 5)} is VALID [2018-11-14 19:10:56,796 INFO L273 TraceCheckUtils]: 23: Hoare triple {3625#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {3626#(<= main_~j~0 6)} is VALID [2018-11-14 19:10:56,796 INFO L273 TraceCheckUtils]: 24: Hoare triple {3626#(<= main_~j~0 6)} assume true; {3626#(<= main_~j~0 6)} is VALID [2018-11-14 19:10:56,797 INFO L273 TraceCheckUtils]: 25: Hoare triple {3626#(<= main_~j~0 6)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {3626#(<= main_~j~0 6)} is VALID [2018-11-14 19:10:56,798 INFO L273 TraceCheckUtils]: 26: Hoare triple {3626#(<= main_~j~0 6)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {3627#(<= main_~j~0 7)} is VALID [2018-11-14 19:10:56,799 INFO L273 TraceCheckUtils]: 27: Hoare triple {3627#(<= main_~j~0 7)} assume true; {3627#(<= main_~j~0 7)} is VALID [2018-11-14 19:10:56,799 INFO L273 TraceCheckUtils]: 28: Hoare triple {3627#(<= main_~j~0 7)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {3627#(<= main_~j~0 7)} is VALID [2018-11-14 19:10:56,800 INFO L273 TraceCheckUtils]: 29: Hoare triple {3627#(<= main_~j~0 7)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {3628#(<= main_~j~0 8)} is VALID [2018-11-14 19:10:56,801 INFO L273 TraceCheckUtils]: 30: Hoare triple {3628#(<= main_~j~0 8)} assume true; {3628#(<= main_~j~0 8)} is VALID [2018-11-14 19:10:56,801 INFO L273 TraceCheckUtils]: 31: Hoare triple {3628#(<= main_~j~0 8)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {3628#(<= main_~j~0 8)} is VALID [2018-11-14 19:10:56,802 INFO L273 TraceCheckUtils]: 32: Hoare triple {3628#(<= main_~j~0 8)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {3629#(<= main_~j~0 9)} is VALID [2018-11-14 19:10:56,803 INFO L273 TraceCheckUtils]: 33: Hoare triple {3629#(<= main_~j~0 9)} assume true; {3629#(<= main_~j~0 9)} is VALID [2018-11-14 19:10:56,804 INFO L273 TraceCheckUtils]: 34: Hoare triple {3629#(<= main_~j~0 9)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {3629#(<= main_~j~0 9)} is VALID [2018-11-14 19:10:56,805 INFO L273 TraceCheckUtils]: 35: Hoare triple {3629#(<= main_~j~0 9)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {3630#(<= main_~j~0 10)} is VALID [2018-11-14 19:10:56,805 INFO L273 TraceCheckUtils]: 36: Hoare triple {3630#(<= main_~j~0 10)} assume true; {3630#(<= main_~j~0 10)} is VALID [2018-11-14 19:10:56,806 INFO L273 TraceCheckUtils]: 37: Hoare triple {3630#(<= main_~j~0 10)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {3630#(<= main_~j~0 10)} is VALID [2018-11-14 19:10:56,807 INFO L273 TraceCheckUtils]: 38: Hoare triple {3630#(<= main_~j~0 10)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {3631#(<= main_~j~0 11)} is VALID [2018-11-14 19:10:56,807 INFO L273 TraceCheckUtils]: 39: Hoare triple {3631#(<= main_~j~0 11)} assume true; {3631#(<= main_~j~0 11)} is VALID [2018-11-14 19:10:56,808 INFO L273 TraceCheckUtils]: 40: Hoare triple {3631#(<= main_~j~0 11)} assume !(~j~0 < 20); {3619#false} is VALID [2018-11-14 19:10:56,808 INFO L273 TraceCheckUtils]: 41: Hoare triple {3619#false} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~i~0 := #t~nondet4;havoc #t~nondet4; {3619#false} is VALID [2018-11-14 19:10:56,809 INFO L273 TraceCheckUtils]: 42: Hoare triple {3619#false} assume ~i~0 >= 0 && ~i~0 < 10;~ad2~0.base, ~ad2~0.offset := ~#ad1~0.base, ~#ad1~0.offset;call write~int(~i~0, ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + ~i~0 * 8 + 0, 4);~i~0 := #t~mem5 + 10;havoc #t~mem5; {3619#false} is VALID [2018-11-14 19:10:56,809 INFO L273 TraceCheckUtils]: 43: Hoare triple {3619#false} assume true; {3619#false} is VALID [2018-11-14 19:10:56,809 INFO L273 TraceCheckUtils]: 44: Hoare triple {3619#false} call #t~mem6 := read~int(~pa~0.base, ~pa~0.offset, 4); {3619#false} is VALID [2018-11-14 19:10:56,809 INFO L273 TraceCheckUtils]: 45: Hoare triple {3619#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {3619#false} is VALID [2018-11-14 19:10:56,810 INFO L256 TraceCheckUtils]: 46: Hoare triple {3619#false} call #t~ret8 := check(~#ad1~0.base, ~#ad1~0.offset, ~i~0); {3619#false} is VALID [2018-11-14 19:10:56,810 INFO L273 TraceCheckUtils]: 47: Hoare triple {3619#false} ~ad1.base, ~ad1.offset := #in~ad1.base, #in~ad1.offset;~b := #in~b;call #t~mem0 := read~int(~ad1.base, ~ad1.offset + ~b * 8 + 0, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {3619#false} is VALID [2018-11-14 19:10:56,810 INFO L273 TraceCheckUtils]: 48: Hoare triple {3619#false} assume true; {3619#false} is VALID [2018-11-14 19:10:56,811 INFO L268 TraceCheckUtils]: 49: Hoare quadruple {3619#false} {3619#false} #59#return; {3619#false} is VALID [2018-11-14 19:10:56,811 INFO L273 TraceCheckUtils]: 50: Hoare triple {3619#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {3619#false} is VALID [2018-11-14 19:10:56,811 INFO L273 TraceCheckUtils]: 51: Hoare triple {3619#false} assume #t~ret8 == 0;havoc #t~ret8; {3619#false} is VALID [2018-11-14 19:10:56,811 INFO L273 TraceCheckUtils]: 52: Hoare triple {3619#false} assume !false; {3619#false} is VALID [2018-11-14 19:10:56,815 INFO L134 CoverageAnalysis]: Checked inductivity of 187 backedges. 0 proven. 187 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 19:10:56,837 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 19:10:56,837 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 14] total 15 [2018-11-14 19:10:56,837 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 53 [2018-11-14 19:10:56,838 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 19:10:56,838 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states. [2018-11-14 19:10:56,913 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 19:10:56,913 INFO L459 AbstractCegarLoop]: Interpolant automaton has 15 states [2018-11-14 19:10:56,913 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2018-11-14 19:10:56,914 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=105, Invalid=105, Unknown=0, NotChecked=0, Total=210 [2018-11-14 19:10:56,914 INFO L87 Difference]: Start difference. First operand 54 states and 55 transitions. Second operand 15 states. [2018-11-14 19:10:57,255 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:10:57,255 INFO L93 Difference]: Finished difference Result 71 states and 73 transitions. [2018-11-14 19:10:57,255 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2018-11-14 19:10:57,255 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 53 [2018-11-14 19:10:57,256 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 19:10:57,256 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-14 19:10:57,258 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 73 transitions. [2018-11-14 19:10:57,258 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-14 19:10:57,260 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 73 transitions. [2018-11-14 19:10:57,260 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 73 transitions. [2018-11-14 19:10:57,362 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 19:10:57,364 INFO L225 Difference]: With dead ends: 71 [2018-11-14 19:10:57,364 INFO L226 Difference]: Without dead ends: 58 [2018-11-14 19:10:57,365 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 66 GetRequests, 53 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 20 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=105, Invalid=105, Unknown=0, NotChecked=0, Total=210 [2018-11-14 19:10:57,365 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 58 states. [2018-11-14 19:10:57,419 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 58 to 57. [2018-11-14 19:10:57,420 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 19:10:57,420 INFO L82 GeneralOperation]: Start isEquivalent. First operand 58 states. Second operand 57 states. [2018-11-14 19:10:57,420 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand 57 states. [2018-11-14 19:10:57,420 INFO L87 Difference]: Start difference. First operand 58 states. Second operand 57 states. [2018-11-14 19:10:57,422 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:10:57,422 INFO L93 Difference]: Finished difference Result 58 states and 59 transitions. [2018-11-14 19:10:57,422 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 59 transitions. [2018-11-14 19:10:57,422 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 19:10:57,423 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 19:10:57,423 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand 58 states. [2018-11-14 19:10:57,423 INFO L87 Difference]: Start difference. First operand 57 states. Second operand 58 states. [2018-11-14 19:10:57,424 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:10:57,425 INFO L93 Difference]: Finished difference Result 58 states and 59 transitions. [2018-11-14 19:10:57,425 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 59 transitions. [2018-11-14 19:10:57,425 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 19:10:57,425 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 19:10:57,426 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 19:10:57,426 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 19:10:57,426 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 57 states. [2018-11-14 19:10:57,427 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 58 transitions. [2018-11-14 19:10:57,427 INFO L78 Accepts]: Start accepts. Automaton has 57 states and 58 transitions. Word has length 53 [2018-11-14 19:10:57,428 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 19:10:57,428 INFO L480 AbstractCegarLoop]: Abstraction has 57 states and 58 transitions. [2018-11-14 19:10:57,428 INFO L481 AbstractCegarLoop]: Interpolant automaton has 15 states. [2018-11-14 19:10:57,428 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 58 transitions. [2018-11-14 19:10:57,429 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2018-11-14 19:10:57,429 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 19:10:57,429 INFO L375 BasicCegarLoop]: trace histogram [13, 12, 12, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 19:10:57,429 INFO L423 AbstractCegarLoop]: === Iteration 14 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 19:10:57,430 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 19:10:57,430 INFO L82 PathProgramCache]: Analyzing trace with hash 1502304420, now seen corresponding path program 12 times [2018-11-14 19:10:57,430 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 19:10:57,430 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 19:10:57,431 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:10:57,431 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 19:10:57,431 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:10:57,466 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 19:10:57,990 INFO L256 TraceCheckUtils]: 0: Hoare triple {4081#true} call ULTIMATE.init(); {4081#true} is VALID [2018-11-14 19:10:57,991 INFO L273 TraceCheckUtils]: 1: Hoare triple {4081#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {4081#true} is VALID [2018-11-14 19:10:57,991 INFO L273 TraceCheckUtils]: 2: Hoare triple {4081#true} assume true; {4081#true} is VALID [2018-11-14 19:10:57,991 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4081#true} {4081#true} #55#return; {4081#true} is VALID [2018-11-14 19:10:57,992 INFO L256 TraceCheckUtils]: 4: Hoare triple {4081#true} call #t~ret9 := main(); {4081#true} is VALID [2018-11-14 19:10:57,992 INFO L273 TraceCheckUtils]: 5: Hoare triple {4081#true} call ~#ad1~0.base, ~#ad1~0.offset := #Ultimate.alloc(160);havoc ~ad2~0.base, ~ad2~0.offset;havoc ~i~0;havoc ~j~0;havoc ~pa~0.base, ~pa~0.offset;~j~0 := 0; {4083#(= main_~j~0 0)} is VALID [2018-11-14 19:10:57,993 INFO L273 TraceCheckUtils]: 6: Hoare triple {4083#(= main_~j~0 0)} assume true; {4083#(= main_~j~0 0)} is VALID [2018-11-14 19:10:57,993 INFO L273 TraceCheckUtils]: 7: Hoare triple {4083#(= main_~j~0 0)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {4083#(= main_~j~0 0)} is VALID [2018-11-14 19:10:57,994 INFO L273 TraceCheckUtils]: 8: Hoare triple {4083#(= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {4084#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:57,994 INFO L273 TraceCheckUtils]: 9: Hoare triple {4084#(<= main_~j~0 1)} assume true; {4084#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:57,995 INFO L273 TraceCheckUtils]: 10: Hoare triple {4084#(<= main_~j~0 1)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {4084#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:57,996 INFO L273 TraceCheckUtils]: 11: Hoare triple {4084#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {4085#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:57,996 INFO L273 TraceCheckUtils]: 12: Hoare triple {4085#(<= main_~j~0 2)} assume true; {4085#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:57,997 INFO L273 TraceCheckUtils]: 13: Hoare triple {4085#(<= main_~j~0 2)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {4085#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:57,998 INFO L273 TraceCheckUtils]: 14: Hoare triple {4085#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {4086#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:57,998 INFO L273 TraceCheckUtils]: 15: Hoare triple {4086#(<= main_~j~0 3)} assume true; {4086#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:57,999 INFO L273 TraceCheckUtils]: 16: Hoare triple {4086#(<= main_~j~0 3)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {4086#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:57,999 INFO L273 TraceCheckUtils]: 17: Hoare triple {4086#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {4087#(<= main_~j~0 4)} is VALID [2018-11-14 19:10:58,000 INFO L273 TraceCheckUtils]: 18: Hoare triple {4087#(<= main_~j~0 4)} assume true; {4087#(<= main_~j~0 4)} is VALID [2018-11-14 19:10:58,001 INFO L273 TraceCheckUtils]: 19: Hoare triple {4087#(<= main_~j~0 4)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {4087#(<= main_~j~0 4)} is VALID [2018-11-14 19:10:58,001 INFO L273 TraceCheckUtils]: 20: Hoare triple {4087#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {4088#(<= main_~j~0 5)} is VALID [2018-11-14 19:10:58,002 INFO L273 TraceCheckUtils]: 21: Hoare triple {4088#(<= main_~j~0 5)} assume true; {4088#(<= main_~j~0 5)} is VALID [2018-11-14 19:10:58,002 INFO L273 TraceCheckUtils]: 22: Hoare triple {4088#(<= main_~j~0 5)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {4088#(<= main_~j~0 5)} is VALID [2018-11-14 19:10:58,003 INFO L273 TraceCheckUtils]: 23: Hoare triple {4088#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {4089#(<= main_~j~0 6)} is VALID [2018-11-14 19:10:58,004 INFO L273 TraceCheckUtils]: 24: Hoare triple {4089#(<= main_~j~0 6)} assume true; {4089#(<= main_~j~0 6)} is VALID [2018-11-14 19:10:58,004 INFO L273 TraceCheckUtils]: 25: Hoare triple {4089#(<= main_~j~0 6)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {4089#(<= main_~j~0 6)} is VALID [2018-11-14 19:10:58,005 INFO L273 TraceCheckUtils]: 26: Hoare triple {4089#(<= main_~j~0 6)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {4090#(<= main_~j~0 7)} is VALID [2018-11-14 19:10:58,006 INFO L273 TraceCheckUtils]: 27: Hoare triple {4090#(<= main_~j~0 7)} assume true; {4090#(<= main_~j~0 7)} is VALID [2018-11-14 19:10:58,006 INFO L273 TraceCheckUtils]: 28: Hoare triple {4090#(<= main_~j~0 7)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {4090#(<= main_~j~0 7)} is VALID [2018-11-14 19:10:58,007 INFO L273 TraceCheckUtils]: 29: Hoare triple {4090#(<= main_~j~0 7)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {4091#(<= main_~j~0 8)} is VALID [2018-11-14 19:10:58,008 INFO L273 TraceCheckUtils]: 30: Hoare triple {4091#(<= main_~j~0 8)} assume true; {4091#(<= main_~j~0 8)} is VALID [2018-11-14 19:10:58,008 INFO L273 TraceCheckUtils]: 31: Hoare triple {4091#(<= main_~j~0 8)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {4091#(<= main_~j~0 8)} is VALID [2018-11-14 19:10:58,009 INFO L273 TraceCheckUtils]: 32: Hoare triple {4091#(<= main_~j~0 8)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {4092#(<= main_~j~0 9)} is VALID [2018-11-14 19:10:58,009 INFO L273 TraceCheckUtils]: 33: Hoare triple {4092#(<= main_~j~0 9)} assume true; {4092#(<= main_~j~0 9)} is VALID [2018-11-14 19:10:58,010 INFO L273 TraceCheckUtils]: 34: Hoare triple {4092#(<= main_~j~0 9)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {4092#(<= main_~j~0 9)} is VALID [2018-11-14 19:10:58,011 INFO L273 TraceCheckUtils]: 35: Hoare triple {4092#(<= main_~j~0 9)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {4093#(<= main_~j~0 10)} is VALID [2018-11-14 19:10:58,011 INFO L273 TraceCheckUtils]: 36: Hoare triple {4093#(<= main_~j~0 10)} assume true; {4093#(<= main_~j~0 10)} is VALID [2018-11-14 19:10:58,012 INFO L273 TraceCheckUtils]: 37: Hoare triple {4093#(<= main_~j~0 10)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {4093#(<= main_~j~0 10)} is VALID [2018-11-14 19:10:58,013 INFO L273 TraceCheckUtils]: 38: Hoare triple {4093#(<= main_~j~0 10)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {4094#(<= main_~j~0 11)} is VALID [2018-11-14 19:10:58,013 INFO L273 TraceCheckUtils]: 39: Hoare triple {4094#(<= main_~j~0 11)} assume true; {4094#(<= main_~j~0 11)} is VALID [2018-11-14 19:10:58,014 INFO L273 TraceCheckUtils]: 40: Hoare triple {4094#(<= main_~j~0 11)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {4094#(<= main_~j~0 11)} is VALID [2018-11-14 19:10:58,015 INFO L273 TraceCheckUtils]: 41: Hoare triple {4094#(<= main_~j~0 11)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {4095#(<= main_~j~0 12)} is VALID [2018-11-14 19:10:58,015 INFO L273 TraceCheckUtils]: 42: Hoare triple {4095#(<= main_~j~0 12)} assume true; {4095#(<= main_~j~0 12)} is VALID [2018-11-14 19:10:58,016 INFO L273 TraceCheckUtils]: 43: Hoare triple {4095#(<= main_~j~0 12)} assume !(~j~0 < 20); {4082#false} is VALID [2018-11-14 19:10:58,016 INFO L273 TraceCheckUtils]: 44: Hoare triple {4082#false} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~i~0 := #t~nondet4;havoc #t~nondet4; {4082#false} is VALID [2018-11-14 19:10:58,016 INFO L273 TraceCheckUtils]: 45: Hoare triple {4082#false} assume ~i~0 >= 0 && ~i~0 < 10;~ad2~0.base, ~ad2~0.offset := ~#ad1~0.base, ~#ad1~0.offset;call write~int(~i~0, ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + ~i~0 * 8 + 0, 4);~i~0 := #t~mem5 + 10;havoc #t~mem5; {4082#false} is VALID [2018-11-14 19:10:58,016 INFO L273 TraceCheckUtils]: 46: Hoare triple {4082#false} assume true; {4082#false} is VALID [2018-11-14 19:10:58,017 INFO L273 TraceCheckUtils]: 47: Hoare triple {4082#false} call #t~mem6 := read~int(~pa~0.base, ~pa~0.offset, 4); {4082#false} is VALID [2018-11-14 19:10:58,017 INFO L273 TraceCheckUtils]: 48: Hoare triple {4082#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {4082#false} is VALID [2018-11-14 19:10:58,017 INFO L256 TraceCheckUtils]: 49: Hoare triple {4082#false} call #t~ret8 := check(~#ad1~0.base, ~#ad1~0.offset, ~i~0); {4081#true} is VALID [2018-11-14 19:10:58,017 INFO L273 TraceCheckUtils]: 50: Hoare triple {4081#true} ~ad1.base, ~ad1.offset := #in~ad1.base, #in~ad1.offset;~b := #in~b;call #t~mem0 := read~int(~ad1.base, ~ad1.offset + ~b * 8 + 0, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {4081#true} is VALID [2018-11-14 19:10:58,018 INFO L273 TraceCheckUtils]: 51: Hoare triple {4081#true} assume true; {4081#true} is VALID [2018-11-14 19:10:58,018 INFO L268 TraceCheckUtils]: 52: Hoare quadruple {4081#true} {4082#false} #59#return; {4082#false} is VALID [2018-11-14 19:10:58,018 INFO L273 TraceCheckUtils]: 53: Hoare triple {4082#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {4082#false} is VALID [2018-11-14 19:10:58,018 INFO L273 TraceCheckUtils]: 54: Hoare triple {4082#false} assume #t~ret8 == 0;havoc #t~ret8; {4082#false} is VALID [2018-11-14 19:10:58,018 INFO L273 TraceCheckUtils]: 55: Hoare triple {4082#false} assume !false; {4082#false} is VALID [2018-11-14 19:10:58,020 INFO L134 CoverageAnalysis]: Checked inductivity of 222 backedges. 0 proven. 222 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 19:10:58,021 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 19:10:58,021 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-14 19:10:58,030 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-14 19:10:58,994 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 13 check-sat command(s) [2018-11-14 19:10:58,994 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 19:10:59,010 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 19:10:59,011 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 19:10:59,135 INFO L256 TraceCheckUtils]: 0: Hoare triple {4081#true} call ULTIMATE.init(); {4081#true} is VALID [2018-11-14 19:10:59,136 INFO L273 TraceCheckUtils]: 1: Hoare triple {4081#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {4081#true} is VALID [2018-11-14 19:10:59,136 INFO L273 TraceCheckUtils]: 2: Hoare triple {4081#true} assume true; {4081#true} is VALID [2018-11-14 19:10:59,136 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4081#true} {4081#true} #55#return; {4081#true} is VALID [2018-11-14 19:10:59,136 INFO L256 TraceCheckUtils]: 4: Hoare triple {4081#true} call #t~ret9 := main(); {4081#true} is VALID [2018-11-14 19:10:59,137 INFO L273 TraceCheckUtils]: 5: Hoare triple {4081#true} call ~#ad1~0.base, ~#ad1~0.offset := #Ultimate.alloc(160);havoc ~ad2~0.base, ~ad2~0.offset;havoc ~i~0;havoc ~j~0;havoc ~pa~0.base, ~pa~0.offset;~j~0 := 0; {4114#(<= main_~j~0 0)} is VALID [2018-11-14 19:10:59,137 INFO L273 TraceCheckUtils]: 6: Hoare triple {4114#(<= main_~j~0 0)} assume true; {4114#(<= main_~j~0 0)} is VALID [2018-11-14 19:10:59,138 INFO L273 TraceCheckUtils]: 7: Hoare triple {4114#(<= main_~j~0 0)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {4114#(<= main_~j~0 0)} is VALID [2018-11-14 19:10:59,138 INFO L273 TraceCheckUtils]: 8: Hoare triple {4114#(<= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {4084#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:59,139 INFO L273 TraceCheckUtils]: 9: Hoare triple {4084#(<= main_~j~0 1)} assume true; {4084#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:59,139 INFO L273 TraceCheckUtils]: 10: Hoare triple {4084#(<= main_~j~0 1)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {4084#(<= main_~j~0 1)} is VALID [2018-11-14 19:10:59,139 INFO L273 TraceCheckUtils]: 11: Hoare triple {4084#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {4085#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:59,140 INFO L273 TraceCheckUtils]: 12: Hoare triple {4085#(<= main_~j~0 2)} assume true; {4085#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:59,140 INFO L273 TraceCheckUtils]: 13: Hoare triple {4085#(<= main_~j~0 2)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {4085#(<= main_~j~0 2)} is VALID [2018-11-14 19:10:59,141 INFO L273 TraceCheckUtils]: 14: Hoare triple {4085#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {4086#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:59,142 INFO L273 TraceCheckUtils]: 15: Hoare triple {4086#(<= main_~j~0 3)} assume true; {4086#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:59,142 INFO L273 TraceCheckUtils]: 16: Hoare triple {4086#(<= main_~j~0 3)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {4086#(<= main_~j~0 3)} is VALID [2018-11-14 19:10:59,143 INFO L273 TraceCheckUtils]: 17: Hoare triple {4086#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {4087#(<= main_~j~0 4)} is VALID [2018-11-14 19:10:59,144 INFO L273 TraceCheckUtils]: 18: Hoare triple {4087#(<= main_~j~0 4)} assume true; {4087#(<= main_~j~0 4)} is VALID [2018-11-14 19:10:59,144 INFO L273 TraceCheckUtils]: 19: Hoare triple {4087#(<= main_~j~0 4)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {4087#(<= main_~j~0 4)} is VALID [2018-11-14 19:10:59,145 INFO L273 TraceCheckUtils]: 20: Hoare triple {4087#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {4088#(<= main_~j~0 5)} is VALID [2018-11-14 19:10:59,146 INFO L273 TraceCheckUtils]: 21: Hoare triple {4088#(<= main_~j~0 5)} assume true; {4088#(<= main_~j~0 5)} is VALID [2018-11-14 19:10:59,147 INFO L273 TraceCheckUtils]: 22: Hoare triple {4088#(<= main_~j~0 5)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {4088#(<= main_~j~0 5)} is VALID [2018-11-14 19:10:59,148 INFO L273 TraceCheckUtils]: 23: Hoare triple {4088#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {4089#(<= main_~j~0 6)} is VALID [2018-11-14 19:10:59,148 INFO L273 TraceCheckUtils]: 24: Hoare triple {4089#(<= main_~j~0 6)} assume true; {4089#(<= main_~j~0 6)} is VALID [2018-11-14 19:10:59,149 INFO L273 TraceCheckUtils]: 25: Hoare triple {4089#(<= main_~j~0 6)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {4089#(<= main_~j~0 6)} is VALID [2018-11-14 19:10:59,150 INFO L273 TraceCheckUtils]: 26: Hoare triple {4089#(<= main_~j~0 6)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {4090#(<= main_~j~0 7)} is VALID [2018-11-14 19:10:59,150 INFO L273 TraceCheckUtils]: 27: Hoare triple {4090#(<= main_~j~0 7)} assume true; {4090#(<= main_~j~0 7)} is VALID [2018-11-14 19:10:59,151 INFO L273 TraceCheckUtils]: 28: Hoare triple {4090#(<= main_~j~0 7)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {4090#(<= main_~j~0 7)} is VALID [2018-11-14 19:10:59,152 INFO L273 TraceCheckUtils]: 29: Hoare triple {4090#(<= main_~j~0 7)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {4091#(<= main_~j~0 8)} is VALID [2018-11-14 19:10:59,152 INFO L273 TraceCheckUtils]: 30: Hoare triple {4091#(<= main_~j~0 8)} assume true; {4091#(<= main_~j~0 8)} is VALID [2018-11-14 19:10:59,153 INFO L273 TraceCheckUtils]: 31: Hoare triple {4091#(<= main_~j~0 8)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {4091#(<= main_~j~0 8)} is VALID [2018-11-14 19:10:59,154 INFO L273 TraceCheckUtils]: 32: Hoare triple {4091#(<= main_~j~0 8)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {4092#(<= main_~j~0 9)} is VALID [2018-11-14 19:10:59,154 INFO L273 TraceCheckUtils]: 33: Hoare triple {4092#(<= main_~j~0 9)} assume true; {4092#(<= main_~j~0 9)} is VALID [2018-11-14 19:10:59,155 INFO L273 TraceCheckUtils]: 34: Hoare triple {4092#(<= main_~j~0 9)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {4092#(<= main_~j~0 9)} is VALID [2018-11-14 19:10:59,155 INFO L273 TraceCheckUtils]: 35: Hoare triple {4092#(<= main_~j~0 9)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {4093#(<= main_~j~0 10)} is VALID [2018-11-14 19:10:59,156 INFO L273 TraceCheckUtils]: 36: Hoare triple {4093#(<= main_~j~0 10)} assume true; {4093#(<= main_~j~0 10)} is VALID [2018-11-14 19:10:59,156 INFO L273 TraceCheckUtils]: 37: Hoare triple {4093#(<= main_~j~0 10)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {4093#(<= main_~j~0 10)} is VALID [2018-11-14 19:10:59,157 INFO L273 TraceCheckUtils]: 38: Hoare triple {4093#(<= main_~j~0 10)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {4094#(<= main_~j~0 11)} is VALID [2018-11-14 19:10:59,158 INFO L273 TraceCheckUtils]: 39: Hoare triple {4094#(<= main_~j~0 11)} assume true; {4094#(<= main_~j~0 11)} is VALID [2018-11-14 19:10:59,158 INFO L273 TraceCheckUtils]: 40: Hoare triple {4094#(<= main_~j~0 11)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {4094#(<= main_~j~0 11)} is VALID [2018-11-14 19:10:59,159 INFO L273 TraceCheckUtils]: 41: Hoare triple {4094#(<= main_~j~0 11)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {4095#(<= main_~j~0 12)} is VALID [2018-11-14 19:10:59,160 INFO L273 TraceCheckUtils]: 42: Hoare triple {4095#(<= main_~j~0 12)} assume true; {4095#(<= main_~j~0 12)} is VALID [2018-11-14 19:10:59,160 INFO L273 TraceCheckUtils]: 43: Hoare triple {4095#(<= main_~j~0 12)} assume !(~j~0 < 20); {4082#false} is VALID [2018-11-14 19:10:59,161 INFO L273 TraceCheckUtils]: 44: Hoare triple {4082#false} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~i~0 := #t~nondet4;havoc #t~nondet4; {4082#false} is VALID [2018-11-14 19:10:59,161 INFO L273 TraceCheckUtils]: 45: Hoare triple {4082#false} assume ~i~0 >= 0 && ~i~0 < 10;~ad2~0.base, ~ad2~0.offset := ~#ad1~0.base, ~#ad1~0.offset;call write~int(~i~0, ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + ~i~0 * 8 + 0, 4);~i~0 := #t~mem5 + 10;havoc #t~mem5; {4082#false} is VALID [2018-11-14 19:10:59,161 INFO L273 TraceCheckUtils]: 46: Hoare triple {4082#false} assume true; {4082#false} is VALID [2018-11-14 19:10:59,161 INFO L273 TraceCheckUtils]: 47: Hoare triple {4082#false} call #t~mem6 := read~int(~pa~0.base, ~pa~0.offset, 4); {4082#false} is VALID [2018-11-14 19:10:59,161 INFO L273 TraceCheckUtils]: 48: Hoare triple {4082#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {4082#false} is VALID [2018-11-14 19:10:59,162 INFO L256 TraceCheckUtils]: 49: Hoare triple {4082#false} call #t~ret8 := check(~#ad1~0.base, ~#ad1~0.offset, ~i~0); {4082#false} is VALID [2018-11-14 19:10:59,162 INFO L273 TraceCheckUtils]: 50: Hoare triple {4082#false} ~ad1.base, ~ad1.offset := #in~ad1.base, #in~ad1.offset;~b := #in~b;call #t~mem0 := read~int(~ad1.base, ~ad1.offset + ~b * 8 + 0, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {4082#false} is VALID [2018-11-14 19:10:59,162 INFO L273 TraceCheckUtils]: 51: Hoare triple {4082#false} assume true; {4082#false} is VALID [2018-11-14 19:10:59,162 INFO L268 TraceCheckUtils]: 52: Hoare quadruple {4082#false} {4082#false} #59#return; {4082#false} is VALID [2018-11-14 19:10:59,162 INFO L273 TraceCheckUtils]: 53: Hoare triple {4082#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {4082#false} is VALID [2018-11-14 19:10:59,163 INFO L273 TraceCheckUtils]: 54: Hoare triple {4082#false} assume #t~ret8 == 0;havoc #t~ret8; {4082#false} is VALID [2018-11-14 19:10:59,163 INFO L273 TraceCheckUtils]: 55: Hoare triple {4082#false} assume !false; {4082#false} is VALID [2018-11-14 19:10:59,165 INFO L134 CoverageAnalysis]: Checked inductivity of 222 backedges. 0 proven. 222 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 19:10:59,188 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 19:10:59,188 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 15] total 16 [2018-11-14 19:10:59,188 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 56 [2018-11-14 19:10:59,189 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 19:10:59,189 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states. [2018-11-14 19:10:59,250 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 19:10:59,250 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2018-11-14 19:10:59,250 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2018-11-14 19:10:59,251 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=120, Invalid=120, Unknown=0, NotChecked=0, Total=240 [2018-11-14 19:10:59,251 INFO L87 Difference]: Start difference. First operand 57 states and 58 transitions. Second operand 16 states. [2018-11-14 19:10:59,556 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:10:59,557 INFO L93 Difference]: Finished difference Result 74 states and 76 transitions. [2018-11-14 19:10:59,557 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2018-11-14 19:10:59,557 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 56 [2018-11-14 19:10:59,557 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 19:10:59,558 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-14 19:10:59,559 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 76 transitions. [2018-11-14 19:10:59,559 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-14 19:10:59,560 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 76 transitions. [2018-11-14 19:10:59,560 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 76 transitions. [2018-11-14 19:10:59,664 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 19:10:59,666 INFO L225 Difference]: With dead ends: 74 [2018-11-14 19:10:59,666 INFO L226 Difference]: Without dead ends: 61 [2018-11-14 19:10:59,667 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 70 GetRequests, 56 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=120, Invalid=120, Unknown=0, NotChecked=0, Total=240 [2018-11-14 19:10:59,667 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 61 states. [2018-11-14 19:10:59,687 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 61 to 60. [2018-11-14 19:10:59,687 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 19:10:59,687 INFO L82 GeneralOperation]: Start isEquivalent. First operand 61 states. Second operand 60 states. [2018-11-14 19:10:59,687 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand 60 states. [2018-11-14 19:10:59,687 INFO L87 Difference]: Start difference. First operand 61 states. Second operand 60 states. [2018-11-14 19:10:59,689 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:10:59,689 INFO L93 Difference]: Finished difference Result 61 states and 62 transitions. [2018-11-14 19:10:59,689 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 62 transitions. [2018-11-14 19:10:59,689 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 19:10:59,690 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 19:10:59,690 INFO L74 IsIncluded]: Start isIncluded. First operand 60 states. Second operand 61 states. [2018-11-14 19:10:59,690 INFO L87 Difference]: Start difference. First operand 60 states. Second operand 61 states. [2018-11-14 19:10:59,691 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:10:59,691 INFO L93 Difference]: Finished difference Result 61 states and 62 transitions. [2018-11-14 19:10:59,691 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 62 transitions. [2018-11-14 19:10:59,692 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 19:10:59,692 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 19:10:59,692 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 19:10:59,692 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 19:10:59,692 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 60 states. [2018-11-14 19:10:59,694 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 61 transitions. [2018-11-14 19:10:59,694 INFO L78 Accepts]: Start accepts. Automaton has 60 states and 61 transitions. Word has length 56 [2018-11-14 19:10:59,694 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 19:10:59,694 INFO L480 AbstractCegarLoop]: Abstraction has 60 states and 61 transitions. [2018-11-14 19:10:59,694 INFO L481 AbstractCegarLoop]: Interpolant automaton has 16 states. [2018-11-14 19:10:59,694 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 61 transitions. [2018-11-14 19:10:59,695 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2018-11-14 19:10:59,695 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 19:10:59,695 INFO L375 BasicCegarLoop]: trace histogram [14, 13, 13, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 19:10:59,695 INFO L423 AbstractCegarLoop]: === Iteration 15 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 19:10:59,696 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 19:10:59,696 INFO L82 PathProgramCache]: Analyzing trace with hash 1524913875, now seen corresponding path program 13 times [2018-11-14 19:10:59,696 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 19:10:59,696 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 19:10:59,697 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:10:59,697 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 19:10:59,697 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:10:59,713 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 19:11:00,262 INFO L256 TraceCheckUtils]: 0: Hoare triple {4568#true} call ULTIMATE.init(); {4568#true} is VALID [2018-11-14 19:11:00,262 INFO L273 TraceCheckUtils]: 1: Hoare triple {4568#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {4568#true} is VALID [2018-11-14 19:11:00,262 INFO L273 TraceCheckUtils]: 2: Hoare triple {4568#true} assume true; {4568#true} is VALID [2018-11-14 19:11:00,262 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4568#true} {4568#true} #55#return; {4568#true} is VALID [2018-11-14 19:11:00,262 INFO L256 TraceCheckUtils]: 4: Hoare triple {4568#true} call #t~ret9 := main(); {4568#true} is VALID [2018-11-14 19:11:00,263 INFO L273 TraceCheckUtils]: 5: Hoare triple {4568#true} call ~#ad1~0.base, ~#ad1~0.offset := #Ultimate.alloc(160);havoc ~ad2~0.base, ~ad2~0.offset;havoc ~i~0;havoc ~j~0;havoc ~pa~0.base, ~pa~0.offset;~j~0 := 0; {4570#(= main_~j~0 0)} is VALID [2018-11-14 19:11:00,263 INFO L273 TraceCheckUtils]: 6: Hoare triple {4570#(= main_~j~0 0)} assume true; {4570#(= main_~j~0 0)} is VALID [2018-11-14 19:11:00,263 INFO L273 TraceCheckUtils]: 7: Hoare triple {4570#(= main_~j~0 0)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {4570#(= main_~j~0 0)} is VALID [2018-11-14 19:11:00,264 INFO L273 TraceCheckUtils]: 8: Hoare triple {4570#(= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {4571#(<= main_~j~0 1)} is VALID [2018-11-14 19:11:00,264 INFO L273 TraceCheckUtils]: 9: Hoare triple {4571#(<= main_~j~0 1)} assume true; {4571#(<= main_~j~0 1)} is VALID [2018-11-14 19:11:00,265 INFO L273 TraceCheckUtils]: 10: Hoare triple {4571#(<= main_~j~0 1)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {4571#(<= main_~j~0 1)} is VALID [2018-11-14 19:11:00,266 INFO L273 TraceCheckUtils]: 11: Hoare triple {4571#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {4572#(<= main_~j~0 2)} is VALID [2018-11-14 19:11:00,266 INFO L273 TraceCheckUtils]: 12: Hoare triple {4572#(<= main_~j~0 2)} assume true; {4572#(<= main_~j~0 2)} is VALID [2018-11-14 19:11:00,267 INFO L273 TraceCheckUtils]: 13: Hoare triple {4572#(<= main_~j~0 2)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {4572#(<= main_~j~0 2)} is VALID [2018-11-14 19:11:00,268 INFO L273 TraceCheckUtils]: 14: Hoare triple {4572#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {4573#(<= main_~j~0 3)} is VALID [2018-11-14 19:11:00,268 INFO L273 TraceCheckUtils]: 15: Hoare triple {4573#(<= main_~j~0 3)} assume true; {4573#(<= main_~j~0 3)} is VALID [2018-11-14 19:11:00,269 INFO L273 TraceCheckUtils]: 16: Hoare triple {4573#(<= main_~j~0 3)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {4573#(<= main_~j~0 3)} is VALID [2018-11-14 19:11:00,269 INFO L273 TraceCheckUtils]: 17: Hoare triple {4573#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {4574#(<= main_~j~0 4)} is VALID [2018-11-14 19:11:00,270 INFO L273 TraceCheckUtils]: 18: Hoare triple {4574#(<= main_~j~0 4)} assume true; {4574#(<= main_~j~0 4)} is VALID [2018-11-14 19:11:00,271 INFO L273 TraceCheckUtils]: 19: Hoare triple {4574#(<= main_~j~0 4)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {4574#(<= main_~j~0 4)} is VALID [2018-11-14 19:11:00,271 INFO L273 TraceCheckUtils]: 20: Hoare triple {4574#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {4575#(<= main_~j~0 5)} is VALID [2018-11-14 19:11:00,272 INFO L273 TraceCheckUtils]: 21: Hoare triple {4575#(<= main_~j~0 5)} assume true; {4575#(<= main_~j~0 5)} is VALID [2018-11-14 19:11:00,272 INFO L273 TraceCheckUtils]: 22: Hoare triple {4575#(<= main_~j~0 5)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {4575#(<= main_~j~0 5)} is VALID [2018-11-14 19:11:00,273 INFO L273 TraceCheckUtils]: 23: Hoare triple {4575#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {4576#(<= main_~j~0 6)} is VALID [2018-11-14 19:11:00,274 INFO L273 TraceCheckUtils]: 24: Hoare triple {4576#(<= main_~j~0 6)} assume true; {4576#(<= main_~j~0 6)} is VALID [2018-11-14 19:11:00,274 INFO L273 TraceCheckUtils]: 25: Hoare triple {4576#(<= main_~j~0 6)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {4576#(<= main_~j~0 6)} is VALID [2018-11-14 19:11:00,275 INFO L273 TraceCheckUtils]: 26: Hoare triple {4576#(<= main_~j~0 6)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {4577#(<= main_~j~0 7)} is VALID [2018-11-14 19:11:00,275 INFO L273 TraceCheckUtils]: 27: Hoare triple {4577#(<= main_~j~0 7)} assume true; {4577#(<= main_~j~0 7)} is VALID [2018-11-14 19:11:00,276 INFO L273 TraceCheckUtils]: 28: Hoare triple {4577#(<= main_~j~0 7)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {4577#(<= main_~j~0 7)} is VALID [2018-11-14 19:11:00,277 INFO L273 TraceCheckUtils]: 29: Hoare triple {4577#(<= main_~j~0 7)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {4578#(<= main_~j~0 8)} is VALID [2018-11-14 19:11:00,277 INFO L273 TraceCheckUtils]: 30: Hoare triple {4578#(<= main_~j~0 8)} assume true; {4578#(<= main_~j~0 8)} is VALID [2018-11-14 19:11:00,278 INFO L273 TraceCheckUtils]: 31: Hoare triple {4578#(<= main_~j~0 8)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {4578#(<= main_~j~0 8)} is VALID [2018-11-14 19:11:00,279 INFO L273 TraceCheckUtils]: 32: Hoare triple {4578#(<= main_~j~0 8)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {4579#(<= main_~j~0 9)} is VALID [2018-11-14 19:11:00,279 INFO L273 TraceCheckUtils]: 33: Hoare triple {4579#(<= main_~j~0 9)} assume true; {4579#(<= main_~j~0 9)} is VALID [2018-11-14 19:11:00,280 INFO L273 TraceCheckUtils]: 34: Hoare triple {4579#(<= main_~j~0 9)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {4579#(<= main_~j~0 9)} is VALID [2018-11-14 19:11:00,280 INFO L273 TraceCheckUtils]: 35: Hoare triple {4579#(<= main_~j~0 9)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {4580#(<= main_~j~0 10)} is VALID [2018-11-14 19:11:00,281 INFO L273 TraceCheckUtils]: 36: Hoare triple {4580#(<= main_~j~0 10)} assume true; {4580#(<= main_~j~0 10)} is VALID [2018-11-14 19:11:00,281 INFO L273 TraceCheckUtils]: 37: Hoare triple {4580#(<= main_~j~0 10)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {4580#(<= main_~j~0 10)} is VALID [2018-11-14 19:11:00,282 INFO L273 TraceCheckUtils]: 38: Hoare triple {4580#(<= main_~j~0 10)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {4581#(<= main_~j~0 11)} is VALID [2018-11-14 19:11:00,283 INFO L273 TraceCheckUtils]: 39: Hoare triple {4581#(<= main_~j~0 11)} assume true; {4581#(<= main_~j~0 11)} is VALID [2018-11-14 19:11:00,283 INFO L273 TraceCheckUtils]: 40: Hoare triple {4581#(<= main_~j~0 11)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {4581#(<= main_~j~0 11)} is VALID [2018-11-14 19:11:00,284 INFO L273 TraceCheckUtils]: 41: Hoare triple {4581#(<= main_~j~0 11)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {4582#(<= main_~j~0 12)} is VALID [2018-11-14 19:11:00,285 INFO L273 TraceCheckUtils]: 42: Hoare triple {4582#(<= main_~j~0 12)} assume true; {4582#(<= main_~j~0 12)} is VALID [2018-11-14 19:11:00,285 INFO L273 TraceCheckUtils]: 43: Hoare triple {4582#(<= main_~j~0 12)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {4582#(<= main_~j~0 12)} is VALID [2018-11-14 19:11:00,286 INFO L273 TraceCheckUtils]: 44: Hoare triple {4582#(<= main_~j~0 12)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {4583#(<= main_~j~0 13)} is VALID [2018-11-14 19:11:00,286 INFO L273 TraceCheckUtils]: 45: Hoare triple {4583#(<= main_~j~0 13)} assume true; {4583#(<= main_~j~0 13)} is VALID [2018-11-14 19:11:00,287 INFO L273 TraceCheckUtils]: 46: Hoare triple {4583#(<= main_~j~0 13)} assume !(~j~0 < 20); {4569#false} is VALID [2018-11-14 19:11:00,287 INFO L273 TraceCheckUtils]: 47: Hoare triple {4569#false} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~i~0 := #t~nondet4;havoc #t~nondet4; {4569#false} is VALID [2018-11-14 19:11:00,288 INFO L273 TraceCheckUtils]: 48: Hoare triple {4569#false} assume ~i~0 >= 0 && ~i~0 < 10;~ad2~0.base, ~ad2~0.offset := ~#ad1~0.base, ~#ad1~0.offset;call write~int(~i~0, ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + ~i~0 * 8 + 0, 4);~i~0 := #t~mem5 + 10;havoc #t~mem5; {4569#false} is VALID [2018-11-14 19:11:00,288 INFO L273 TraceCheckUtils]: 49: Hoare triple {4569#false} assume true; {4569#false} is VALID [2018-11-14 19:11:00,288 INFO L273 TraceCheckUtils]: 50: Hoare triple {4569#false} call #t~mem6 := read~int(~pa~0.base, ~pa~0.offset, 4); {4569#false} is VALID [2018-11-14 19:11:00,288 INFO L273 TraceCheckUtils]: 51: Hoare triple {4569#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {4569#false} is VALID [2018-11-14 19:11:00,288 INFO L256 TraceCheckUtils]: 52: Hoare triple {4569#false} call #t~ret8 := check(~#ad1~0.base, ~#ad1~0.offset, ~i~0); {4568#true} is VALID [2018-11-14 19:11:00,289 INFO L273 TraceCheckUtils]: 53: Hoare triple {4568#true} ~ad1.base, ~ad1.offset := #in~ad1.base, #in~ad1.offset;~b := #in~b;call #t~mem0 := read~int(~ad1.base, ~ad1.offset + ~b * 8 + 0, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {4568#true} is VALID [2018-11-14 19:11:00,289 INFO L273 TraceCheckUtils]: 54: Hoare triple {4568#true} assume true; {4568#true} is VALID [2018-11-14 19:11:00,289 INFO L268 TraceCheckUtils]: 55: Hoare quadruple {4568#true} {4569#false} #59#return; {4569#false} is VALID [2018-11-14 19:11:00,289 INFO L273 TraceCheckUtils]: 56: Hoare triple {4569#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {4569#false} is VALID [2018-11-14 19:11:00,289 INFO L273 TraceCheckUtils]: 57: Hoare triple {4569#false} assume #t~ret8 == 0;havoc #t~ret8; {4569#false} is VALID [2018-11-14 19:11:00,290 INFO L273 TraceCheckUtils]: 58: Hoare triple {4569#false} assume !false; {4569#false} is VALID [2018-11-14 19:11:00,292 INFO L134 CoverageAnalysis]: Checked inductivity of 260 backedges. 0 proven. 260 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 19:11:00,292 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 19:11:00,292 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-14 19:11:00,301 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 19:11:00,340 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 19:11:00,355 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 19:11:00,357 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 19:11:00,525 INFO L256 TraceCheckUtils]: 0: Hoare triple {4568#true} call ULTIMATE.init(); {4568#true} is VALID [2018-11-14 19:11:00,525 INFO L273 TraceCheckUtils]: 1: Hoare triple {4568#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {4568#true} is VALID [2018-11-14 19:11:00,526 INFO L273 TraceCheckUtils]: 2: Hoare triple {4568#true} assume true; {4568#true} is VALID [2018-11-14 19:11:00,526 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4568#true} {4568#true} #55#return; {4568#true} is VALID [2018-11-14 19:11:00,526 INFO L256 TraceCheckUtils]: 4: Hoare triple {4568#true} call #t~ret9 := main(); {4568#true} is VALID [2018-11-14 19:11:00,527 INFO L273 TraceCheckUtils]: 5: Hoare triple {4568#true} call ~#ad1~0.base, ~#ad1~0.offset := #Ultimate.alloc(160);havoc ~ad2~0.base, ~ad2~0.offset;havoc ~i~0;havoc ~j~0;havoc ~pa~0.base, ~pa~0.offset;~j~0 := 0; {4602#(<= main_~j~0 0)} is VALID [2018-11-14 19:11:00,527 INFO L273 TraceCheckUtils]: 6: Hoare triple {4602#(<= main_~j~0 0)} assume true; {4602#(<= main_~j~0 0)} is VALID [2018-11-14 19:11:00,528 INFO L273 TraceCheckUtils]: 7: Hoare triple {4602#(<= main_~j~0 0)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {4602#(<= main_~j~0 0)} is VALID [2018-11-14 19:11:00,528 INFO L273 TraceCheckUtils]: 8: Hoare triple {4602#(<= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {4571#(<= main_~j~0 1)} is VALID [2018-11-14 19:11:00,529 INFO L273 TraceCheckUtils]: 9: Hoare triple {4571#(<= main_~j~0 1)} assume true; {4571#(<= main_~j~0 1)} is VALID [2018-11-14 19:11:00,529 INFO L273 TraceCheckUtils]: 10: Hoare triple {4571#(<= main_~j~0 1)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {4571#(<= main_~j~0 1)} is VALID [2018-11-14 19:11:00,530 INFO L273 TraceCheckUtils]: 11: Hoare triple {4571#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {4572#(<= main_~j~0 2)} is VALID [2018-11-14 19:11:00,531 INFO L273 TraceCheckUtils]: 12: Hoare triple {4572#(<= main_~j~0 2)} assume true; {4572#(<= main_~j~0 2)} is VALID [2018-11-14 19:11:00,531 INFO L273 TraceCheckUtils]: 13: Hoare triple {4572#(<= main_~j~0 2)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {4572#(<= main_~j~0 2)} is VALID [2018-11-14 19:11:00,532 INFO L273 TraceCheckUtils]: 14: Hoare triple {4572#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {4573#(<= main_~j~0 3)} is VALID [2018-11-14 19:11:00,533 INFO L273 TraceCheckUtils]: 15: Hoare triple {4573#(<= main_~j~0 3)} assume true; {4573#(<= main_~j~0 3)} is VALID [2018-11-14 19:11:00,533 INFO L273 TraceCheckUtils]: 16: Hoare triple {4573#(<= main_~j~0 3)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {4573#(<= main_~j~0 3)} is VALID [2018-11-14 19:11:00,534 INFO L273 TraceCheckUtils]: 17: Hoare triple {4573#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {4574#(<= main_~j~0 4)} is VALID [2018-11-14 19:11:00,534 INFO L273 TraceCheckUtils]: 18: Hoare triple {4574#(<= main_~j~0 4)} assume true; {4574#(<= main_~j~0 4)} is VALID [2018-11-14 19:11:00,535 INFO L273 TraceCheckUtils]: 19: Hoare triple {4574#(<= main_~j~0 4)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {4574#(<= main_~j~0 4)} is VALID [2018-11-14 19:11:00,536 INFO L273 TraceCheckUtils]: 20: Hoare triple {4574#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {4575#(<= main_~j~0 5)} is VALID [2018-11-14 19:11:00,536 INFO L273 TraceCheckUtils]: 21: Hoare triple {4575#(<= main_~j~0 5)} assume true; {4575#(<= main_~j~0 5)} is VALID [2018-11-14 19:11:00,537 INFO L273 TraceCheckUtils]: 22: Hoare triple {4575#(<= main_~j~0 5)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {4575#(<= main_~j~0 5)} is VALID [2018-11-14 19:11:00,537 INFO L273 TraceCheckUtils]: 23: Hoare triple {4575#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {4576#(<= main_~j~0 6)} is VALID [2018-11-14 19:11:00,538 INFO L273 TraceCheckUtils]: 24: Hoare triple {4576#(<= main_~j~0 6)} assume true; {4576#(<= main_~j~0 6)} is VALID [2018-11-14 19:11:00,539 INFO L273 TraceCheckUtils]: 25: Hoare triple {4576#(<= main_~j~0 6)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {4576#(<= main_~j~0 6)} is VALID [2018-11-14 19:11:00,539 INFO L273 TraceCheckUtils]: 26: Hoare triple {4576#(<= main_~j~0 6)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {4577#(<= main_~j~0 7)} is VALID [2018-11-14 19:11:00,540 INFO L273 TraceCheckUtils]: 27: Hoare triple {4577#(<= main_~j~0 7)} assume true; {4577#(<= main_~j~0 7)} is VALID [2018-11-14 19:11:00,540 INFO L273 TraceCheckUtils]: 28: Hoare triple {4577#(<= main_~j~0 7)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {4577#(<= main_~j~0 7)} is VALID [2018-11-14 19:11:00,541 INFO L273 TraceCheckUtils]: 29: Hoare triple {4577#(<= main_~j~0 7)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {4578#(<= main_~j~0 8)} is VALID [2018-11-14 19:11:00,542 INFO L273 TraceCheckUtils]: 30: Hoare triple {4578#(<= main_~j~0 8)} assume true; {4578#(<= main_~j~0 8)} is VALID [2018-11-14 19:11:00,542 INFO L273 TraceCheckUtils]: 31: Hoare triple {4578#(<= main_~j~0 8)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {4578#(<= main_~j~0 8)} is VALID [2018-11-14 19:11:00,543 INFO L273 TraceCheckUtils]: 32: Hoare triple {4578#(<= main_~j~0 8)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {4579#(<= main_~j~0 9)} is VALID [2018-11-14 19:11:00,543 INFO L273 TraceCheckUtils]: 33: Hoare triple {4579#(<= main_~j~0 9)} assume true; {4579#(<= main_~j~0 9)} is VALID [2018-11-14 19:11:00,544 INFO L273 TraceCheckUtils]: 34: Hoare triple {4579#(<= main_~j~0 9)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {4579#(<= main_~j~0 9)} is VALID [2018-11-14 19:11:00,545 INFO L273 TraceCheckUtils]: 35: Hoare triple {4579#(<= main_~j~0 9)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {4580#(<= main_~j~0 10)} is VALID [2018-11-14 19:11:00,545 INFO L273 TraceCheckUtils]: 36: Hoare triple {4580#(<= main_~j~0 10)} assume true; {4580#(<= main_~j~0 10)} is VALID [2018-11-14 19:11:00,546 INFO L273 TraceCheckUtils]: 37: Hoare triple {4580#(<= main_~j~0 10)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {4580#(<= main_~j~0 10)} is VALID [2018-11-14 19:11:00,547 INFO L273 TraceCheckUtils]: 38: Hoare triple {4580#(<= main_~j~0 10)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {4581#(<= main_~j~0 11)} is VALID [2018-11-14 19:11:00,547 INFO L273 TraceCheckUtils]: 39: Hoare triple {4581#(<= main_~j~0 11)} assume true; {4581#(<= main_~j~0 11)} is VALID [2018-11-14 19:11:00,548 INFO L273 TraceCheckUtils]: 40: Hoare triple {4581#(<= main_~j~0 11)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {4581#(<= main_~j~0 11)} is VALID [2018-11-14 19:11:00,548 INFO L273 TraceCheckUtils]: 41: Hoare triple {4581#(<= main_~j~0 11)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {4582#(<= main_~j~0 12)} is VALID [2018-11-14 19:11:00,549 INFO L273 TraceCheckUtils]: 42: Hoare triple {4582#(<= main_~j~0 12)} assume true; {4582#(<= main_~j~0 12)} is VALID [2018-11-14 19:11:00,549 INFO L273 TraceCheckUtils]: 43: Hoare triple {4582#(<= main_~j~0 12)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {4582#(<= main_~j~0 12)} is VALID [2018-11-14 19:11:00,550 INFO L273 TraceCheckUtils]: 44: Hoare triple {4582#(<= main_~j~0 12)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {4583#(<= main_~j~0 13)} is VALID [2018-11-14 19:11:00,551 INFO L273 TraceCheckUtils]: 45: Hoare triple {4583#(<= main_~j~0 13)} assume true; {4583#(<= main_~j~0 13)} is VALID [2018-11-14 19:11:00,551 INFO L273 TraceCheckUtils]: 46: Hoare triple {4583#(<= main_~j~0 13)} assume !(~j~0 < 20); {4569#false} is VALID [2018-11-14 19:11:00,552 INFO L273 TraceCheckUtils]: 47: Hoare triple {4569#false} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~i~0 := #t~nondet4;havoc #t~nondet4; {4569#false} is VALID [2018-11-14 19:11:00,552 INFO L273 TraceCheckUtils]: 48: Hoare triple {4569#false} assume ~i~0 >= 0 && ~i~0 < 10;~ad2~0.base, ~ad2~0.offset := ~#ad1~0.base, ~#ad1~0.offset;call write~int(~i~0, ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + ~i~0 * 8 + 0, 4);~i~0 := #t~mem5 + 10;havoc #t~mem5; {4569#false} is VALID [2018-11-14 19:11:00,552 INFO L273 TraceCheckUtils]: 49: Hoare triple {4569#false} assume true; {4569#false} is VALID [2018-11-14 19:11:00,552 INFO L273 TraceCheckUtils]: 50: Hoare triple {4569#false} call #t~mem6 := read~int(~pa~0.base, ~pa~0.offset, 4); {4569#false} is VALID [2018-11-14 19:11:00,553 INFO L273 TraceCheckUtils]: 51: Hoare triple {4569#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {4569#false} is VALID [2018-11-14 19:11:00,553 INFO L256 TraceCheckUtils]: 52: Hoare triple {4569#false} call #t~ret8 := check(~#ad1~0.base, ~#ad1~0.offset, ~i~0); {4569#false} is VALID [2018-11-14 19:11:00,553 INFO L273 TraceCheckUtils]: 53: Hoare triple {4569#false} ~ad1.base, ~ad1.offset := #in~ad1.base, #in~ad1.offset;~b := #in~b;call #t~mem0 := read~int(~ad1.base, ~ad1.offset + ~b * 8 + 0, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {4569#false} is VALID [2018-11-14 19:11:00,553 INFO L273 TraceCheckUtils]: 54: Hoare triple {4569#false} assume true; {4569#false} is VALID [2018-11-14 19:11:00,553 INFO L268 TraceCheckUtils]: 55: Hoare quadruple {4569#false} {4569#false} #59#return; {4569#false} is VALID [2018-11-14 19:11:00,554 INFO L273 TraceCheckUtils]: 56: Hoare triple {4569#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {4569#false} is VALID [2018-11-14 19:11:00,554 INFO L273 TraceCheckUtils]: 57: Hoare triple {4569#false} assume #t~ret8 == 0;havoc #t~ret8; {4569#false} is VALID [2018-11-14 19:11:00,554 INFO L273 TraceCheckUtils]: 58: Hoare triple {4569#false} assume !false; {4569#false} is VALID [2018-11-14 19:11:00,557 INFO L134 CoverageAnalysis]: Checked inductivity of 260 backedges. 0 proven. 260 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 19:11:00,577 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 19:11:00,577 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 16] total 17 [2018-11-14 19:11:00,577 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 59 [2018-11-14 19:11:00,578 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 19:11:00,578 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states. [2018-11-14 19:11:00,687 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 19:11:00,687 INFO L459 AbstractCegarLoop]: Interpolant automaton has 17 states [2018-11-14 19:11:00,687 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2018-11-14 19:11:00,688 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=136, Invalid=136, Unknown=0, NotChecked=0, Total=272 [2018-11-14 19:11:00,688 INFO L87 Difference]: Start difference. First operand 60 states and 61 transitions. Second operand 17 states. [2018-11-14 19:11:00,973 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:11:00,973 INFO L93 Difference]: Finished difference Result 77 states and 79 transitions. [2018-11-14 19:11:00,974 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2018-11-14 19:11:00,974 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 59 [2018-11-14 19:11:00,974 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 19:11:00,974 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-11-14 19:11:00,976 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 79 transitions. [2018-11-14 19:11:00,976 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-11-14 19:11:00,977 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 79 transitions. [2018-11-14 19:11:00,977 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 79 transitions. [2018-11-14 19:11:01,920 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 19:11:01,922 INFO L225 Difference]: With dead ends: 77 [2018-11-14 19:11:01,922 INFO L226 Difference]: Without dead ends: 64 [2018-11-14 19:11:01,923 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 74 GetRequests, 59 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=136, Invalid=136, Unknown=0, NotChecked=0, Total=272 [2018-11-14 19:11:01,923 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2018-11-14 19:11:01,944 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 63. [2018-11-14 19:11:01,944 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 19:11:01,944 INFO L82 GeneralOperation]: Start isEquivalent. First operand 64 states. Second operand 63 states. [2018-11-14 19:11:01,944 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand 63 states. [2018-11-14 19:11:01,944 INFO L87 Difference]: Start difference. First operand 64 states. Second operand 63 states. [2018-11-14 19:11:01,945 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:11:01,945 INFO L93 Difference]: Finished difference Result 64 states and 65 transitions. [2018-11-14 19:11:01,946 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 65 transitions. [2018-11-14 19:11:01,946 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 19:11:01,946 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 19:11:01,946 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand 64 states. [2018-11-14 19:11:01,946 INFO L87 Difference]: Start difference. First operand 63 states. Second operand 64 states. [2018-11-14 19:11:01,947 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:11:01,947 INFO L93 Difference]: Finished difference Result 64 states and 65 transitions. [2018-11-14 19:11:01,947 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 65 transitions. [2018-11-14 19:11:01,947 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 19:11:01,948 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 19:11:01,948 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 19:11:01,948 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 19:11:01,948 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 63 states. [2018-11-14 19:11:01,949 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 63 states to 63 states and 64 transitions. [2018-11-14 19:11:01,949 INFO L78 Accepts]: Start accepts. Automaton has 63 states and 64 transitions. Word has length 59 [2018-11-14 19:11:01,950 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 19:11:01,950 INFO L480 AbstractCegarLoop]: Abstraction has 63 states and 64 transitions. [2018-11-14 19:11:01,950 INFO L481 AbstractCegarLoop]: Interpolant automaton has 17 states. [2018-11-14 19:11:01,950 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 64 transitions. [2018-11-14 19:11:01,951 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2018-11-14 19:11:01,951 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 19:11:01,951 INFO L375 BasicCegarLoop]: trace histogram [15, 14, 14, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 19:11:01,951 INFO L423 AbstractCegarLoop]: === Iteration 16 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 19:11:01,951 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 19:11:01,951 INFO L82 PathProgramCache]: Analyzing trace with hash 773322308, now seen corresponding path program 14 times [2018-11-14 19:11:01,952 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 19:11:01,952 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 19:11:01,952 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:11:01,953 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 19:11:01,953 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:11:01,967 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 19:11:02,630 INFO L256 TraceCheckUtils]: 0: Hoare triple {5079#true} call ULTIMATE.init(); {5079#true} is VALID [2018-11-14 19:11:02,630 INFO L273 TraceCheckUtils]: 1: Hoare triple {5079#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {5079#true} is VALID [2018-11-14 19:11:02,630 INFO L273 TraceCheckUtils]: 2: Hoare triple {5079#true} assume true; {5079#true} is VALID [2018-11-14 19:11:02,631 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5079#true} {5079#true} #55#return; {5079#true} is VALID [2018-11-14 19:11:02,631 INFO L256 TraceCheckUtils]: 4: Hoare triple {5079#true} call #t~ret9 := main(); {5079#true} is VALID [2018-11-14 19:11:02,631 INFO L273 TraceCheckUtils]: 5: Hoare triple {5079#true} call ~#ad1~0.base, ~#ad1~0.offset := #Ultimate.alloc(160);havoc ~ad2~0.base, ~ad2~0.offset;havoc ~i~0;havoc ~j~0;havoc ~pa~0.base, ~pa~0.offset;~j~0 := 0; {5081#(= main_~j~0 0)} is VALID [2018-11-14 19:11:02,632 INFO L273 TraceCheckUtils]: 6: Hoare triple {5081#(= main_~j~0 0)} assume true; {5081#(= main_~j~0 0)} is VALID [2018-11-14 19:11:02,632 INFO L273 TraceCheckUtils]: 7: Hoare triple {5081#(= main_~j~0 0)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5081#(= main_~j~0 0)} is VALID [2018-11-14 19:11:02,634 INFO L273 TraceCheckUtils]: 8: Hoare triple {5081#(= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5082#(<= main_~j~0 1)} is VALID [2018-11-14 19:11:02,634 INFO L273 TraceCheckUtils]: 9: Hoare triple {5082#(<= main_~j~0 1)} assume true; {5082#(<= main_~j~0 1)} is VALID [2018-11-14 19:11:02,636 INFO L273 TraceCheckUtils]: 10: Hoare triple {5082#(<= main_~j~0 1)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5082#(<= main_~j~0 1)} is VALID [2018-11-14 19:11:02,636 INFO L273 TraceCheckUtils]: 11: Hoare triple {5082#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5083#(<= main_~j~0 2)} is VALID [2018-11-14 19:11:02,638 INFO L273 TraceCheckUtils]: 12: Hoare triple {5083#(<= main_~j~0 2)} assume true; {5083#(<= main_~j~0 2)} is VALID [2018-11-14 19:11:02,638 INFO L273 TraceCheckUtils]: 13: Hoare triple {5083#(<= main_~j~0 2)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5083#(<= main_~j~0 2)} is VALID [2018-11-14 19:11:02,641 INFO L273 TraceCheckUtils]: 14: Hoare triple {5083#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5084#(<= main_~j~0 3)} is VALID [2018-11-14 19:11:02,641 INFO L273 TraceCheckUtils]: 15: Hoare triple {5084#(<= main_~j~0 3)} assume true; {5084#(<= main_~j~0 3)} is VALID [2018-11-14 19:11:02,644 INFO L273 TraceCheckUtils]: 16: Hoare triple {5084#(<= main_~j~0 3)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5084#(<= main_~j~0 3)} is VALID [2018-11-14 19:11:02,644 INFO L273 TraceCheckUtils]: 17: Hoare triple {5084#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5085#(<= main_~j~0 4)} is VALID [2018-11-14 19:11:02,646 INFO L273 TraceCheckUtils]: 18: Hoare triple {5085#(<= main_~j~0 4)} assume true; {5085#(<= main_~j~0 4)} is VALID [2018-11-14 19:11:02,646 INFO L273 TraceCheckUtils]: 19: Hoare triple {5085#(<= main_~j~0 4)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5085#(<= main_~j~0 4)} is VALID [2018-11-14 19:11:02,648 INFO L273 TraceCheckUtils]: 20: Hoare triple {5085#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5086#(<= main_~j~0 5)} is VALID [2018-11-14 19:11:02,648 INFO L273 TraceCheckUtils]: 21: Hoare triple {5086#(<= main_~j~0 5)} assume true; {5086#(<= main_~j~0 5)} is VALID [2018-11-14 19:11:02,650 INFO L273 TraceCheckUtils]: 22: Hoare triple {5086#(<= main_~j~0 5)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5086#(<= main_~j~0 5)} is VALID [2018-11-14 19:11:02,650 INFO L273 TraceCheckUtils]: 23: Hoare triple {5086#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5087#(<= main_~j~0 6)} is VALID [2018-11-14 19:11:02,653 INFO L273 TraceCheckUtils]: 24: Hoare triple {5087#(<= main_~j~0 6)} assume true; {5087#(<= main_~j~0 6)} is VALID [2018-11-14 19:11:02,653 INFO L273 TraceCheckUtils]: 25: Hoare triple {5087#(<= main_~j~0 6)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5087#(<= main_~j~0 6)} is VALID [2018-11-14 19:11:02,655 INFO L273 TraceCheckUtils]: 26: Hoare triple {5087#(<= main_~j~0 6)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5088#(<= main_~j~0 7)} is VALID [2018-11-14 19:11:02,655 INFO L273 TraceCheckUtils]: 27: Hoare triple {5088#(<= main_~j~0 7)} assume true; {5088#(<= main_~j~0 7)} is VALID [2018-11-14 19:11:02,657 INFO L273 TraceCheckUtils]: 28: Hoare triple {5088#(<= main_~j~0 7)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5088#(<= main_~j~0 7)} is VALID [2018-11-14 19:11:02,657 INFO L273 TraceCheckUtils]: 29: Hoare triple {5088#(<= main_~j~0 7)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5089#(<= main_~j~0 8)} is VALID [2018-11-14 19:11:02,657 INFO L273 TraceCheckUtils]: 30: Hoare triple {5089#(<= main_~j~0 8)} assume true; {5089#(<= main_~j~0 8)} is VALID [2018-11-14 19:11:02,658 INFO L273 TraceCheckUtils]: 31: Hoare triple {5089#(<= main_~j~0 8)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5089#(<= main_~j~0 8)} is VALID [2018-11-14 19:11:02,658 INFO L273 TraceCheckUtils]: 32: Hoare triple {5089#(<= main_~j~0 8)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5090#(<= main_~j~0 9)} is VALID [2018-11-14 19:11:02,658 INFO L273 TraceCheckUtils]: 33: Hoare triple {5090#(<= main_~j~0 9)} assume true; {5090#(<= main_~j~0 9)} is VALID [2018-11-14 19:11:02,659 INFO L273 TraceCheckUtils]: 34: Hoare triple {5090#(<= main_~j~0 9)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5090#(<= main_~j~0 9)} is VALID [2018-11-14 19:11:02,659 INFO L273 TraceCheckUtils]: 35: Hoare triple {5090#(<= main_~j~0 9)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5091#(<= main_~j~0 10)} is VALID [2018-11-14 19:11:02,660 INFO L273 TraceCheckUtils]: 36: Hoare triple {5091#(<= main_~j~0 10)} assume true; {5091#(<= main_~j~0 10)} is VALID [2018-11-14 19:11:02,660 INFO L273 TraceCheckUtils]: 37: Hoare triple {5091#(<= main_~j~0 10)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5091#(<= main_~j~0 10)} is VALID [2018-11-14 19:11:02,660 INFO L273 TraceCheckUtils]: 38: Hoare triple {5091#(<= main_~j~0 10)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5092#(<= main_~j~0 11)} is VALID [2018-11-14 19:11:02,661 INFO L273 TraceCheckUtils]: 39: Hoare triple {5092#(<= main_~j~0 11)} assume true; {5092#(<= main_~j~0 11)} is VALID [2018-11-14 19:11:02,661 INFO L273 TraceCheckUtils]: 40: Hoare triple {5092#(<= main_~j~0 11)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5092#(<= main_~j~0 11)} is VALID [2018-11-14 19:11:02,662 INFO L273 TraceCheckUtils]: 41: Hoare triple {5092#(<= main_~j~0 11)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5093#(<= main_~j~0 12)} is VALID [2018-11-14 19:11:02,663 INFO L273 TraceCheckUtils]: 42: Hoare triple {5093#(<= main_~j~0 12)} assume true; {5093#(<= main_~j~0 12)} is VALID [2018-11-14 19:11:02,663 INFO L273 TraceCheckUtils]: 43: Hoare triple {5093#(<= main_~j~0 12)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5093#(<= main_~j~0 12)} is VALID [2018-11-14 19:11:02,664 INFO L273 TraceCheckUtils]: 44: Hoare triple {5093#(<= main_~j~0 12)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5094#(<= main_~j~0 13)} is VALID [2018-11-14 19:11:02,664 INFO L273 TraceCheckUtils]: 45: Hoare triple {5094#(<= main_~j~0 13)} assume true; {5094#(<= main_~j~0 13)} is VALID [2018-11-14 19:11:02,665 INFO L273 TraceCheckUtils]: 46: Hoare triple {5094#(<= main_~j~0 13)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5094#(<= main_~j~0 13)} is VALID [2018-11-14 19:11:02,665 INFO L273 TraceCheckUtils]: 47: Hoare triple {5094#(<= main_~j~0 13)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5095#(<= main_~j~0 14)} is VALID [2018-11-14 19:11:02,666 INFO L273 TraceCheckUtils]: 48: Hoare triple {5095#(<= main_~j~0 14)} assume true; {5095#(<= main_~j~0 14)} is VALID [2018-11-14 19:11:02,667 INFO L273 TraceCheckUtils]: 49: Hoare triple {5095#(<= main_~j~0 14)} assume !(~j~0 < 20); {5080#false} is VALID [2018-11-14 19:11:02,667 INFO L273 TraceCheckUtils]: 50: Hoare triple {5080#false} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~i~0 := #t~nondet4;havoc #t~nondet4; {5080#false} is VALID [2018-11-14 19:11:02,667 INFO L273 TraceCheckUtils]: 51: Hoare triple {5080#false} assume ~i~0 >= 0 && ~i~0 < 10;~ad2~0.base, ~ad2~0.offset := ~#ad1~0.base, ~#ad1~0.offset;call write~int(~i~0, ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + ~i~0 * 8 + 0, 4);~i~0 := #t~mem5 + 10;havoc #t~mem5; {5080#false} is VALID [2018-11-14 19:11:02,667 INFO L273 TraceCheckUtils]: 52: Hoare triple {5080#false} assume true; {5080#false} is VALID [2018-11-14 19:11:02,667 INFO L273 TraceCheckUtils]: 53: Hoare triple {5080#false} call #t~mem6 := read~int(~pa~0.base, ~pa~0.offset, 4); {5080#false} is VALID [2018-11-14 19:11:02,668 INFO L273 TraceCheckUtils]: 54: Hoare triple {5080#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {5080#false} is VALID [2018-11-14 19:11:02,668 INFO L256 TraceCheckUtils]: 55: Hoare triple {5080#false} call #t~ret8 := check(~#ad1~0.base, ~#ad1~0.offset, ~i~0); {5079#true} is VALID [2018-11-14 19:11:02,668 INFO L273 TraceCheckUtils]: 56: Hoare triple {5079#true} ~ad1.base, ~ad1.offset := #in~ad1.base, #in~ad1.offset;~b := #in~b;call #t~mem0 := read~int(~ad1.base, ~ad1.offset + ~b * 8 + 0, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {5079#true} is VALID [2018-11-14 19:11:02,668 INFO L273 TraceCheckUtils]: 57: Hoare triple {5079#true} assume true; {5079#true} is VALID [2018-11-14 19:11:02,668 INFO L268 TraceCheckUtils]: 58: Hoare quadruple {5079#true} {5080#false} #59#return; {5080#false} is VALID [2018-11-14 19:11:02,668 INFO L273 TraceCheckUtils]: 59: Hoare triple {5080#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {5080#false} is VALID [2018-11-14 19:11:02,669 INFO L273 TraceCheckUtils]: 60: Hoare triple {5080#false} assume #t~ret8 == 0;havoc #t~ret8; {5080#false} is VALID [2018-11-14 19:11:02,669 INFO L273 TraceCheckUtils]: 61: Hoare triple {5080#false} assume !false; {5080#false} is VALID [2018-11-14 19:11:02,671 INFO L134 CoverageAnalysis]: Checked inductivity of 301 backedges. 0 proven. 301 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 19:11:02,671 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 19:11:02,671 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 15 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 15 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-14 19:11:02,680 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-14 19:11:02,713 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-14 19:11:02,713 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 19:11:02,726 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 19:11:02,728 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 19:11:02,853 INFO L256 TraceCheckUtils]: 0: Hoare triple {5079#true} call ULTIMATE.init(); {5079#true} is VALID [2018-11-14 19:11:02,854 INFO L273 TraceCheckUtils]: 1: Hoare triple {5079#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {5079#true} is VALID [2018-11-14 19:11:02,854 INFO L273 TraceCheckUtils]: 2: Hoare triple {5079#true} assume true; {5079#true} is VALID [2018-11-14 19:11:02,854 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5079#true} {5079#true} #55#return; {5079#true} is VALID [2018-11-14 19:11:02,854 INFO L256 TraceCheckUtils]: 4: Hoare triple {5079#true} call #t~ret9 := main(); {5079#true} is VALID [2018-11-14 19:11:02,855 INFO L273 TraceCheckUtils]: 5: Hoare triple {5079#true} call ~#ad1~0.base, ~#ad1~0.offset := #Ultimate.alloc(160);havoc ~ad2~0.base, ~ad2~0.offset;havoc ~i~0;havoc ~j~0;havoc ~pa~0.base, ~pa~0.offset;~j~0 := 0; {5114#(<= main_~j~0 0)} is VALID [2018-11-14 19:11:02,855 INFO L273 TraceCheckUtils]: 6: Hoare triple {5114#(<= main_~j~0 0)} assume true; {5114#(<= main_~j~0 0)} is VALID [2018-11-14 19:11:02,856 INFO L273 TraceCheckUtils]: 7: Hoare triple {5114#(<= main_~j~0 0)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5114#(<= main_~j~0 0)} is VALID [2018-11-14 19:11:02,856 INFO L273 TraceCheckUtils]: 8: Hoare triple {5114#(<= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5082#(<= main_~j~0 1)} is VALID [2018-11-14 19:11:02,856 INFO L273 TraceCheckUtils]: 9: Hoare triple {5082#(<= main_~j~0 1)} assume true; {5082#(<= main_~j~0 1)} is VALID [2018-11-14 19:11:02,857 INFO L273 TraceCheckUtils]: 10: Hoare triple {5082#(<= main_~j~0 1)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5082#(<= main_~j~0 1)} is VALID [2018-11-14 19:11:02,857 INFO L273 TraceCheckUtils]: 11: Hoare triple {5082#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5083#(<= main_~j~0 2)} is VALID [2018-11-14 19:11:02,857 INFO L273 TraceCheckUtils]: 12: Hoare triple {5083#(<= main_~j~0 2)} assume true; {5083#(<= main_~j~0 2)} is VALID [2018-11-14 19:11:02,858 INFO L273 TraceCheckUtils]: 13: Hoare triple {5083#(<= main_~j~0 2)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5083#(<= main_~j~0 2)} is VALID [2018-11-14 19:11:02,858 INFO L273 TraceCheckUtils]: 14: Hoare triple {5083#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5084#(<= main_~j~0 3)} is VALID [2018-11-14 19:11:02,859 INFO L273 TraceCheckUtils]: 15: Hoare triple {5084#(<= main_~j~0 3)} assume true; {5084#(<= main_~j~0 3)} is VALID [2018-11-14 19:11:02,859 INFO L273 TraceCheckUtils]: 16: Hoare triple {5084#(<= main_~j~0 3)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5084#(<= main_~j~0 3)} is VALID [2018-11-14 19:11:02,860 INFO L273 TraceCheckUtils]: 17: Hoare triple {5084#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5085#(<= main_~j~0 4)} is VALID [2018-11-14 19:11:02,860 INFO L273 TraceCheckUtils]: 18: Hoare triple {5085#(<= main_~j~0 4)} assume true; {5085#(<= main_~j~0 4)} is VALID [2018-11-14 19:11:02,861 INFO L273 TraceCheckUtils]: 19: Hoare triple {5085#(<= main_~j~0 4)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5085#(<= main_~j~0 4)} is VALID [2018-11-14 19:11:02,861 INFO L273 TraceCheckUtils]: 20: Hoare triple {5085#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5086#(<= main_~j~0 5)} is VALID [2018-11-14 19:11:02,862 INFO L273 TraceCheckUtils]: 21: Hoare triple {5086#(<= main_~j~0 5)} assume true; {5086#(<= main_~j~0 5)} is VALID [2018-11-14 19:11:02,862 INFO L273 TraceCheckUtils]: 22: Hoare triple {5086#(<= main_~j~0 5)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5086#(<= main_~j~0 5)} is VALID [2018-11-14 19:11:02,863 INFO L273 TraceCheckUtils]: 23: Hoare triple {5086#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5087#(<= main_~j~0 6)} is VALID [2018-11-14 19:11:02,864 INFO L273 TraceCheckUtils]: 24: Hoare triple {5087#(<= main_~j~0 6)} assume true; {5087#(<= main_~j~0 6)} is VALID [2018-11-14 19:11:02,864 INFO L273 TraceCheckUtils]: 25: Hoare triple {5087#(<= main_~j~0 6)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5087#(<= main_~j~0 6)} is VALID [2018-11-14 19:11:02,865 INFO L273 TraceCheckUtils]: 26: Hoare triple {5087#(<= main_~j~0 6)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5088#(<= main_~j~0 7)} is VALID [2018-11-14 19:11:02,865 INFO L273 TraceCheckUtils]: 27: Hoare triple {5088#(<= main_~j~0 7)} assume true; {5088#(<= main_~j~0 7)} is VALID [2018-11-14 19:11:02,866 INFO L273 TraceCheckUtils]: 28: Hoare triple {5088#(<= main_~j~0 7)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5088#(<= main_~j~0 7)} is VALID [2018-11-14 19:11:02,867 INFO L273 TraceCheckUtils]: 29: Hoare triple {5088#(<= main_~j~0 7)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5089#(<= main_~j~0 8)} is VALID [2018-11-14 19:11:02,867 INFO L273 TraceCheckUtils]: 30: Hoare triple {5089#(<= main_~j~0 8)} assume true; {5089#(<= main_~j~0 8)} is VALID [2018-11-14 19:11:02,868 INFO L273 TraceCheckUtils]: 31: Hoare triple {5089#(<= main_~j~0 8)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5089#(<= main_~j~0 8)} is VALID [2018-11-14 19:11:02,868 INFO L273 TraceCheckUtils]: 32: Hoare triple {5089#(<= main_~j~0 8)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5090#(<= main_~j~0 9)} is VALID [2018-11-14 19:11:02,869 INFO L273 TraceCheckUtils]: 33: Hoare triple {5090#(<= main_~j~0 9)} assume true; {5090#(<= main_~j~0 9)} is VALID [2018-11-14 19:11:02,869 INFO L273 TraceCheckUtils]: 34: Hoare triple {5090#(<= main_~j~0 9)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5090#(<= main_~j~0 9)} is VALID [2018-11-14 19:11:02,870 INFO L273 TraceCheckUtils]: 35: Hoare triple {5090#(<= main_~j~0 9)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5091#(<= main_~j~0 10)} is VALID [2018-11-14 19:11:02,870 INFO L273 TraceCheckUtils]: 36: Hoare triple {5091#(<= main_~j~0 10)} assume true; {5091#(<= main_~j~0 10)} is VALID [2018-11-14 19:11:02,871 INFO L273 TraceCheckUtils]: 37: Hoare triple {5091#(<= main_~j~0 10)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5091#(<= main_~j~0 10)} is VALID [2018-11-14 19:11:02,872 INFO L273 TraceCheckUtils]: 38: Hoare triple {5091#(<= main_~j~0 10)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5092#(<= main_~j~0 11)} is VALID [2018-11-14 19:11:02,872 INFO L273 TraceCheckUtils]: 39: Hoare triple {5092#(<= main_~j~0 11)} assume true; {5092#(<= main_~j~0 11)} is VALID [2018-11-14 19:11:02,873 INFO L273 TraceCheckUtils]: 40: Hoare triple {5092#(<= main_~j~0 11)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5092#(<= main_~j~0 11)} is VALID [2018-11-14 19:11:02,873 INFO L273 TraceCheckUtils]: 41: Hoare triple {5092#(<= main_~j~0 11)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5093#(<= main_~j~0 12)} is VALID [2018-11-14 19:11:02,874 INFO L273 TraceCheckUtils]: 42: Hoare triple {5093#(<= main_~j~0 12)} assume true; {5093#(<= main_~j~0 12)} is VALID [2018-11-14 19:11:02,874 INFO L273 TraceCheckUtils]: 43: Hoare triple {5093#(<= main_~j~0 12)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5093#(<= main_~j~0 12)} is VALID [2018-11-14 19:11:02,875 INFO L273 TraceCheckUtils]: 44: Hoare triple {5093#(<= main_~j~0 12)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5094#(<= main_~j~0 13)} is VALID [2018-11-14 19:11:02,876 INFO L273 TraceCheckUtils]: 45: Hoare triple {5094#(<= main_~j~0 13)} assume true; {5094#(<= main_~j~0 13)} is VALID [2018-11-14 19:11:02,876 INFO L273 TraceCheckUtils]: 46: Hoare triple {5094#(<= main_~j~0 13)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5094#(<= main_~j~0 13)} is VALID [2018-11-14 19:11:02,877 INFO L273 TraceCheckUtils]: 47: Hoare triple {5094#(<= main_~j~0 13)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5095#(<= main_~j~0 14)} is VALID [2018-11-14 19:11:02,877 INFO L273 TraceCheckUtils]: 48: Hoare triple {5095#(<= main_~j~0 14)} assume true; {5095#(<= main_~j~0 14)} is VALID [2018-11-14 19:11:02,878 INFO L273 TraceCheckUtils]: 49: Hoare triple {5095#(<= main_~j~0 14)} assume !(~j~0 < 20); {5080#false} is VALID [2018-11-14 19:11:02,878 INFO L273 TraceCheckUtils]: 50: Hoare triple {5080#false} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~i~0 := #t~nondet4;havoc #t~nondet4; {5080#false} is VALID [2018-11-14 19:11:02,878 INFO L273 TraceCheckUtils]: 51: Hoare triple {5080#false} assume ~i~0 >= 0 && ~i~0 < 10;~ad2~0.base, ~ad2~0.offset := ~#ad1~0.base, ~#ad1~0.offset;call write~int(~i~0, ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + ~i~0 * 8 + 0, 4);~i~0 := #t~mem5 + 10;havoc #t~mem5; {5080#false} is VALID [2018-11-14 19:11:02,879 INFO L273 TraceCheckUtils]: 52: Hoare triple {5080#false} assume true; {5080#false} is VALID [2018-11-14 19:11:02,879 INFO L273 TraceCheckUtils]: 53: Hoare triple {5080#false} call #t~mem6 := read~int(~pa~0.base, ~pa~0.offset, 4); {5080#false} is VALID [2018-11-14 19:11:02,879 INFO L273 TraceCheckUtils]: 54: Hoare triple {5080#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {5080#false} is VALID [2018-11-14 19:11:02,879 INFO L256 TraceCheckUtils]: 55: Hoare triple {5080#false} call #t~ret8 := check(~#ad1~0.base, ~#ad1~0.offset, ~i~0); {5080#false} is VALID [2018-11-14 19:11:02,879 INFO L273 TraceCheckUtils]: 56: Hoare triple {5080#false} ~ad1.base, ~ad1.offset := #in~ad1.base, #in~ad1.offset;~b := #in~b;call #t~mem0 := read~int(~ad1.base, ~ad1.offset + ~b * 8 + 0, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {5080#false} is VALID [2018-11-14 19:11:02,879 INFO L273 TraceCheckUtils]: 57: Hoare triple {5080#false} assume true; {5080#false} is VALID [2018-11-14 19:11:02,880 INFO L268 TraceCheckUtils]: 58: Hoare quadruple {5080#false} {5080#false} #59#return; {5080#false} is VALID [2018-11-14 19:11:02,880 INFO L273 TraceCheckUtils]: 59: Hoare triple {5080#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {5080#false} is VALID [2018-11-14 19:11:02,880 INFO L273 TraceCheckUtils]: 60: Hoare triple {5080#false} assume #t~ret8 == 0;havoc #t~ret8; {5080#false} is VALID [2018-11-14 19:11:02,880 INFO L273 TraceCheckUtils]: 61: Hoare triple {5080#false} assume !false; {5080#false} is VALID [2018-11-14 19:11:02,883 INFO L134 CoverageAnalysis]: Checked inductivity of 301 backedges. 0 proven. 301 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 19:11:02,903 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 19:11:02,903 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 17] total 18 [2018-11-14 19:11:02,904 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 62 [2018-11-14 19:11:02,904 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 19:11:02,904 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states. [2018-11-14 19:11:02,996 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 19:11:02,996 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2018-11-14 19:11:02,996 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2018-11-14 19:11:02,997 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=153, Invalid=153, Unknown=0, NotChecked=0, Total=306 [2018-11-14 19:11:02,997 INFO L87 Difference]: Start difference. First operand 63 states and 64 transitions. Second operand 18 states. [2018-11-14 19:11:03,445 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:11:03,445 INFO L93 Difference]: Finished difference Result 80 states and 82 transitions. [2018-11-14 19:11:03,446 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2018-11-14 19:11:03,446 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 62 [2018-11-14 19:11:03,446 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 19:11:03,446 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-14 19:11:03,447 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 82 transitions. [2018-11-14 19:11:03,447 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-14 19:11:03,448 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 82 transitions. [2018-11-14 19:11:03,449 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 82 transitions. [2018-11-14 19:11:03,662 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 19:11:03,663 INFO L225 Difference]: With dead ends: 80 [2018-11-14 19:11:03,663 INFO L226 Difference]: Without dead ends: 67 [2018-11-14 19:11:03,663 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 78 GetRequests, 62 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=153, Invalid=153, Unknown=0, NotChecked=0, Total=306 [2018-11-14 19:11:03,663 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2018-11-14 19:11:03,714 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 66. [2018-11-14 19:11:03,714 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 19:11:03,714 INFO L82 GeneralOperation]: Start isEquivalent. First operand 67 states. Second operand 66 states. [2018-11-14 19:11:03,714 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand 66 states. [2018-11-14 19:11:03,714 INFO L87 Difference]: Start difference. First operand 67 states. Second operand 66 states. [2018-11-14 19:11:03,715 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:11:03,715 INFO L93 Difference]: Finished difference Result 67 states and 68 transitions. [2018-11-14 19:11:03,716 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 68 transitions. [2018-11-14 19:11:03,716 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 19:11:03,716 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 19:11:03,716 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand 67 states. [2018-11-14 19:11:03,716 INFO L87 Difference]: Start difference. First operand 66 states. Second operand 67 states. [2018-11-14 19:11:03,717 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:11:03,717 INFO L93 Difference]: Finished difference Result 67 states and 68 transitions. [2018-11-14 19:11:03,717 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 68 transitions. [2018-11-14 19:11:03,718 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 19:11:03,718 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 19:11:03,718 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 19:11:03,718 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 19:11:03,718 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 66 states. [2018-11-14 19:11:03,719 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 66 states to 66 states and 67 transitions. [2018-11-14 19:11:03,719 INFO L78 Accepts]: Start accepts. Automaton has 66 states and 67 transitions. Word has length 62 [2018-11-14 19:11:03,720 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 19:11:03,720 INFO L480 AbstractCegarLoop]: Abstraction has 66 states and 67 transitions. [2018-11-14 19:11:03,720 INFO L481 AbstractCegarLoop]: Interpolant automaton has 18 states. [2018-11-14 19:11:03,720 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 67 transitions. [2018-11-14 19:11:03,720 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 66 [2018-11-14 19:11:03,720 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 19:11:03,721 INFO L375 BasicCegarLoop]: trace histogram [16, 15, 15, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 19:11:03,721 INFO L423 AbstractCegarLoop]: === Iteration 17 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 19:11:03,721 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 19:11:03,721 INFO L82 PathProgramCache]: Analyzing trace with hash -226536141, now seen corresponding path program 15 times [2018-11-14 19:11:03,721 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 19:11:03,721 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 19:11:03,722 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:11:03,722 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 19:11:03,722 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:11:03,736 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 19:11:04,017 INFO L256 TraceCheckUtils]: 0: Hoare triple {5614#true} call ULTIMATE.init(); {5614#true} is VALID [2018-11-14 19:11:04,018 INFO L273 TraceCheckUtils]: 1: Hoare triple {5614#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {5614#true} is VALID [2018-11-14 19:11:04,018 INFO L273 TraceCheckUtils]: 2: Hoare triple {5614#true} assume true; {5614#true} is VALID [2018-11-14 19:11:04,018 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5614#true} {5614#true} #55#return; {5614#true} is VALID [2018-11-14 19:11:04,018 INFO L256 TraceCheckUtils]: 4: Hoare triple {5614#true} call #t~ret9 := main(); {5614#true} is VALID [2018-11-14 19:11:04,019 INFO L273 TraceCheckUtils]: 5: Hoare triple {5614#true} call ~#ad1~0.base, ~#ad1~0.offset := #Ultimate.alloc(160);havoc ~ad2~0.base, ~ad2~0.offset;havoc ~i~0;havoc ~j~0;havoc ~pa~0.base, ~pa~0.offset;~j~0 := 0; {5616#(= main_~j~0 0)} is VALID [2018-11-14 19:11:04,019 INFO L273 TraceCheckUtils]: 6: Hoare triple {5616#(= main_~j~0 0)} assume true; {5616#(= main_~j~0 0)} is VALID [2018-11-14 19:11:04,020 INFO L273 TraceCheckUtils]: 7: Hoare triple {5616#(= main_~j~0 0)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5616#(= main_~j~0 0)} is VALID [2018-11-14 19:11:04,020 INFO L273 TraceCheckUtils]: 8: Hoare triple {5616#(= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5617#(<= main_~j~0 1)} is VALID [2018-11-14 19:11:04,020 INFO L273 TraceCheckUtils]: 9: Hoare triple {5617#(<= main_~j~0 1)} assume true; {5617#(<= main_~j~0 1)} is VALID [2018-11-14 19:11:04,021 INFO L273 TraceCheckUtils]: 10: Hoare triple {5617#(<= main_~j~0 1)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5617#(<= main_~j~0 1)} is VALID [2018-11-14 19:11:04,021 INFO L273 TraceCheckUtils]: 11: Hoare triple {5617#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5618#(<= main_~j~0 2)} is VALID [2018-11-14 19:11:04,022 INFO L273 TraceCheckUtils]: 12: Hoare triple {5618#(<= main_~j~0 2)} assume true; {5618#(<= main_~j~0 2)} is VALID [2018-11-14 19:11:04,022 INFO L273 TraceCheckUtils]: 13: Hoare triple {5618#(<= main_~j~0 2)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5618#(<= main_~j~0 2)} is VALID [2018-11-14 19:11:04,022 INFO L273 TraceCheckUtils]: 14: Hoare triple {5618#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5619#(<= main_~j~0 3)} is VALID [2018-11-14 19:11:04,023 INFO L273 TraceCheckUtils]: 15: Hoare triple {5619#(<= main_~j~0 3)} assume true; {5619#(<= main_~j~0 3)} is VALID [2018-11-14 19:11:04,023 INFO L273 TraceCheckUtils]: 16: Hoare triple {5619#(<= main_~j~0 3)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5619#(<= main_~j~0 3)} is VALID [2018-11-14 19:11:04,024 INFO L273 TraceCheckUtils]: 17: Hoare triple {5619#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5620#(<= main_~j~0 4)} is VALID [2018-11-14 19:11:04,025 INFO L273 TraceCheckUtils]: 18: Hoare triple {5620#(<= main_~j~0 4)} assume true; {5620#(<= main_~j~0 4)} is VALID [2018-11-14 19:11:04,025 INFO L273 TraceCheckUtils]: 19: Hoare triple {5620#(<= main_~j~0 4)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5620#(<= main_~j~0 4)} is VALID [2018-11-14 19:11:04,026 INFO L273 TraceCheckUtils]: 20: Hoare triple {5620#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5621#(<= main_~j~0 5)} is VALID [2018-11-14 19:11:04,027 INFO L273 TraceCheckUtils]: 21: Hoare triple {5621#(<= main_~j~0 5)} assume true; {5621#(<= main_~j~0 5)} is VALID [2018-11-14 19:11:04,027 INFO L273 TraceCheckUtils]: 22: Hoare triple {5621#(<= main_~j~0 5)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5621#(<= main_~j~0 5)} is VALID [2018-11-14 19:11:04,028 INFO L273 TraceCheckUtils]: 23: Hoare triple {5621#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5622#(<= main_~j~0 6)} is VALID [2018-11-14 19:11:04,029 INFO L273 TraceCheckUtils]: 24: Hoare triple {5622#(<= main_~j~0 6)} assume true; {5622#(<= main_~j~0 6)} is VALID [2018-11-14 19:11:04,029 INFO L273 TraceCheckUtils]: 25: Hoare triple {5622#(<= main_~j~0 6)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5622#(<= main_~j~0 6)} is VALID [2018-11-14 19:11:04,030 INFO L273 TraceCheckUtils]: 26: Hoare triple {5622#(<= main_~j~0 6)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5623#(<= main_~j~0 7)} is VALID [2018-11-14 19:11:04,030 INFO L273 TraceCheckUtils]: 27: Hoare triple {5623#(<= main_~j~0 7)} assume true; {5623#(<= main_~j~0 7)} is VALID [2018-11-14 19:11:04,031 INFO L273 TraceCheckUtils]: 28: Hoare triple {5623#(<= main_~j~0 7)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5623#(<= main_~j~0 7)} is VALID [2018-11-14 19:11:04,032 INFO L273 TraceCheckUtils]: 29: Hoare triple {5623#(<= main_~j~0 7)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5624#(<= main_~j~0 8)} is VALID [2018-11-14 19:11:04,032 INFO L273 TraceCheckUtils]: 30: Hoare triple {5624#(<= main_~j~0 8)} assume true; {5624#(<= main_~j~0 8)} is VALID [2018-11-14 19:11:04,033 INFO L273 TraceCheckUtils]: 31: Hoare triple {5624#(<= main_~j~0 8)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5624#(<= main_~j~0 8)} is VALID [2018-11-14 19:11:04,034 INFO L273 TraceCheckUtils]: 32: Hoare triple {5624#(<= main_~j~0 8)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5625#(<= main_~j~0 9)} is VALID [2018-11-14 19:11:04,034 INFO L273 TraceCheckUtils]: 33: Hoare triple {5625#(<= main_~j~0 9)} assume true; {5625#(<= main_~j~0 9)} is VALID [2018-11-14 19:11:04,035 INFO L273 TraceCheckUtils]: 34: Hoare triple {5625#(<= main_~j~0 9)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5625#(<= main_~j~0 9)} is VALID [2018-11-14 19:11:04,035 INFO L273 TraceCheckUtils]: 35: Hoare triple {5625#(<= main_~j~0 9)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5626#(<= main_~j~0 10)} is VALID [2018-11-14 19:11:04,036 INFO L273 TraceCheckUtils]: 36: Hoare triple {5626#(<= main_~j~0 10)} assume true; {5626#(<= main_~j~0 10)} is VALID [2018-11-14 19:11:04,036 INFO L273 TraceCheckUtils]: 37: Hoare triple {5626#(<= main_~j~0 10)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5626#(<= main_~j~0 10)} is VALID [2018-11-14 19:11:04,037 INFO L273 TraceCheckUtils]: 38: Hoare triple {5626#(<= main_~j~0 10)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5627#(<= main_~j~0 11)} is VALID [2018-11-14 19:11:04,038 INFO L273 TraceCheckUtils]: 39: Hoare triple {5627#(<= main_~j~0 11)} assume true; {5627#(<= main_~j~0 11)} is VALID [2018-11-14 19:11:04,038 INFO L273 TraceCheckUtils]: 40: Hoare triple {5627#(<= main_~j~0 11)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5627#(<= main_~j~0 11)} is VALID [2018-11-14 19:11:04,039 INFO L273 TraceCheckUtils]: 41: Hoare triple {5627#(<= main_~j~0 11)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5628#(<= main_~j~0 12)} is VALID [2018-11-14 19:11:04,040 INFO L273 TraceCheckUtils]: 42: Hoare triple {5628#(<= main_~j~0 12)} assume true; {5628#(<= main_~j~0 12)} is VALID [2018-11-14 19:11:04,040 INFO L273 TraceCheckUtils]: 43: Hoare triple {5628#(<= main_~j~0 12)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5628#(<= main_~j~0 12)} is VALID [2018-11-14 19:11:04,041 INFO L273 TraceCheckUtils]: 44: Hoare triple {5628#(<= main_~j~0 12)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5629#(<= main_~j~0 13)} is VALID [2018-11-14 19:11:04,042 INFO L273 TraceCheckUtils]: 45: Hoare triple {5629#(<= main_~j~0 13)} assume true; {5629#(<= main_~j~0 13)} is VALID [2018-11-14 19:11:04,042 INFO L273 TraceCheckUtils]: 46: Hoare triple {5629#(<= main_~j~0 13)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5629#(<= main_~j~0 13)} is VALID [2018-11-14 19:11:04,043 INFO L273 TraceCheckUtils]: 47: Hoare triple {5629#(<= main_~j~0 13)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5630#(<= main_~j~0 14)} is VALID [2018-11-14 19:11:04,043 INFO L273 TraceCheckUtils]: 48: Hoare triple {5630#(<= main_~j~0 14)} assume true; {5630#(<= main_~j~0 14)} is VALID [2018-11-14 19:11:04,044 INFO L273 TraceCheckUtils]: 49: Hoare triple {5630#(<= main_~j~0 14)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5630#(<= main_~j~0 14)} is VALID [2018-11-14 19:11:04,045 INFO L273 TraceCheckUtils]: 50: Hoare triple {5630#(<= main_~j~0 14)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5631#(<= main_~j~0 15)} is VALID [2018-11-14 19:11:04,045 INFO L273 TraceCheckUtils]: 51: Hoare triple {5631#(<= main_~j~0 15)} assume true; {5631#(<= main_~j~0 15)} is VALID [2018-11-14 19:11:04,046 INFO L273 TraceCheckUtils]: 52: Hoare triple {5631#(<= main_~j~0 15)} assume !(~j~0 < 20); {5615#false} is VALID [2018-11-14 19:11:04,046 INFO L273 TraceCheckUtils]: 53: Hoare triple {5615#false} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~i~0 := #t~nondet4;havoc #t~nondet4; {5615#false} is VALID [2018-11-14 19:11:04,046 INFO L273 TraceCheckUtils]: 54: Hoare triple {5615#false} assume ~i~0 >= 0 && ~i~0 < 10;~ad2~0.base, ~ad2~0.offset := ~#ad1~0.base, ~#ad1~0.offset;call write~int(~i~0, ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + ~i~0 * 8 + 0, 4);~i~0 := #t~mem5 + 10;havoc #t~mem5; {5615#false} is VALID [2018-11-14 19:11:04,047 INFO L273 TraceCheckUtils]: 55: Hoare triple {5615#false} assume true; {5615#false} is VALID [2018-11-14 19:11:04,047 INFO L273 TraceCheckUtils]: 56: Hoare triple {5615#false} call #t~mem6 := read~int(~pa~0.base, ~pa~0.offset, 4); {5615#false} is VALID [2018-11-14 19:11:04,047 INFO L273 TraceCheckUtils]: 57: Hoare triple {5615#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {5615#false} is VALID [2018-11-14 19:11:04,047 INFO L256 TraceCheckUtils]: 58: Hoare triple {5615#false} call #t~ret8 := check(~#ad1~0.base, ~#ad1~0.offset, ~i~0); {5614#true} is VALID [2018-11-14 19:11:04,047 INFO L273 TraceCheckUtils]: 59: Hoare triple {5614#true} ~ad1.base, ~ad1.offset := #in~ad1.base, #in~ad1.offset;~b := #in~b;call #t~mem0 := read~int(~ad1.base, ~ad1.offset + ~b * 8 + 0, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {5614#true} is VALID [2018-11-14 19:11:04,048 INFO L273 TraceCheckUtils]: 60: Hoare triple {5614#true} assume true; {5614#true} is VALID [2018-11-14 19:11:04,048 INFO L268 TraceCheckUtils]: 61: Hoare quadruple {5614#true} {5615#false} #59#return; {5615#false} is VALID [2018-11-14 19:11:04,048 INFO L273 TraceCheckUtils]: 62: Hoare triple {5615#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {5615#false} is VALID [2018-11-14 19:11:04,048 INFO L273 TraceCheckUtils]: 63: Hoare triple {5615#false} assume #t~ret8 == 0;havoc #t~ret8; {5615#false} is VALID [2018-11-14 19:11:04,049 INFO L273 TraceCheckUtils]: 64: Hoare triple {5615#false} assume !false; {5615#false} is VALID [2018-11-14 19:11:04,052 INFO L134 CoverageAnalysis]: Checked inductivity of 345 backedges. 0 proven. 345 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 19:11:04,052 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 19:11:04,052 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 16 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 16 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-14 19:11:04,063 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-14 19:11:06,618 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 16 check-sat command(s) [2018-11-14 19:11:06,618 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 19:11:06,635 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 19:11:06,636 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 19:11:06,823 INFO L256 TraceCheckUtils]: 0: Hoare triple {5614#true} call ULTIMATE.init(); {5614#true} is VALID [2018-11-14 19:11:06,823 INFO L273 TraceCheckUtils]: 1: Hoare triple {5614#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {5614#true} is VALID [2018-11-14 19:11:06,823 INFO L273 TraceCheckUtils]: 2: Hoare triple {5614#true} assume true; {5614#true} is VALID [2018-11-14 19:11:06,824 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5614#true} {5614#true} #55#return; {5614#true} is VALID [2018-11-14 19:11:06,824 INFO L256 TraceCheckUtils]: 4: Hoare triple {5614#true} call #t~ret9 := main(); {5614#true} is VALID [2018-11-14 19:11:06,825 INFO L273 TraceCheckUtils]: 5: Hoare triple {5614#true} call ~#ad1~0.base, ~#ad1~0.offset := #Ultimate.alloc(160);havoc ~ad2~0.base, ~ad2~0.offset;havoc ~i~0;havoc ~j~0;havoc ~pa~0.base, ~pa~0.offset;~j~0 := 0; {5650#(<= main_~j~0 0)} is VALID [2018-11-14 19:11:06,825 INFO L273 TraceCheckUtils]: 6: Hoare triple {5650#(<= main_~j~0 0)} assume true; {5650#(<= main_~j~0 0)} is VALID [2018-11-14 19:11:06,825 INFO L273 TraceCheckUtils]: 7: Hoare triple {5650#(<= main_~j~0 0)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5650#(<= main_~j~0 0)} is VALID [2018-11-14 19:11:06,826 INFO L273 TraceCheckUtils]: 8: Hoare triple {5650#(<= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5617#(<= main_~j~0 1)} is VALID [2018-11-14 19:11:06,826 INFO L273 TraceCheckUtils]: 9: Hoare triple {5617#(<= main_~j~0 1)} assume true; {5617#(<= main_~j~0 1)} is VALID [2018-11-14 19:11:06,827 INFO L273 TraceCheckUtils]: 10: Hoare triple {5617#(<= main_~j~0 1)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5617#(<= main_~j~0 1)} is VALID [2018-11-14 19:11:06,827 INFO L273 TraceCheckUtils]: 11: Hoare triple {5617#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5618#(<= main_~j~0 2)} is VALID [2018-11-14 19:11:06,828 INFO L273 TraceCheckUtils]: 12: Hoare triple {5618#(<= main_~j~0 2)} assume true; {5618#(<= main_~j~0 2)} is VALID [2018-11-14 19:11:06,828 INFO L273 TraceCheckUtils]: 13: Hoare triple {5618#(<= main_~j~0 2)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5618#(<= main_~j~0 2)} is VALID [2018-11-14 19:11:06,829 INFO L273 TraceCheckUtils]: 14: Hoare triple {5618#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5619#(<= main_~j~0 3)} is VALID [2018-11-14 19:11:06,830 INFO L273 TraceCheckUtils]: 15: Hoare triple {5619#(<= main_~j~0 3)} assume true; {5619#(<= main_~j~0 3)} is VALID [2018-11-14 19:11:06,830 INFO L273 TraceCheckUtils]: 16: Hoare triple {5619#(<= main_~j~0 3)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5619#(<= main_~j~0 3)} is VALID [2018-11-14 19:11:06,831 INFO L273 TraceCheckUtils]: 17: Hoare triple {5619#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5620#(<= main_~j~0 4)} is VALID [2018-11-14 19:11:06,831 INFO L273 TraceCheckUtils]: 18: Hoare triple {5620#(<= main_~j~0 4)} assume true; {5620#(<= main_~j~0 4)} is VALID [2018-11-14 19:11:06,832 INFO L273 TraceCheckUtils]: 19: Hoare triple {5620#(<= main_~j~0 4)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5620#(<= main_~j~0 4)} is VALID [2018-11-14 19:11:06,833 INFO L273 TraceCheckUtils]: 20: Hoare triple {5620#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5621#(<= main_~j~0 5)} is VALID [2018-11-14 19:11:06,833 INFO L273 TraceCheckUtils]: 21: Hoare triple {5621#(<= main_~j~0 5)} assume true; {5621#(<= main_~j~0 5)} is VALID [2018-11-14 19:11:06,834 INFO L273 TraceCheckUtils]: 22: Hoare triple {5621#(<= main_~j~0 5)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5621#(<= main_~j~0 5)} is VALID [2018-11-14 19:11:06,835 INFO L273 TraceCheckUtils]: 23: Hoare triple {5621#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5622#(<= main_~j~0 6)} is VALID [2018-11-14 19:11:06,835 INFO L273 TraceCheckUtils]: 24: Hoare triple {5622#(<= main_~j~0 6)} assume true; {5622#(<= main_~j~0 6)} is VALID [2018-11-14 19:11:06,836 INFO L273 TraceCheckUtils]: 25: Hoare triple {5622#(<= main_~j~0 6)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5622#(<= main_~j~0 6)} is VALID [2018-11-14 19:11:06,836 INFO L273 TraceCheckUtils]: 26: Hoare triple {5622#(<= main_~j~0 6)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5623#(<= main_~j~0 7)} is VALID [2018-11-14 19:11:06,837 INFO L273 TraceCheckUtils]: 27: Hoare triple {5623#(<= main_~j~0 7)} assume true; {5623#(<= main_~j~0 7)} is VALID [2018-11-14 19:11:06,838 INFO L273 TraceCheckUtils]: 28: Hoare triple {5623#(<= main_~j~0 7)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5623#(<= main_~j~0 7)} is VALID [2018-11-14 19:11:06,841 INFO L273 TraceCheckUtils]: 29: Hoare triple {5623#(<= main_~j~0 7)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5624#(<= main_~j~0 8)} is VALID [2018-11-14 19:11:06,841 INFO L273 TraceCheckUtils]: 30: Hoare triple {5624#(<= main_~j~0 8)} assume true; {5624#(<= main_~j~0 8)} is VALID [2018-11-14 19:11:06,842 INFO L273 TraceCheckUtils]: 31: Hoare triple {5624#(<= main_~j~0 8)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5624#(<= main_~j~0 8)} is VALID [2018-11-14 19:11:06,842 INFO L273 TraceCheckUtils]: 32: Hoare triple {5624#(<= main_~j~0 8)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5625#(<= main_~j~0 9)} is VALID [2018-11-14 19:11:06,842 INFO L273 TraceCheckUtils]: 33: Hoare triple {5625#(<= main_~j~0 9)} assume true; {5625#(<= main_~j~0 9)} is VALID [2018-11-14 19:11:06,843 INFO L273 TraceCheckUtils]: 34: Hoare triple {5625#(<= main_~j~0 9)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5625#(<= main_~j~0 9)} is VALID [2018-11-14 19:11:06,843 INFO L273 TraceCheckUtils]: 35: Hoare triple {5625#(<= main_~j~0 9)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5626#(<= main_~j~0 10)} is VALID [2018-11-14 19:11:06,844 INFO L273 TraceCheckUtils]: 36: Hoare triple {5626#(<= main_~j~0 10)} assume true; {5626#(<= main_~j~0 10)} is VALID [2018-11-14 19:11:06,844 INFO L273 TraceCheckUtils]: 37: Hoare triple {5626#(<= main_~j~0 10)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5626#(<= main_~j~0 10)} is VALID [2018-11-14 19:11:06,844 INFO L273 TraceCheckUtils]: 38: Hoare triple {5626#(<= main_~j~0 10)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5627#(<= main_~j~0 11)} is VALID [2018-11-14 19:11:06,845 INFO L273 TraceCheckUtils]: 39: Hoare triple {5627#(<= main_~j~0 11)} assume true; {5627#(<= main_~j~0 11)} is VALID [2018-11-14 19:11:06,845 INFO L273 TraceCheckUtils]: 40: Hoare triple {5627#(<= main_~j~0 11)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5627#(<= main_~j~0 11)} is VALID [2018-11-14 19:11:06,846 INFO L273 TraceCheckUtils]: 41: Hoare triple {5627#(<= main_~j~0 11)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5628#(<= main_~j~0 12)} is VALID [2018-11-14 19:11:06,846 INFO L273 TraceCheckUtils]: 42: Hoare triple {5628#(<= main_~j~0 12)} assume true; {5628#(<= main_~j~0 12)} is VALID [2018-11-14 19:11:06,847 INFO L273 TraceCheckUtils]: 43: Hoare triple {5628#(<= main_~j~0 12)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5628#(<= main_~j~0 12)} is VALID [2018-11-14 19:11:06,848 INFO L273 TraceCheckUtils]: 44: Hoare triple {5628#(<= main_~j~0 12)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5629#(<= main_~j~0 13)} is VALID [2018-11-14 19:11:06,848 INFO L273 TraceCheckUtils]: 45: Hoare triple {5629#(<= main_~j~0 13)} assume true; {5629#(<= main_~j~0 13)} is VALID [2018-11-14 19:11:06,849 INFO L273 TraceCheckUtils]: 46: Hoare triple {5629#(<= main_~j~0 13)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5629#(<= main_~j~0 13)} is VALID [2018-11-14 19:11:06,849 INFO L273 TraceCheckUtils]: 47: Hoare triple {5629#(<= main_~j~0 13)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5630#(<= main_~j~0 14)} is VALID [2018-11-14 19:11:06,850 INFO L273 TraceCheckUtils]: 48: Hoare triple {5630#(<= main_~j~0 14)} assume true; {5630#(<= main_~j~0 14)} is VALID [2018-11-14 19:11:06,851 INFO L273 TraceCheckUtils]: 49: Hoare triple {5630#(<= main_~j~0 14)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {5630#(<= main_~j~0 14)} is VALID [2018-11-14 19:11:06,872 INFO L273 TraceCheckUtils]: 50: Hoare triple {5630#(<= main_~j~0 14)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {5631#(<= main_~j~0 15)} is VALID [2018-11-14 19:11:06,872 INFO L273 TraceCheckUtils]: 51: Hoare triple {5631#(<= main_~j~0 15)} assume true; {5631#(<= main_~j~0 15)} is VALID [2018-11-14 19:11:06,873 INFO L273 TraceCheckUtils]: 52: Hoare triple {5631#(<= main_~j~0 15)} assume !(~j~0 < 20); {5615#false} is VALID [2018-11-14 19:11:06,873 INFO L273 TraceCheckUtils]: 53: Hoare triple {5615#false} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~i~0 := #t~nondet4;havoc #t~nondet4; {5615#false} is VALID [2018-11-14 19:11:06,873 INFO L273 TraceCheckUtils]: 54: Hoare triple {5615#false} assume ~i~0 >= 0 && ~i~0 < 10;~ad2~0.base, ~ad2~0.offset := ~#ad1~0.base, ~#ad1~0.offset;call write~int(~i~0, ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + ~i~0 * 8 + 0, 4);~i~0 := #t~mem5 + 10;havoc #t~mem5; {5615#false} is VALID [2018-11-14 19:11:06,873 INFO L273 TraceCheckUtils]: 55: Hoare triple {5615#false} assume true; {5615#false} is VALID [2018-11-14 19:11:06,874 INFO L273 TraceCheckUtils]: 56: Hoare triple {5615#false} call #t~mem6 := read~int(~pa~0.base, ~pa~0.offset, 4); {5615#false} is VALID [2018-11-14 19:11:06,874 INFO L273 TraceCheckUtils]: 57: Hoare triple {5615#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {5615#false} is VALID [2018-11-14 19:11:06,874 INFO L256 TraceCheckUtils]: 58: Hoare triple {5615#false} call #t~ret8 := check(~#ad1~0.base, ~#ad1~0.offset, ~i~0); {5615#false} is VALID [2018-11-14 19:11:06,874 INFO L273 TraceCheckUtils]: 59: Hoare triple {5615#false} ~ad1.base, ~ad1.offset := #in~ad1.base, #in~ad1.offset;~b := #in~b;call #t~mem0 := read~int(~ad1.base, ~ad1.offset + ~b * 8 + 0, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {5615#false} is VALID [2018-11-14 19:11:06,874 INFO L273 TraceCheckUtils]: 60: Hoare triple {5615#false} assume true; {5615#false} is VALID [2018-11-14 19:11:06,874 INFO L268 TraceCheckUtils]: 61: Hoare quadruple {5615#false} {5615#false} #59#return; {5615#false} is VALID [2018-11-14 19:11:06,874 INFO L273 TraceCheckUtils]: 62: Hoare triple {5615#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {5615#false} is VALID [2018-11-14 19:11:06,874 INFO L273 TraceCheckUtils]: 63: Hoare triple {5615#false} assume #t~ret8 == 0;havoc #t~ret8; {5615#false} is VALID [2018-11-14 19:11:06,875 INFO L273 TraceCheckUtils]: 64: Hoare triple {5615#false} assume !false; {5615#false} is VALID [2018-11-14 19:11:06,877 INFO L134 CoverageAnalysis]: Checked inductivity of 345 backedges. 0 proven. 345 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 19:11:06,899 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 19:11:06,899 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 18] total 19 [2018-11-14 19:11:06,900 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 65 [2018-11-14 19:11:06,900 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 19:11:06,900 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states. [2018-11-14 19:11:07,017 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 19:11:07,018 INFO L459 AbstractCegarLoop]: Interpolant automaton has 19 states [2018-11-14 19:11:07,018 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2018-11-14 19:11:07,018 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=171, Invalid=171, Unknown=0, NotChecked=0, Total=342 [2018-11-14 19:11:07,019 INFO L87 Difference]: Start difference. First operand 66 states and 67 transitions. Second operand 19 states. [2018-11-14 19:11:07,983 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:11:07,983 INFO L93 Difference]: Finished difference Result 83 states and 85 transitions. [2018-11-14 19:11:07,983 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2018-11-14 19:11:07,983 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 65 [2018-11-14 19:11:07,983 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 19:11:07,983 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-14 19:11:07,985 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 85 transitions. [2018-11-14 19:11:07,986 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-14 19:11:07,987 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 85 transitions. [2018-11-14 19:11:07,987 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states and 85 transitions. [2018-11-14 19:11:08,745 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 19:11:08,746 INFO L225 Difference]: With dead ends: 83 [2018-11-14 19:11:08,746 INFO L226 Difference]: Without dead ends: 70 [2018-11-14 19:11:08,747 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 82 GetRequests, 65 SyntacticMatches, 0 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=171, Invalid=171, Unknown=0, NotChecked=0, Total=342 [2018-11-14 19:11:08,748 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2018-11-14 19:11:08,813 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 69. [2018-11-14 19:11:08,814 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 19:11:08,814 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand 69 states. [2018-11-14 19:11:08,814 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand 69 states. [2018-11-14 19:11:08,814 INFO L87 Difference]: Start difference. First operand 70 states. Second operand 69 states. [2018-11-14 19:11:08,816 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:11:08,816 INFO L93 Difference]: Finished difference Result 70 states and 71 transitions. [2018-11-14 19:11:08,816 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 71 transitions. [2018-11-14 19:11:08,816 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 19:11:08,816 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 19:11:08,816 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand 70 states. [2018-11-14 19:11:08,817 INFO L87 Difference]: Start difference. First operand 69 states. Second operand 70 states. [2018-11-14 19:11:08,818 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:11:08,818 INFO L93 Difference]: Finished difference Result 70 states and 71 transitions. [2018-11-14 19:11:08,818 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 71 transitions. [2018-11-14 19:11:08,818 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 19:11:08,818 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 19:11:08,818 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 19:11:08,819 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 19:11:08,819 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 69 states. [2018-11-14 19:11:08,820 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 69 states to 69 states and 70 transitions. [2018-11-14 19:11:08,820 INFO L78 Accepts]: Start accepts. Automaton has 69 states and 70 transitions. Word has length 65 [2018-11-14 19:11:08,820 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 19:11:08,820 INFO L480 AbstractCegarLoop]: Abstraction has 69 states and 70 transitions. [2018-11-14 19:11:08,820 INFO L481 AbstractCegarLoop]: Interpolant automaton has 19 states. [2018-11-14 19:11:08,820 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 70 transitions. [2018-11-14 19:11:08,821 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 69 [2018-11-14 19:11:08,821 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 19:11:08,821 INFO L375 BasicCegarLoop]: trace histogram [17, 16, 16, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 19:11:08,821 INFO L423 AbstractCegarLoop]: === Iteration 18 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 19:11:08,821 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 19:11:08,821 INFO L82 PathProgramCache]: Analyzing trace with hash -1411392540, now seen corresponding path program 16 times [2018-11-14 19:11:08,822 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 19:11:08,822 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 19:11:08,822 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:11:08,822 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 19:11:08,822 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:11:08,838 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 19:11:09,747 INFO L256 TraceCheckUtils]: 0: Hoare triple {6173#true} call ULTIMATE.init(); {6173#true} is VALID [2018-11-14 19:11:09,747 INFO L273 TraceCheckUtils]: 1: Hoare triple {6173#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {6173#true} is VALID [2018-11-14 19:11:09,748 INFO L273 TraceCheckUtils]: 2: Hoare triple {6173#true} assume true; {6173#true} is VALID [2018-11-14 19:11:09,748 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6173#true} {6173#true} #55#return; {6173#true} is VALID [2018-11-14 19:11:09,748 INFO L256 TraceCheckUtils]: 4: Hoare triple {6173#true} call #t~ret9 := main(); {6173#true} is VALID [2018-11-14 19:11:09,749 INFO L273 TraceCheckUtils]: 5: Hoare triple {6173#true} call ~#ad1~0.base, ~#ad1~0.offset := #Ultimate.alloc(160);havoc ~ad2~0.base, ~ad2~0.offset;havoc ~i~0;havoc ~j~0;havoc ~pa~0.base, ~pa~0.offset;~j~0 := 0; {6175#(= main_~j~0 0)} is VALID [2018-11-14 19:11:09,750 INFO L273 TraceCheckUtils]: 6: Hoare triple {6175#(= main_~j~0 0)} assume true; {6175#(= main_~j~0 0)} is VALID [2018-11-14 19:11:09,750 INFO L273 TraceCheckUtils]: 7: Hoare triple {6175#(= main_~j~0 0)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6175#(= main_~j~0 0)} is VALID [2018-11-14 19:11:09,751 INFO L273 TraceCheckUtils]: 8: Hoare triple {6175#(= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6176#(<= main_~j~0 1)} is VALID [2018-11-14 19:11:09,752 INFO L273 TraceCheckUtils]: 9: Hoare triple {6176#(<= main_~j~0 1)} assume true; {6176#(<= main_~j~0 1)} is VALID [2018-11-14 19:11:09,752 INFO L273 TraceCheckUtils]: 10: Hoare triple {6176#(<= main_~j~0 1)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6176#(<= main_~j~0 1)} is VALID [2018-11-14 19:11:09,753 INFO L273 TraceCheckUtils]: 11: Hoare triple {6176#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6177#(<= main_~j~0 2)} is VALID [2018-11-14 19:11:09,754 INFO L273 TraceCheckUtils]: 12: Hoare triple {6177#(<= main_~j~0 2)} assume true; {6177#(<= main_~j~0 2)} is VALID [2018-11-14 19:11:09,754 INFO L273 TraceCheckUtils]: 13: Hoare triple {6177#(<= main_~j~0 2)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6177#(<= main_~j~0 2)} is VALID [2018-11-14 19:11:09,755 INFO L273 TraceCheckUtils]: 14: Hoare triple {6177#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6178#(<= main_~j~0 3)} is VALID [2018-11-14 19:11:09,756 INFO L273 TraceCheckUtils]: 15: Hoare triple {6178#(<= main_~j~0 3)} assume true; {6178#(<= main_~j~0 3)} is VALID [2018-11-14 19:11:09,757 INFO L273 TraceCheckUtils]: 16: Hoare triple {6178#(<= main_~j~0 3)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6178#(<= main_~j~0 3)} is VALID [2018-11-14 19:11:09,757 INFO L273 TraceCheckUtils]: 17: Hoare triple {6178#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6179#(<= main_~j~0 4)} is VALID [2018-11-14 19:11:09,758 INFO L273 TraceCheckUtils]: 18: Hoare triple {6179#(<= main_~j~0 4)} assume true; {6179#(<= main_~j~0 4)} is VALID [2018-11-14 19:11:09,759 INFO L273 TraceCheckUtils]: 19: Hoare triple {6179#(<= main_~j~0 4)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6179#(<= main_~j~0 4)} is VALID [2018-11-14 19:11:09,759 INFO L273 TraceCheckUtils]: 20: Hoare triple {6179#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6180#(<= main_~j~0 5)} is VALID [2018-11-14 19:11:09,760 INFO L273 TraceCheckUtils]: 21: Hoare triple {6180#(<= main_~j~0 5)} assume true; {6180#(<= main_~j~0 5)} is VALID [2018-11-14 19:11:09,761 INFO L273 TraceCheckUtils]: 22: Hoare triple {6180#(<= main_~j~0 5)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6180#(<= main_~j~0 5)} is VALID [2018-11-14 19:11:09,761 INFO L273 TraceCheckUtils]: 23: Hoare triple {6180#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6181#(<= main_~j~0 6)} is VALID [2018-11-14 19:11:09,762 INFO L273 TraceCheckUtils]: 24: Hoare triple {6181#(<= main_~j~0 6)} assume true; {6181#(<= main_~j~0 6)} is VALID [2018-11-14 19:11:09,763 INFO L273 TraceCheckUtils]: 25: Hoare triple {6181#(<= main_~j~0 6)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6181#(<= main_~j~0 6)} is VALID [2018-11-14 19:11:09,763 INFO L273 TraceCheckUtils]: 26: Hoare triple {6181#(<= main_~j~0 6)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6182#(<= main_~j~0 7)} is VALID [2018-11-14 19:11:09,764 INFO L273 TraceCheckUtils]: 27: Hoare triple {6182#(<= main_~j~0 7)} assume true; {6182#(<= main_~j~0 7)} is VALID [2018-11-14 19:11:09,765 INFO L273 TraceCheckUtils]: 28: Hoare triple {6182#(<= main_~j~0 7)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6182#(<= main_~j~0 7)} is VALID [2018-11-14 19:11:09,765 INFO L273 TraceCheckUtils]: 29: Hoare triple {6182#(<= main_~j~0 7)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6183#(<= main_~j~0 8)} is VALID [2018-11-14 19:11:09,766 INFO L273 TraceCheckUtils]: 30: Hoare triple {6183#(<= main_~j~0 8)} assume true; {6183#(<= main_~j~0 8)} is VALID [2018-11-14 19:11:09,767 INFO L273 TraceCheckUtils]: 31: Hoare triple {6183#(<= main_~j~0 8)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6183#(<= main_~j~0 8)} is VALID [2018-11-14 19:11:09,767 INFO L273 TraceCheckUtils]: 32: Hoare triple {6183#(<= main_~j~0 8)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6184#(<= main_~j~0 9)} is VALID [2018-11-14 19:11:09,768 INFO L273 TraceCheckUtils]: 33: Hoare triple {6184#(<= main_~j~0 9)} assume true; {6184#(<= main_~j~0 9)} is VALID [2018-11-14 19:11:09,769 INFO L273 TraceCheckUtils]: 34: Hoare triple {6184#(<= main_~j~0 9)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6184#(<= main_~j~0 9)} is VALID [2018-11-14 19:11:09,770 INFO L273 TraceCheckUtils]: 35: Hoare triple {6184#(<= main_~j~0 9)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6185#(<= main_~j~0 10)} is VALID [2018-11-14 19:11:09,770 INFO L273 TraceCheckUtils]: 36: Hoare triple {6185#(<= main_~j~0 10)} assume true; {6185#(<= main_~j~0 10)} is VALID [2018-11-14 19:11:09,771 INFO L273 TraceCheckUtils]: 37: Hoare triple {6185#(<= main_~j~0 10)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6185#(<= main_~j~0 10)} is VALID [2018-11-14 19:11:09,772 INFO L273 TraceCheckUtils]: 38: Hoare triple {6185#(<= main_~j~0 10)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6186#(<= main_~j~0 11)} is VALID [2018-11-14 19:11:09,772 INFO L273 TraceCheckUtils]: 39: Hoare triple {6186#(<= main_~j~0 11)} assume true; {6186#(<= main_~j~0 11)} is VALID [2018-11-14 19:11:09,773 INFO L273 TraceCheckUtils]: 40: Hoare triple {6186#(<= main_~j~0 11)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6186#(<= main_~j~0 11)} is VALID [2018-11-14 19:11:09,774 INFO L273 TraceCheckUtils]: 41: Hoare triple {6186#(<= main_~j~0 11)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6187#(<= main_~j~0 12)} is VALID [2018-11-14 19:11:09,774 INFO L273 TraceCheckUtils]: 42: Hoare triple {6187#(<= main_~j~0 12)} assume true; {6187#(<= main_~j~0 12)} is VALID [2018-11-14 19:11:09,775 INFO L273 TraceCheckUtils]: 43: Hoare triple {6187#(<= main_~j~0 12)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6187#(<= main_~j~0 12)} is VALID [2018-11-14 19:11:09,776 INFO L273 TraceCheckUtils]: 44: Hoare triple {6187#(<= main_~j~0 12)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6188#(<= main_~j~0 13)} is VALID [2018-11-14 19:11:09,776 INFO L273 TraceCheckUtils]: 45: Hoare triple {6188#(<= main_~j~0 13)} assume true; {6188#(<= main_~j~0 13)} is VALID [2018-11-14 19:11:09,777 INFO L273 TraceCheckUtils]: 46: Hoare triple {6188#(<= main_~j~0 13)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6188#(<= main_~j~0 13)} is VALID [2018-11-14 19:11:09,778 INFO L273 TraceCheckUtils]: 47: Hoare triple {6188#(<= main_~j~0 13)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6189#(<= main_~j~0 14)} is VALID [2018-11-14 19:11:09,778 INFO L273 TraceCheckUtils]: 48: Hoare triple {6189#(<= main_~j~0 14)} assume true; {6189#(<= main_~j~0 14)} is VALID [2018-11-14 19:11:09,779 INFO L273 TraceCheckUtils]: 49: Hoare triple {6189#(<= main_~j~0 14)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6189#(<= main_~j~0 14)} is VALID [2018-11-14 19:11:09,779 INFO L273 TraceCheckUtils]: 50: Hoare triple {6189#(<= main_~j~0 14)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6190#(<= main_~j~0 15)} is VALID [2018-11-14 19:11:09,780 INFO L273 TraceCheckUtils]: 51: Hoare triple {6190#(<= main_~j~0 15)} assume true; {6190#(<= main_~j~0 15)} is VALID [2018-11-14 19:11:09,781 INFO L273 TraceCheckUtils]: 52: Hoare triple {6190#(<= main_~j~0 15)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6190#(<= main_~j~0 15)} is VALID [2018-11-14 19:11:09,782 INFO L273 TraceCheckUtils]: 53: Hoare triple {6190#(<= main_~j~0 15)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6191#(<= main_~j~0 16)} is VALID [2018-11-14 19:11:09,782 INFO L273 TraceCheckUtils]: 54: Hoare triple {6191#(<= main_~j~0 16)} assume true; {6191#(<= main_~j~0 16)} is VALID [2018-11-14 19:11:09,783 INFO L273 TraceCheckUtils]: 55: Hoare triple {6191#(<= main_~j~0 16)} assume !(~j~0 < 20); {6174#false} is VALID [2018-11-14 19:11:09,783 INFO L273 TraceCheckUtils]: 56: Hoare triple {6174#false} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~i~0 := #t~nondet4;havoc #t~nondet4; {6174#false} is VALID [2018-11-14 19:11:09,783 INFO L273 TraceCheckUtils]: 57: Hoare triple {6174#false} assume ~i~0 >= 0 && ~i~0 < 10;~ad2~0.base, ~ad2~0.offset := ~#ad1~0.base, ~#ad1~0.offset;call write~int(~i~0, ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + ~i~0 * 8 + 0, 4);~i~0 := #t~mem5 + 10;havoc #t~mem5; {6174#false} is VALID [2018-11-14 19:11:09,784 INFO L273 TraceCheckUtils]: 58: Hoare triple {6174#false} assume true; {6174#false} is VALID [2018-11-14 19:11:09,784 INFO L273 TraceCheckUtils]: 59: Hoare triple {6174#false} call #t~mem6 := read~int(~pa~0.base, ~pa~0.offset, 4); {6174#false} is VALID [2018-11-14 19:11:09,784 INFO L273 TraceCheckUtils]: 60: Hoare triple {6174#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {6174#false} is VALID [2018-11-14 19:11:09,784 INFO L256 TraceCheckUtils]: 61: Hoare triple {6174#false} call #t~ret8 := check(~#ad1~0.base, ~#ad1~0.offset, ~i~0); {6173#true} is VALID [2018-11-14 19:11:09,785 INFO L273 TraceCheckUtils]: 62: Hoare triple {6173#true} ~ad1.base, ~ad1.offset := #in~ad1.base, #in~ad1.offset;~b := #in~b;call #t~mem0 := read~int(~ad1.base, ~ad1.offset + ~b * 8 + 0, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {6173#true} is VALID [2018-11-14 19:11:09,785 INFO L273 TraceCheckUtils]: 63: Hoare triple {6173#true} assume true; {6173#true} is VALID [2018-11-14 19:11:09,785 INFO L268 TraceCheckUtils]: 64: Hoare quadruple {6173#true} {6174#false} #59#return; {6174#false} is VALID [2018-11-14 19:11:09,785 INFO L273 TraceCheckUtils]: 65: Hoare triple {6174#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {6174#false} is VALID [2018-11-14 19:11:09,786 INFO L273 TraceCheckUtils]: 66: Hoare triple {6174#false} assume #t~ret8 == 0;havoc #t~ret8; {6174#false} is VALID [2018-11-14 19:11:09,786 INFO L273 TraceCheckUtils]: 67: Hoare triple {6174#false} assume !false; {6174#false} is VALID [2018-11-14 19:11:09,791 INFO L134 CoverageAnalysis]: Checked inductivity of 392 backedges. 0 proven. 392 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 19:11:09,792 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 19:11:09,792 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 17 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 17 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-14 19:11:09,800 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-14 19:11:09,865 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-14 19:11:09,865 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 19:11:09,891 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 19:11:09,892 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 19:11:10,071 INFO L256 TraceCheckUtils]: 0: Hoare triple {6173#true} call ULTIMATE.init(); {6173#true} is VALID [2018-11-14 19:11:10,072 INFO L273 TraceCheckUtils]: 1: Hoare triple {6173#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {6173#true} is VALID [2018-11-14 19:11:10,072 INFO L273 TraceCheckUtils]: 2: Hoare triple {6173#true} assume true; {6173#true} is VALID [2018-11-14 19:11:10,072 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6173#true} {6173#true} #55#return; {6173#true} is VALID [2018-11-14 19:11:10,072 INFO L256 TraceCheckUtils]: 4: Hoare triple {6173#true} call #t~ret9 := main(); {6173#true} is VALID [2018-11-14 19:11:10,073 INFO L273 TraceCheckUtils]: 5: Hoare triple {6173#true} call ~#ad1~0.base, ~#ad1~0.offset := #Ultimate.alloc(160);havoc ~ad2~0.base, ~ad2~0.offset;havoc ~i~0;havoc ~j~0;havoc ~pa~0.base, ~pa~0.offset;~j~0 := 0; {6210#(<= main_~j~0 0)} is VALID [2018-11-14 19:11:10,073 INFO L273 TraceCheckUtils]: 6: Hoare triple {6210#(<= main_~j~0 0)} assume true; {6210#(<= main_~j~0 0)} is VALID [2018-11-14 19:11:10,074 INFO L273 TraceCheckUtils]: 7: Hoare triple {6210#(<= main_~j~0 0)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6210#(<= main_~j~0 0)} is VALID [2018-11-14 19:11:10,074 INFO L273 TraceCheckUtils]: 8: Hoare triple {6210#(<= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6176#(<= main_~j~0 1)} is VALID [2018-11-14 19:11:10,075 INFO L273 TraceCheckUtils]: 9: Hoare triple {6176#(<= main_~j~0 1)} assume true; {6176#(<= main_~j~0 1)} is VALID [2018-11-14 19:11:10,075 INFO L273 TraceCheckUtils]: 10: Hoare triple {6176#(<= main_~j~0 1)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6176#(<= main_~j~0 1)} is VALID [2018-11-14 19:11:10,076 INFO L273 TraceCheckUtils]: 11: Hoare triple {6176#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6177#(<= main_~j~0 2)} is VALID [2018-11-14 19:11:10,077 INFO L273 TraceCheckUtils]: 12: Hoare triple {6177#(<= main_~j~0 2)} assume true; {6177#(<= main_~j~0 2)} is VALID [2018-11-14 19:11:10,078 INFO L273 TraceCheckUtils]: 13: Hoare triple {6177#(<= main_~j~0 2)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6177#(<= main_~j~0 2)} is VALID [2018-11-14 19:11:10,078 INFO L273 TraceCheckUtils]: 14: Hoare triple {6177#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6178#(<= main_~j~0 3)} is VALID [2018-11-14 19:11:10,079 INFO L273 TraceCheckUtils]: 15: Hoare triple {6178#(<= main_~j~0 3)} assume true; {6178#(<= main_~j~0 3)} is VALID [2018-11-14 19:11:10,079 INFO L273 TraceCheckUtils]: 16: Hoare triple {6178#(<= main_~j~0 3)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6178#(<= main_~j~0 3)} is VALID [2018-11-14 19:11:10,080 INFO L273 TraceCheckUtils]: 17: Hoare triple {6178#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6179#(<= main_~j~0 4)} is VALID [2018-11-14 19:11:10,081 INFO L273 TraceCheckUtils]: 18: Hoare triple {6179#(<= main_~j~0 4)} assume true; {6179#(<= main_~j~0 4)} is VALID [2018-11-14 19:11:10,081 INFO L273 TraceCheckUtils]: 19: Hoare triple {6179#(<= main_~j~0 4)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6179#(<= main_~j~0 4)} is VALID [2018-11-14 19:11:10,082 INFO L273 TraceCheckUtils]: 20: Hoare triple {6179#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6180#(<= main_~j~0 5)} is VALID [2018-11-14 19:11:10,083 INFO L273 TraceCheckUtils]: 21: Hoare triple {6180#(<= main_~j~0 5)} assume true; {6180#(<= main_~j~0 5)} is VALID [2018-11-14 19:11:10,083 INFO L273 TraceCheckUtils]: 22: Hoare triple {6180#(<= main_~j~0 5)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6180#(<= main_~j~0 5)} is VALID [2018-11-14 19:11:10,084 INFO L273 TraceCheckUtils]: 23: Hoare triple {6180#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6181#(<= main_~j~0 6)} is VALID [2018-11-14 19:11:10,084 INFO L273 TraceCheckUtils]: 24: Hoare triple {6181#(<= main_~j~0 6)} assume true; {6181#(<= main_~j~0 6)} is VALID [2018-11-14 19:11:10,085 INFO L273 TraceCheckUtils]: 25: Hoare triple {6181#(<= main_~j~0 6)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6181#(<= main_~j~0 6)} is VALID [2018-11-14 19:11:10,086 INFO L273 TraceCheckUtils]: 26: Hoare triple {6181#(<= main_~j~0 6)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6182#(<= main_~j~0 7)} is VALID [2018-11-14 19:11:10,086 INFO L273 TraceCheckUtils]: 27: Hoare triple {6182#(<= main_~j~0 7)} assume true; {6182#(<= main_~j~0 7)} is VALID [2018-11-14 19:11:10,087 INFO L273 TraceCheckUtils]: 28: Hoare triple {6182#(<= main_~j~0 7)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6182#(<= main_~j~0 7)} is VALID [2018-11-14 19:11:10,087 INFO L273 TraceCheckUtils]: 29: Hoare triple {6182#(<= main_~j~0 7)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6183#(<= main_~j~0 8)} is VALID [2018-11-14 19:11:10,088 INFO L273 TraceCheckUtils]: 30: Hoare triple {6183#(<= main_~j~0 8)} assume true; {6183#(<= main_~j~0 8)} is VALID [2018-11-14 19:11:10,088 INFO L273 TraceCheckUtils]: 31: Hoare triple {6183#(<= main_~j~0 8)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6183#(<= main_~j~0 8)} is VALID [2018-11-14 19:11:10,089 INFO L273 TraceCheckUtils]: 32: Hoare triple {6183#(<= main_~j~0 8)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6184#(<= main_~j~0 9)} is VALID [2018-11-14 19:11:10,090 INFO L273 TraceCheckUtils]: 33: Hoare triple {6184#(<= main_~j~0 9)} assume true; {6184#(<= main_~j~0 9)} is VALID [2018-11-14 19:11:10,090 INFO L273 TraceCheckUtils]: 34: Hoare triple {6184#(<= main_~j~0 9)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6184#(<= main_~j~0 9)} is VALID [2018-11-14 19:11:10,091 INFO L273 TraceCheckUtils]: 35: Hoare triple {6184#(<= main_~j~0 9)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6185#(<= main_~j~0 10)} is VALID [2018-11-14 19:11:10,091 INFO L273 TraceCheckUtils]: 36: Hoare triple {6185#(<= main_~j~0 10)} assume true; {6185#(<= main_~j~0 10)} is VALID [2018-11-14 19:11:10,092 INFO L273 TraceCheckUtils]: 37: Hoare triple {6185#(<= main_~j~0 10)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6185#(<= main_~j~0 10)} is VALID [2018-11-14 19:11:10,093 INFO L273 TraceCheckUtils]: 38: Hoare triple {6185#(<= main_~j~0 10)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6186#(<= main_~j~0 11)} is VALID [2018-11-14 19:11:10,093 INFO L273 TraceCheckUtils]: 39: Hoare triple {6186#(<= main_~j~0 11)} assume true; {6186#(<= main_~j~0 11)} is VALID [2018-11-14 19:11:10,094 INFO L273 TraceCheckUtils]: 40: Hoare triple {6186#(<= main_~j~0 11)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6186#(<= main_~j~0 11)} is VALID [2018-11-14 19:11:10,095 INFO L273 TraceCheckUtils]: 41: Hoare triple {6186#(<= main_~j~0 11)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6187#(<= main_~j~0 12)} is VALID [2018-11-14 19:11:10,095 INFO L273 TraceCheckUtils]: 42: Hoare triple {6187#(<= main_~j~0 12)} assume true; {6187#(<= main_~j~0 12)} is VALID [2018-11-14 19:11:10,096 INFO L273 TraceCheckUtils]: 43: Hoare triple {6187#(<= main_~j~0 12)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6187#(<= main_~j~0 12)} is VALID [2018-11-14 19:11:10,096 INFO L273 TraceCheckUtils]: 44: Hoare triple {6187#(<= main_~j~0 12)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6188#(<= main_~j~0 13)} is VALID [2018-11-14 19:11:10,097 INFO L273 TraceCheckUtils]: 45: Hoare triple {6188#(<= main_~j~0 13)} assume true; {6188#(<= main_~j~0 13)} is VALID [2018-11-14 19:11:10,097 INFO L273 TraceCheckUtils]: 46: Hoare triple {6188#(<= main_~j~0 13)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6188#(<= main_~j~0 13)} is VALID [2018-11-14 19:11:10,098 INFO L273 TraceCheckUtils]: 47: Hoare triple {6188#(<= main_~j~0 13)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6189#(<= main_~j~0 14)} is VALID [2018-11-14 19:11:10,099 INFO L273 TraceCheckUtils]: 48: Hoare triple {6189#(<= main_~j~0 14)} assume true; {6189#(<= main_~j~0 14)} is VALID [2018-11-14 19:11:10,099 INFO L273 TraceCheckUtils]: 49: Hoare triple {6189#(<= main_~j~0 14)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6189#(<= main_~j~0 14)} is VALID [2018-11-14 19:11:10,100 INFO L273 TraceCheckUtils]: 50: Hoare triple {6189#(<= main_~j~0 14)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6190#(<= main_~j~0 15)} is VALID [2018-11-14 19:11:10,100 INFO L273 TraceCheckUtils]: 51: Hoare triple {6190#(<= main_~j~0 15)} assume true; {6190#(<= main_~j~0 15)} is VALID [2018-11-14 19:11:10,101 INFO L273 TraceCheckUtils]: 52: Hoare triple {6190#(<= main_~j~0 15)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6190#(<= main_~j~0 15)} is VALID [2018-11-14 19:11:10,102 INFO L273 TraceCheckUtils]: 53: Hoare triple {6190#(<= main_~j~0 15)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6191#(<= main_~j~0 16)} is VALID [2018-11-14 19:11:10,102 INFO L273 TraceCheckUtils]: 54: Hoare triple {6191#(<= main_~j~0 16)} assume true; {6191#(<= main_~j~0 16)} is VALID [2018-11-14 19:11:10,103 INFO L273 TraceCheckUtils]: 55: Hoare triple {6191#(<= main_~j~0 16)} assume !(~j~0 < 20); {6174#false} is VALID [2018-11-14 19:11:10,103 INFO L273 TraceCheckUtils]: 56: Hoare triple {6174#false} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~i~0 := #t~nondet4;havoc #t~nondet4; {6174#false} is VALID [2018-11-14 19:11:10,103 INFO L273 TraceCheckUtils]: 57: Hoare triple {6174#false} assume ~i~0 >= 0 && ~i~0 < 10;~ad2~0.base, ~ad2~0.offset := ~#ad1~0.base, ~#ad1~0.offset;call write~int(~i~0, ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + ~i~0 * 8 + 0, 4);~i~0 := #t~mem5 + 10;havoc #t~mem5; {6174#false} is VALID [2018-11-14 19:11:10,104 INFO L273 TraceCheckUtils]: 58: Hoare triple {6174#false} assume true; {6174#false} is VALID [2018-11-14 19:11:10,104 INFO L273 TraceCheckUtils]: 59: Hoare triple {6174#false} call #t~mem6 := read~int(~pa~0.base, ~pa~0.offset, 4); {6174#false} is VALID [2018-11-14 19:11:10,104 INFO L273 TraceCheckUtils]: 60: Hoare triple {6174#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {6174#false} is VALID [2018-11-14 19:11:10,104 INFO L256 TraceCheckUtils]: 61: Hoare triple {6174#false} call #t~ret8 := check(~#ad1~0.base, ~#ad1~0.offset, ~i~0); {6174#false} is VALID [2018-11-14 19:11:10,104 INFO L273 TraceCheckUtils]: 62: Hoare triple {6174#false} ~ad1.base, ~ad1.offset := #in~ad1.base, #in~ad1.offset;~b := #in~b;call #t~mem0 := read~int(~ad1.base, ~ad1.offset + ~b * 8 + 0, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {6174#false} is VALID [2018-11-14 19:11:10,105 INFO L273 TraceCheckUtils]: 63: Hoare triple {6174#false} assume true; {6174#false} is VALID [2018-11-14 19:11:10,105 INFO L268 TraceCheckUtils]: 64: Hoare quadruple {6174#false} {6174#false} #59#return; {6174#false} is VALID [2018-11-14 19:11:10,105 INFO L273 TraceCheckUtils]: 65: Hoare triple {6174#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {6174#false} is VALID [2018-11-14 19:11:10,105 INFO L273 TraceCheckUtils]: 66: Hoare triple {6174#false} assume #t~ret8 == 0;havoc #t~ret8; {6174#false} is VALID [2018-11-14 19:11:10,105 INFO L273 TraceCheckUtils]: 67: Hoare triple {6174#false} assume !false; {6174#false} is VALID [2018-11-14 19:11:10,109 INFO L134 CoverageAnalysis]: Checked inductivity of 392 backedges. 0 proven. 392 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 19:11:10,129 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 19:11:10,130 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 19] total 20 [2018-11-14 19:11:10,130 INFO L78 Accepts]: Start accepts. Automaton has 20 states. Word has length 68 [2018-11-14 19:11:10,130 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 19:11:10,131 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states. [2018-11-14 19:11:10,203 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 19:11:10,204 INFO L459 AbstractCegarLoop]: Interpolant automaton has 20 states [2018-11-14 19:11:10,204 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2018-11-14 19:11:10,204 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=190, Invalid=190, Unknown=0, NotChecked=0, Total=380 [2018-11-14 19:11:10,205 INFO L87 Difference]: Start difference. First operand 69 states and 70 transitions. Second operand 20 states. [2018-11-14 19:11:10,629 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:11:10,629 INFO L93 Difference]: Finished difference Result 86 states and 88 transitions. [2018-11-14 19:11:10,629 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2018-11-14 19:11:10,629 INFO L78 Accepts]: Start accepts. Automaton has 20 states. Word has length 68 [2018-11-14 19:11:10,630 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 19:11:10,630 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2018-11-14 19:11:10,631 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 88 transitions. [2018-11-14 19:11:10,631 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2018-11-14 19:11:10,632 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 88 transitions. [2018-11-14 19:11:10,632 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states and 88 transitions. [2018-11-14 19:11:10,720 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 19:11:10,721 INFO L225 Difference]: With dead ends: 86 [2018-11-14 19:11:10,721 INFO L226 Difference]: Without dead ends: 73 [2018-11-14 19:11:10,722 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 68 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 30 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=190, Invalid=190, Unknown=0, NotChecked=0, Total=380 [2018-11-14 19:11:10,723 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 73 states. [2018-11-14 19:11:10,740 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 73 to 72. [2018-11-14 19:11:10,740 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 19:11:10,740 INFO L82 GeneralOperation]: Start isEquivalent. First operand 73 states. Second operand 72 states. [2018-11-14 19:11:10,740 INFO L74 IsIncluded]: Start isIncluded. First operand 73 states. Second operand 72 states. [2018-11-14 19:11:10,740 INFO L87 Difference]: Start difference. First operand 73 states. Second operand 72 states. [2018-11-14 19:11:10,742 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:11:10,742 INFO L93 Difference]: Finished difference Result 73 states and 74 transitions. [2018-11-14 19:11:10,742 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 74 transitions. [2018-11-14 19:11:10,743 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 19:11:10,743 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 19:11:10,743 INFO L74 IsIncluded]: Start isIncluded. First operand 72 states. Second operand 73 states. [2018-11-14 19:11:10,743 INFO L87 Difference]: Start difference. First operand 72 states. Second operand 73 states. [2018-11-14 19:11:10,744 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:11:10,745 INFO L93 Difference]: Finished difference Result 73 states and 74 transitions. [2018-11-14 19:11:10,745 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 74 transitions. [2018-11-14 19:11:10,745 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 19:11:10,745 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 19:11:10,745 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 19:11:10,745 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 19:11:10,745 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 72 states. [2018-11-14 19:11:10,746 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 72 states to 72 states and 73 transitions. [2018-11-14 19:11:10,747 INFO L78 Accepts]: Start accepts. Automaton has 72 states and 73 transitions. Word has length 68 [2018-11-14 19:11:10,747 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 19:11:10,747 INFO L480 AbstractCegarLoop]: Abstraction has 72 states and 73 transitions. [2018-11-14 19:11:10,747 INFO L481 AbstractCegarLoop]: Interpolant automaton has 20 states. [2018-11-14 19:11:10,747 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 73 transitions. [2018-11-14 19:11:10,748 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 72 [2018-11-14 19:11:10,748 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 19:11:10,748 INFO L375 BasicCegarLoop]: trace histogram [18, 17, 17, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 19:11:10,748 INFO L423 AbstractCegarLoop]: === Iteration 19 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 19:11:10,749 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 19:11:10,749 INFO L82 PathProgramCache]: Analyzing trace with hash 867830675, now seen corresponding path program 17 times [2018-11-14 19:11:10,749 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 19:11:10,749 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 19:11:10,750 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:11:10,750 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 19:11:10,750 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:11:10,764 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 19:11:11,026 INFO L256 TraceCheckUtils]: 0: Hoare triple {6756#true} call ULTIMATE.init(); {6756#true} is VALID [2018-11-14 19:11:11,026 INFO L273 TraceCheckUtils]: 1: Hoare triple {6756#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {6756#true} is VALID [2018-11-14 19:11:11,026 INFO L273 TraceCheckUtils]: 2: Hoare triple {6756#true} assume true; {6756#true} is VALID [2018-11-14 19:11:11,026 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6756#true} {6756#true} #55#return; {6756#true} is VALID [2018-11-14 19:11:11,027 INFO L256 TraceCheckUtils]: 4: Hoare triple {6756#true} call #t~ret9 := main(); {6756#true} is VALID [2018-11-14 19:11:11,027 INFO L273 TraceCheckUtils]: 5: Hoare triple {6756#true} call ~#ad1~0.base, ~#ad1~0.offset := #Ultimate.alloc(160);havoc ~ad2~0.base, ~ad2~0.offset;havoc ~i~0;havoc ~j~0;havoc ~pa~0.base, ~pa~0.offset;~j~0 := 0; {6758#(= main_~j~0 0)} is VALID [2018-11-14 19:11:11,027 INFO L273 TraceCheckUtils]: 6: Hoare triple {6758#(= main_~j~0 0)} assume true; {6758#(= main_~j~0 0)} is VALID [2018-11-14 19:11:11,028 INFO L273 TraceCheckUtils]: 7: Hoare triple {6758#(= main_~j~0 0)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6758#(= main_~j~0 0)} is VALID [2018-11-14 19:11:11,029 INFO L273 TraceCheckUtils]: 8: Hoare triple {6758#(= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6759#(<= main_~j~0 1)} is VALID [2018-11-14 19:11:11,029 INFO L273 TraceCheckUtils]: 9: Hoare triple {6759#(<= main_~j~0 1)} assume true; {6759#(<= main_~j~0 1)} is VALID [2018-11-14 19:11:11,029 INFO L273 TraceCheckUtils]: 10: Hoare triple {6759#(<= main_~j~0 1)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6759#(<= main_~j~0 1)} is VALID [2018-11-14 19:11:11,030 INFO L273 TraceCheckUtils]: 11: Hoare triple {6759#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6760#(<= main_~j~0 2)} is VALID [2018-11-14 19:11:11,030 INFO L273 TraceCheckUtils]: 12: Hoare triple {6760#(<= main_~j~0 2)} assume true; {6760#(<= main_~j~0 2)} is VALID [2018-11-14 19:11:11,030 INFO L273 TraceCheckUtils]: 13: Hoare triple {6760#(<= main_~j~0 2)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6760#(<= main_~j~0 2)} is VALID [2018-11-14 19:11:11,031 INFO L273 TraceCheckUtils]: 14: Hoare triple {6760#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6761#(<= main_~j~0 3)} is VALID [2018-11-14 19:11:11,032 INFO L273 TraceCheckUtils]: 15: Hoare triple {6761#(<= main_~j~0 3)} assume true; {6761#(<= main_~j~0 3)} is VALID [2018-11-14 19:11:11,032 INFO L273 TraceCheckUtils]: 16: Hoare triple {6761#(<= main_~j~0 3)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6761#(<= main_~j~0 3)} is VALID [2018-11-14 19:11:11,033 INFO L273 TraceCheckUtils]: 17: Hoare triple {6761#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6762#(<= main_~j~0 4)} is VALID [2018-11-14 19:11:11,034 INFO L273 TraceCheckUtils]: 18: Hoare triple {6762#(<= main_~j~0 4)} assume true; {6762#(<= main_~j~0 4)} is VALID [2018-11-14 19:11:11,034 INFO L273 TraceCheckUtils]: 19: Hoare triple {6762#(<= main_~j~0 4)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6762#(<= main_~j~0 4)} is VALID [2018-11-14 19:11:11,035 INFO L273 TraceCheckUtils]: 20: Hoare triple {6762#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6763#(<= main_~j~0 5)} is VALID [2018-11-14 19:11:11,035 INFO L273 TraceCheckUtils]: 21: Hoare triple {6763#(<= main_~j~0 5)} assume true; {6763#(<= main_~j~0 5)} is VALID [2018-11-14 19:11:11,036 INFO L273 TraceCheckUtils]: 22: Hoare triple {6763#(<= main_~j~0 5)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6763#(<= main_~j~0 5)} is VALID [2018-11-14 19:11:11,037 INFO L273 TraceCheckUtils]: 23: Hoare triple {6763#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6764#(<= main_~j~0 6)} is VALID [2018-11-14 19:11:11,037 INFO L273 TraceCheckUtils]: 24: Hoare triple {6764#(<= main_~j~0 6)} assume true; {6764#(<= main_~j~0 6)} is VALID [2018-11-14 19:11:11,038 INFO L273 TraceCheckUtils]: 25: Hoare triple {6764#(<= main_~j~0 6)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6764#(<= main_~j~0 6)} is VALID [2018-11-14 19:11:11,039 INFO L273 TraceCheckUtils]: 26: Hoare triple {6764#(<= main_~j~0 6)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6765#(<= main_~j~0 7)} is VALID [2018-11-14 19:11:11,039 INFO L273 TraceCheckUtils]: 27: Hoare triple {6765#(<= main_~j~0 7)} assume true; {6765#(<= main_~j~0 7)} is VALID [2018-11-14 19:11:11,040 INFO L273 TraceCheckUtils]: 28: Hoare triple {6765#(<= main_~j~0 7)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6765#(<= main_~j~0 7)} is VALID [2018-11-14 19:11:11,040 INFO L273 TraceCheckUtils]: 29: Hoare triple {6765#(<= main_~j~0 7)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6766#(<= main_~j~0 8)} is VALID [2018-11-14 19:11:11,041 INFO L273 TraceCheckUtils]: 30: Hoare triple {6766#(<= main_~j~0 8)} assume true; {6766#(<= main_~j~0 8)} is VALID [2018-11-14 19:11:11,041 INFO L273 TraceCheckUtils]: 31: Hoare triple {6766#(<= main_~j~0 8)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6766#(<= main_~j~0 8)} is VALID [2018-11-14 19:11:11,042 INFO L273 TraceCheckUtils]: 32: Hoare triple {6766#(<= main_~j~0 8)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6767#(<= main_~j~0 9)} is VALID [2018-11-14 19:11:11,043 INFO L273 TraceCheckUtils]: 33: Hoare triple {6767#(<= main_~j~0 9)} assume true; {6767#(<= main_~j~0 9)} is VALID [2018-11-14 19:11:11,043 INFO L273 TraceCheckUtils]: 34: Hoare triple {6767#(<= main_~j~0 9)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6767#(<= main_~j~0 9)} is VALID [2018-11-14 19:11:11,044 INFO L273 TraceCheckUtils]: 35: Hoare triple {6767#(<= main_~j~0 9)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6768#(<= main_~j~0 10)} is VALID [2018-11-14 19:11:11,045 INFO L273 TraceCheckUtils]: 36: Hoare triple {6768#(<= main_~j~0 10)} assume true; {6768#(<= main_~j~0 10)} is VALID [2018-11-14 19:11:11,045 INFO L273 TraceCheckUtils]: 37: Hoare triple {6768#(<= main_~j~0 10)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6768#(<= main_~j~0 10)} is VALID [2018-11-14 19:11:11,046 INFO L273 TraceCheckUtils]: 38: Hoare triple {6768#(<= main_~j~0 10)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6769#(<= main_~j~0 11)} is VALID [2018-11-14 19:11:11,046 INFO L273 TraceCheckUtils]: 39: Hoare triple {6769#(<= main_~j~0 11)} assume true; {6769#(<= main_~j~0 11)} is VALID [2018-11-14 19:11:11,047 INFO L273 TraceCheckUtils]: 40: Hoare triple {6769#(<= main_~j~0 11)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6769#(<= main_~j~0 11)} is VALID [2018-11-14 19:11:11,048 INFO L273 TraceCheckUtils]: 41: Hoare triple {6769#(<= main_~j~0 11)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6770#(<= main_~j~0 12)} is VALID [2018-11-14 19:11:11,048 INFO L273 TraceCheckUtils]: 42: Hoare triple {6770#(<= main_~j~0 12)} assume true; {6770#(<= main_~j~0 12)} is VALID [2018-11-14 19:11:11,049 INFO L273 TraceCheckUtils]: 43: Hoare triple {6770#(<= main_~j~0 12)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6770#(<= main_~j~0 12)} is VALID [2018-11-14 19:11:11,049 INFO L273 TraceCheckUtils]: 44: Hoare triple {6770#(<= main_~j~0 12)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6771#(<= main_~j~0 13)} is VALID [2018-11-14 19:11:11,050 INFO L273 TraceCheckUtils]: 45: Hoare triple {6771#(<= main_~j~0 13)} assume true; {6771#(<= main_~j~0 13)} is VALID [2018-11-14 19:11:11,050 INFO L273 TraceCheckUtils]: 46: Hoare triple {6771#(<= main_~j~0 13)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6771#(<= main_~j~0 13)} is VALID [2018-11-14 19:11:11,051 INFO L273 TraceCheckUtils]: 47: Hoare triple {6771#(<= main_~j~0 13)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6772#(<= main_~j~0 14)} is VALID [2018-11-14 19:11:11,052 INFO L273 TraceCheckUtils]: 48: Hoare triple {6772#(<= main_~j~0 14)} assume true; {6772#(<= main_~j~0 14)} is VALID [2018-11-14 19:11:11,052 INFO L273 TraceCheckUtils]: 49: Hoare triple {6772#(<= main_~j~0 14)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6772#(<= main_~j~0 14)} is VALID [2018-11-14 19:11:11,053 INFO L273 TraceCheckUtils]: 50: Hoare triple {6772#(<= main_~j~0 14)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6773#(<= main_~j~0 15)} is VALID [2018-11-14 19:11:11,054 INFO L273 TraceCheckUtils]: 51: Hoare triple {6773#(<= main_~j~0 15)} assume true; {6773#(<= main_~j~0 15)} is VALID [2018-11-14 19:11:11,054 INFO L273 TraceCheckUtils]: 52: Hoare triple {6773#(<= main_~j~0 15)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6773#(<= main_~j~0 15)} is VALID [2018-11-14 19:11:11,055 INFO L273 TraceCheckUtils]: 53: Hoare triple {6773#(<= main_~j~0 15)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6774#(<= main_~j~0 16)} is VALID [2018-11-14 19:11:11,055 INFO L273 TraceCheckUtils]: 54: Hoare triple {6774#(<= main_~j~0 16)} assume true; {6774#(<= main_~j~0 16)} is VALID [2018-11-14 19:11:11,056 INFO L273 TraceCheckUtils]: 55: Hoare triple {6774#(<= main_~j~0 16)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6774#(<= main_~j~0 16)} is VALID [2018-11-14 19:11:11,057 INFO L273 TraceCheckUtils]: 56: Hoare triple {6774#(<= main_~j~0 16)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6775#(<= main_~j~0 17)} is VALID [2018-11-14 19:11:11,057 INFO L273 TraceCheckUtils]: 57: Hoare triple {6775#(<= main_~j~0 17)} assume true; {6775#(<= main_~j~0 17)} is VALID [2018-11-14 19:11:11,058 INFO L273 TraceCheckUtils]: 58: Hoare triple {6775#(<= main_~j~0 17)} assume !(~j~0 < 20); {6757#false} is VALID [2018-11-14 19:11:11,058 INFO L273 TraceCheckUtils]: 59: Hoare triple {6757#false} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~i~0 := #t~nondet4;havoc #t~nondet4; {6757#false} is VALID [2018-11-14 19:11:11,058 INFO L273 TraceCheckUtils]: 60: Hoare triple {6757#false} assume ~i~0 >= 0 && ~i~0 < 10;~ad2~0.base, ~ad2~0.offset := ~#ad1~0.base, ~#ad1~0.offset;call write~int(~i~0, ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + ~i~0 * 8 + 0, 4);~i~0 := #t~mem5 + 10;havoc #t~mem5; {6757#false} is VALID [2018-11-14 19:11:11,059 INFO L273 TraceCheckUtils]: 61: Hoare triple {6757#false} assume true; {6757#false} is VALID [2018-11-14 19:11:11,059 INFO L273 TraceCheckUtils]: 62: Hoare triple {6757#false} call #t~mem6 := read~int(~pa~0.base, ~pa~0.offset, 4); {6757#false} is VALID [2018-11-14 19:11:11,059 INFO L273 TraceCheckUtils]: 63: Hoare triple {6757#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {6757#false} is VALID [2018-11-14 19:11:11,059 INFO L256 TraceCheckUtils]: 64: Hoare triple {6757#false} call #t~ret8 := check(~#ad1~0.base, ~#ad1~0.offset, ~i~0); {6756#true} is VALID [2018-11-14 19:11:11,059 INFO L273 TraceCheckUtils]: 65: Hoare triple {6756#true} ~ad1.base, ~ad1.offset := #in~ad1.base, #in~ad1.offset;~b := #in~b;call #t~mem0 := read~int(~ad1.base, ~ad1.offset + ~b * 8 + 0, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {6756#true} is VALID [2018-11-14 19:11:11,060 INFO L273 TraceCheckUtils]: 66: Hoare triple {6756#true} assume true; {6756#true} is VALID [2018-11-14 19:11:11,060 INFO L268 TraceCheckUtils]: 67: Hoare quadruple {6756#true} {6757#false} #59#return; {6757#false} is VALID [2018-11-14 19:11:11,060 INFO L273 TraceCheckUtils]: 68: Hoare triple {6757#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {6757#false} is VALID [2018-11-14 19:11:11,060 INFO L273 TraceCheckUtils]: 69: Hoare triple {6757#false} assume #t~ret8 == 0;havoc #t~ret8; {6757#false} is VALID [2018-11-14 19:11:11,060 INFO L273 TraceCheckUtils]: 70: Hoare triple {6757#false} assume !false; {6757#false} is VALID [2018-11-14 19:11:11,064 INFO L134 CoverageAnalysis]: Checked inductivity of 442 backedges. 0 proven. 442 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 19:11:11,064 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 19:11:11,064 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 18 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 18 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-14 19:11:11,073 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-14 19:11:13,609 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 18 check-sat command(s) [2018-11-14 19:11:13,610 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 19:11:13,631 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 19:11:13,632 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 19:11:13,996 INFO L256 TraceCheckUtils]: 0: Hoare triple {6756#true} call ULTIMATE.init(); {6756#true} is VALID [2018-11-14 19:11:13,997 INFO L273 TraceCheckUtils]: 1: Hoare triple {6756#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {6756#true} is VALID [2018-11-14 19:11:13,997 INFO L273 TraceCheckUtils]: 2: Hoare triple {6756#true} assume true; {6756#true} is VALID [2018-11-14 19:11:13,997 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6756#true} {6756#true} #55#return; {6756#true} is VALID [2018-11-14 19:11:13,997 INFO L256 TraceCheckUtils]: 4: Hoare triple {6756#true} call #t~ret9 := main(); {6756#true} is VALID [2018-11-14 19:11:13,998 INFO L273 TraceCheckUtils]: 5: Hoare triple {6756#true} call ~#ad1~0.base, ~#ad1~0.offset := #Ultimate.alloc(160);havoc ~ad2~0.base, ~ad2~0.offset;havoc ~i~0;havoc ~j~0;havoc ~pa~0.base, ~pa~0.offset;~j~0 := 0; {6794#(<= main_~j~0 0)} is VALID [2018-11-14 19:11:13,998 INFO L273 TraceCheckUtils]: 6: Hoare triple {6794#(<= main_~j~0 0)} assume true; {6794#(<= main_~j~0 0)} is VALID [2018-11-14 19:11:13,999 INFO L273 TraceCheckUtils]: 7: Hoare triple {6794#(<= main_~j~0 0)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6794#(<= main_~j~0 0)} is VALID [2018-11-14 19:11:13,999 INFO L273 TraceCheckUtils]: 8: Hoare triple {6794#(<= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6759#(<= main_~j~0 1)} is VALID [2018-11-14 19:11:13,999 INFO L273 TraceCheckUtils]: 9: Hoare triple {6759#(<= main_~j~0 1)} assume true; {6759#(<= main_~j~0 1)} is VALID [2018-11-14 19:11:14,000 INFO L273 TraceCheckUtils]: 10: Hoare triple {6759#(<= main_~j~0 1)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6759#(<= main_~j~0 1)} is VALID [2018-11-14 19:11:14,000 INFO L273 TraceCheckUtils]: 11: Hoare triple {6759#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6760#(<= main_~j~0 2)} is VALID [2018-11-14 19:11:14,001 INFO L273 TraceCheckUtils]: 12: Hoare triple {6760#(<= main_~j~0 2)} assume true; {6760#(<= main_~j~0 2)} is VALID [2018-11-14 19:11:14,001 INFO L273 TraceCheckUtils]: 13: Hoare triple {6760#(<= main_~j~0 2)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6760#(<= main_~j~0 2)} is VALID [2018-11-14 19:11:14,001 INFO L273 TraceCheckUtils]: 14: Hoare triple {6760#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6761#(<= main_~j~0 3)} is VALID [2018-11-14 19:11:14,002 INFO L273 TraceCheckUtils]: 15: Hoare triple {6761#(<= main_~j~0 3)} assume true; {6761#(<= main_~j~0 3)} is VALID [2018-11-14 19:11:14,002 INFO L273 TraceCheckUtils]: 16: Hoare triple {6761#(<= main_~j~0 3)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6761#(<= main_~j~0 3)} is VALID [2018-11-14 19:11:14,003 INFO L273 TraceCheckUtils]: 17: Hoare triple {6761#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6762#(<= main_~j~0 4)} is VALID [2018-11-14 19:11:14,004 INFO L273 TraceCheckUtils]: 18: Hoare triple {6762#(<= main_~j~0 4)} assume true; {6762#(<= main_~j~0 4)} is VALID [2018-11-14 19:11:14,004 INFO L273 TraceCheckUtils]: 19: Hoare triple {6762#(<= main_~j~0 4)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6762#(<= main_~j~0 4)} is VALID [2018-11-14 19:11:14,005 INFO L273 TraceCheckUtils]: 20: Hoare triple {6762#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6763#(<= main_~j~0 5)} is VALID [2018-11-14 19:11:14,005 INFO L273 TraceCheckUtils]: 21: Hoare triple {6763#(<= main_~j~0 5)} assume true; {6763#(<= main_~j~0 5)} is VALID [2018-11-14 19:11:14,006 INFO L273 TraceCheckUtils]: 22: Hoare triple {6763#(<= main_~j~0 5)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6763#(<= main_~j~0 5)} is VALID [2018-11-14 19:11:14,007 INFO L273 TraceCheckUtils]: 23: Hoare triple {6763#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6764#(<= main_~j~0 6)} is VALID [2018-11-14 19:11:14,007 INFO L273 TraceCheckUtils]: 24: Hoare triple {6764#(<= main_~j~0 6)} assume true; {6764#(<= main_~j~0 6)} is VALID [2018-11-14 19:11:14,008 INFO L273 TraceCheckUtils]: 25: Hoare triple {6764#(<= main_~j~0 6)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6764#(<= main_~j~0 6)} is VALID [2018-11-14 19:11:14,009 INFO L273 TraceCheckUtils]: 26: Hoare triple {6764#(<= main_~j~0 6)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6765#(<= main_~j~0 7)} is VALID [2018-11-14 19:11:14,009 INFO L273 TraceCheckUtils]: 27: Hoare triple {6765#(<= main_~j~0 7)} assume true; {6765#(<= main_~j~0 7)} is VALID [2018-11-14 19:11:14,010 INFO L273 TraceCheckUtils]: 28: Hoare triple {6765#(<= main_~j~0 7)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6765#(<= main_~j~0 7)} is VALID [2018-11-14 19:11:14,010 INFO L273 TraceCheckUtils]: 29: Hoare triple {6765#(<= main_~j~0 7)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6766#(<= main_~j~0 8)} is VALID [2018-11-14 19:11:14,011 INFO L273 TraceCheckUtils]: 30: Hoare triple {6766#(<= main_~j~0 8)} assume true; {6766#(<= main_~j~0 8)} is VALID [2018-11-14 19:11:14,011 INFO L273 TraceCheckUtils]: 31: Hoare triple {6766#(<= main_~j~0 8)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6766#(<= main_~j~0 8)} is VALID [2018-11-14 19:11:14,012 INFO L273 TraceCheckUtils]: 32: Hoare triple {6766#(<= main_~j~0 8)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6767#(<= main_~j~0 9)} is VALID [2018-11-14 19:11:14,013 INFO L273 TraceCheckUtils]: 33: Hoare triple {6767#(<= main_~j~0 9)} assume true; {6767#(<= main_~j~0 9)} is VALID [2018-11-14 19:11:14,013 INFO L273 TraceCheckUtils]: 34: Hoare triple {6767#(<= main_~j~0 9)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6767#(<= main_~j~0 9)} is VALID [2018-11-14 19:11:14,014 INFO L273 TraceCheckUtils]: 35: Hoare triple {6767#(<= main_~j~0 9)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6768#(<= main_~j~0 10)} is VALID [2018-11-14 19:11:14,015 INFO L273 TraceCheckUtils]: 36: Hoare triple {6768#(<= main_~j~0 10)} assume true; {6768#(<= main_~j~0 10)} is VALID [2018-11-14 19:11:14,015 INFO L273 TraceCheckUtils]: 37: Hoare triple {6768#(<= main_~j~0 10)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6768#(<= main_~j~0 10)} is VALID [2018-11-14 19:11:14,016 INFO L273 TraceCheckUtils]: 38: Hoare triple {6768#(<= main_~j~0 10)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6769#(<= main_~j~0 11)} is VALID [2018-11-14 19:11:14,016 INFO L273 TraceCheckUtils]: 39: Hoare triple {6769#(<= main_~j~0 11)} assume true; {6769#(<= main_~j~0 11)} is VALID [2018-11-14 19:11:14,017 INFO L273 TraceCheckUtils]: 40: Hoare triple {6769#(<= main_~j~0 11)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6769#(<= main_~j~0 11)} is VALID [2018-11-14 19:11:14,018 INFO L273 TraceCheckUtils]: 41: Hoare triple {6769#(<= main_~j~0 11)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6770#(<= main_~j~0 12)} is VALID [2018-11-14 19:11:14,018 INFO L273 TraceCheckUtils]: 42: Hoare triple {6770#(<= main_~j~0 12)} assume true; {6770#(<= main_~j~0 12)} is VALID [2018-11-14 19:11:14,019 INFO L273 TraceCheckUtils]: 43: Hoare triple {6770#(<= main_~j~0 12)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6770#(<= main_~j~0 12)} is VALID [2018-11-14 19:11:14,019 INFO L273 TraceCheckUtils]: 44: Hoare triple {6770#(<= main_~j~0 12)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6771#(<= main_~j~0 13)} is VALID [2018-11-14 19:11:14,020 INFO L273 TraceCheckUtils]: 45: Hoare triple {6771#(<= main_~j~0 13)} assume true; {6771#(<= main_~j~0 13)} is VALID [2018-11-14 19:11:14,021 INFO L273 TraceCheckUtils]: 46: Hoare triple {6771#(<= main_~j~0 13)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6771#(<= main_~j~0 13)} is VALID [2018-11-14 19:11:14,021 INFO L273 TraceCheckUtils]: 47: Hoare triple {6771#(<= main_~j~0 13)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6772#(<= main_~j~0 14)} is VALID [2018-11-14 19:11:14,022 INFO L273 TraceCheckUtils]: 48: Hoare triple {6772#(<= main_~j~0 14)} assume true; {6772#(<= main_~j~0 14)} is VALID [2018-11-14 19:11:14,022 INFO L273 TraceCheckUtils]: 49: Hoare triple {6772#(<= main_~j~0 14)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6772#(<= main_~j~0 14)} is VALID [2018-11-14 19:11:14,023 INFO L273 TraceCheckUtils]: 50: Hoare triple {6772#(<= main_~j~0 14)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6773#(<= main_~j~0 15)} is VALID [2018-11-14 19:11:14,024 INFO L273 TraceCheckUtils]: 51: Hoare triple {6773#(<= main_~j~0 15)} assume true; {6773#(<= main_~j~0 15)} is VALID [2018-11-14 19:11:14,024 INFO L273 TraceCheckUtils]: 52: Hoare triple {6773#(<= main_~j~0 15)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6773#(<= main_~j~0 15)} is VALID [2018-11-14 19:11:14,025 INFO L273 TraceCheckUtils]: 53: Hoare triple {6773#(<= main_~j~0 15)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6774#(<= main_~j~0 16)} is VALID [2018-11-14 19:11:14,026 INFO L273 TraceCheckUtils]: 54: Hoare triple {6774#(<= main_~j~0 16)} assume true; {6774#(<= main_~j~0 16)} is VALID [2018-11-14 19:11:14,026 INFO L273 TraceCheckUtils]: 55: Hoare triple {6774#(<= main_~j~0 16)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {6774#(<= main_~j~0 16)} is VALID [2018-11-14 19:11:14,027 INFO L273 TraceCheckUtils]: 56: Hoare triple {6774#(<= main_~j~0 16)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {6775#(<= main_~j~0 17)} is VALID [2018-11-14 19:11:14,027 INFO L273 TraceCheckUtils]: 57: Hoare triple {6775#(<= main_~j~0 17)} assume true; {6775#(<= main_~j~0 17)} is VALID [2018-11-14 19:11:14,028 INFO L273 TraceCheckUtils]: 58: Hoare triple {6775#(<= main_~j~0 17)} assume !(~j~0 < 20); {6757#false} is VALID [2018-11-14 19:11:14,028 INFO L273 TraceCheckUtils]: 59: Hoare triple {6757#false} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~i~0 := #t~nondet4;havoc #t~nondet4; {6757#false} is VALID [2018-11-14 19:11:14,029 INFO L273 TraceCheckUtils]: 60: Hoare triple {6757#false} assume ~i~0 >= 0 && ~i~0 < 10;~ad2~0.base, ~ad2~0.offset := ~#ad1~0.base, ~#ad1~0.offset;call write~int(~i~0, ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + ~i~0 * 8 + 0, 4);~i~0 := #t~mem5 + 10;havoc #t~mem5; {6757#false} is VALID [2018-11-14 19:11:14,029 INFO L273 TraceCheckUtils]: 61: Hoare triple {6757#false} assume true; {6757#false} is VALID [2018-11-14 19:11:14,029 INFO L273 TraceCheckUtils]: 62: Hoare triple {6757#false} call #t~mem6 := read~int(~pa~0.base, ~pa~0.offset, 4); {6757#false} is VALID [2018-11-14 19:11:14,029 INFO L273 TraceCheckUtils]: 63: Hoare triple {6757#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {6757#false} is VALID [2018-11-14 19:11:14,029 INFO L256 TraceCheckUtils]: 64: Hoare triple {6757#false} call #t~ret8 := check(~#ad1~0.base, ~#ad1~0.offset, ~i~0); {6757#false} is VALID [2018-11-14 19:11:14,030 INFO L273 TraceCheckUtils]: 65: Hoare triple {6757#false} ~ad1.base, ~ad1.offset := #in~ad1.base, #in~ad1.offset;~b := #in~b;call #t~mem0 := read~int(~ad1.base, ~ad1.offset + ~b * 8 + 0, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {6757#false} is VALID [2018-11-14 19:11:14,030 INFO L273 TraceCheckUtils]: 66: Hoare triple {6757#false} assume true; {6757#false} is VALID [2018-11-14 19:11:14,030 INFO L268 TraceCheckUtils]: 67: Hoare quadruple {6757#false} {6757#false} #59#return; {6757#false} is VALID [2018-11-14 19:11:14,030 INFO L273 TraceCheckUtils]: 68: Hoare triple {6757#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {6757#false} is VALID [2018-11-14 19:11:14,030 INFO L273 TraceCheckUtils]: 69: Hoare triple {6757#false} assume #t~ret8 == 0;havoc #t~ret8; {6757#false} is VALID [2018-11-14 19:11:14,031 INFO L273 TraceCheckUtils]: 70: Hoare triple {6757#false} assume !false; {6757#false} is VALID [2018-11-14 19:11:14,034 INFO L134 CoverageAnalysis]: Checked inductivity of 442 backedges. 0 proven. 442 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 19:11:14,057 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 19:11:14,058 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 20] total 21 [2018-11-14 19:11:14,058 INFO L78 Accepts]: Start accepts. Automaton has 21 states. Word has length 71 [2018-11-14 19:11:14,058 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 19:11:14,059 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states. [2018-11-14 19:11:14,135 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 19:11:14,135 INFO L459 AbstractCegarLoop]: Interpolant automaton has 21 states [2018-11-14 19:11:14,136 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2018-11-14 19:11:14,136 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=210, Invalid=210, Unknown=0, NotChecked=0, Total=420 [2018-11-14 19:11:14,136 INFO L87 Difference]: Start difference. First operand 72 states and 73 transitions. Second operand 21 states. [2018-11-14 19:11:14,598 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:11:14,598 INFO L93 Difference]: Finished difference Result 89 states and 91 transitions. [2018-11-14 19:11:14,598 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2018-11-14 19:11:14,599 INFO L78 Accepts]: Start accepts. Automaton has 21 states. Word has length 71 [2018-11-14 19:11:14,599 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 19:11:14,599 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-11-14 19:11:14,600 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 91 transitions. [2018-11-14 19:11:14,600 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-11-14 19:11:14,601 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 91 transitions. [2018-11-14 19:11:14,601 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states and 91 transitions. [2018-11-14 19:11:14,696 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 19:11:14,698 INFO L225 Difference]: With dead ends: 89 [2018-11-14 19:11:14,698 INFO L226 Difference]: Without dead ends: 76 [2018-11-14 19:11:14,699 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 90 GetRequests, 71 SyntacticMatches, 0 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=210, Invalid=210, Unknown=0, NotChecked=0, Total=420 [2018-11-14 19:11:14,699 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 76 states. [2018-11-14 19:11:14,818 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 76 to 75. [2018-11-14 19:11:14,818 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 19:11:14,818 INFO L82 GeneralOperation]: Start isEquivalent. First operand 76 states. Second operand 75 states. [2018-11-14 19:11:14,818 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand 75 states. [2018-11-14 19:11:14,818 INFO L87 Difference]: Start difference. First operand 76 states. Second operand 75 states. [2018-11-14 19:11:14,819 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:11:14,819 INFO L93 Difference]: Finished difference Result 76 states and 77 transitions. [2018-11-14 19:11:14,819 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 77 transitions. [2018-11-14 19:11:14,820 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 19:11:14,820 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 19:11:14,820 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand 76 states. [2018-11-14 19:11:14,820 INFO L87 Difference]: Start difference. First operand 75 states. Second operand 76 states. [2018-11-14 19:11:14,821 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:11:14,821 INFO L93 Difference]: Finished difference Result 76 states and 77 transitions. [2018-11-14 19:11:14,821 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 77 transitions. [2018-11-14 19:11:14,821 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 19:11:14,822 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 19:11:14,822 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 19:11:14,822 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 19:11:14,822 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 75 states. [2018-11-14 19:11:14,823 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 75 states to 75 states and 76 transitions. [2018-11-14 19:11:14,823 INFO L78 Accepts]: Start accepts. Automaton has 75 states and 76 transitions. Word has length 71 [2018-11-14 19:11:14,823 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 19:11:14,823 INFO L480 AbstractCegarLoop]: Abstraction has 75 states and 76 transitions. [2018-11-14 19:11:14,824 INFO L481 AbstractCegarLoop]: Interpolant automaton has 21 states. [2018-11-14 19:11:14,824 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 76 transitions. [2018-11-14 19:11:14,824 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2018-11-14 19:11:14,824 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 19:11:14,825 INFO L375 BasicCegarLoop]: trace histogram [19, 18, 18, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 19:11:14,825 INFO L423 AbstractCegarLoop]: === Iteration 20 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 19:11:14,825 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 19:11:14,825 INFO L82 PathProgramCache]: Analyzing trace with hash 2068646276, now seen corresponding path program 18 times [2018-11-14 19:11:14,825 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 19:11:14,825 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 19:11:14,826 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:11:14,826 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 19:11:14,826 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:11:14,841 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 19:11:15,299 INFO L256 TraceCheckUtils]: 0: Hoare triple {7363#true} call ULTIMATE.init(); {7363#true} is VALID [2018-11-14 19:11:15,299 INFO L273 TraceCheckUtils]: 1: Hoare triple {7363#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {7363#true} is VALID [2018-11-14 19:11:15,300 INFO L273 TraceCheckUtils]: 2: Hoare triple {7363#true} assume true; {7363#true} is VALID [2018-11-14 19:11:15,300 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7363#true} {7363#true} #55#return; {7363#true} is VALID [2018-11-14 19:11:15,300 INFO L256 TraceCheckUtils]: 4: Hoare triple {7363#true} call #t~ret9 := main(); {7363#true} is VALID [2018-11-14 19:11:15,301 INFO L273 TraceCheckUtils]: 5: Hoare triple {7363#true} call ~#ad1~0.base, ~#ad1~0.offset := #Ultimate.alloc(160);havoc ~ad2~0.base, ~ad2~0.offset;havoc ~i~0;havoc ~j~0;havoc ~pa~0.base, ~pa~0.offset;~j~0 := 0; {7365#(= main_~j~0 0)} is VALID [2018-11-14 19:11:15,301 INFO L273 TraceCheckUtils]: 6: Hoare triple {7365#(= main_~j~0 0)} assume true; {7365#(= main_~j~0 0)} is VALID [2018-11-14 19:11:15,302 INFO L273 TraceCheckUtils]: 7: Hoare triple {7365#(= main_~j~0 0)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {7365#(= main_~j~0 0)} is VALID [2018-11-14 19:11:15,302 INFO L273 TraceCheckUtils]: 8: Hoare triple {7365#(= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {7366#(<= main_~j~0 1)} is VALID [2018-11-14 19:11:15,303 INFO L273 TraceCheckUtils]: 9: Hoare triple {7366#(<= main_~j~0 1)} assume true; {7366#(<= main_~j~0 1)} is VALID [2018-11-14 19:11:15,303 INFO L273 TraceCheckUtils]: 10: Hoare triple {7366#(<= main_~j~0 1)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {7366#(<= main_~j~0 1)} is VALID [2018-11-14 19:11:15,304 INFO L273 TraceCheckUtils]: 11: Hoare triple {7366#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {7367#(<= main_~j~0 2)} is VALID [2018-11-14 19:11:15,305 INFO L273 TraceCheckUtils]: 12: Hoare triple {7367#(<= main_~j~0 2)} assume true; {7367#(<= main_~j~0 2)} is VALID [2018-11-14 19:11:15,305 INFO L273 TraceCheckUtils]: 13: Hoare triple {7367#(<= main_~j~0 2)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {7367#(<= main_~j~0 2)} is VALID [2018-11-14 19:11:15,306 INFO L273 TraceCheckUtils]: 14: Hoare triple {7367#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {7368#(<= main_~j~0 3)} is VALID [2018-11-14 19:11:15,307 INFO L273 TraceCheckUtils]: 15: Hoare triple {7368#(<= main_~j~0 3)} assume true; {7368#(<= main_~j~0 3)} is VALID [2018-11-14 19:11:15,307 INFO L273 TraceCheckUtils]: 16: Hoare triple {7368#(<= main_~j~0 3)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {7368#(<= main_~j~0 3)} is VALID [2018-11-14 19:11:15,308 INFO L273 TraceCheckUtils]: 17: Hoare triple {7368#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {7369#(<= main_~j~0 4)} is VALID [2018-11-14 19:11:15,308 INFO L273 TraceCheckUtils]: 18: Hoare triple {7369#(<= main_~j~0 4)} assume true; {7369#(<= main_~j~0 4)} is VALID [2018-11-14 19:11:15,309 INFO L273 TraceCheckUtils]: 19: Hoare triple {7369#(<= main_~j~0 4)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {7369#(<= main_~j~0 4)} is VALID [2018-11-14 19:11:15,310 INFO L273 TraceCheckUtils]: 20: Hoare triple {7369#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {7370#(<= main_~j~0 5)} is VALID [2018-11-14 19:11:15,310 INFO L273 TraceCheckUtils]: 21: Hoare triple {7370#(<= main_~j~0 5)} assume true; {7370#(<= main_~j~0 5)} is VALID [2018-11-14 19:11:15,311 INFO L273 TraceCheckUtils]: 22: Hoare triple {7370#(<= main_~j~0 5)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {7370#(<= main_~j~0 5)} is VALID [2018-11-14 19:11:15,311 INFO L273 TraceCheckUtils]: 23: Hoare triple {7370#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {7371#(<= main_~j~0 6)} is VALID [2018-11-14 19:11:15,312 INFO L273 TraceCheckUtils]: 24: Hoare triple {7371#(<= main_~j~0 6)} assume true; {7371#(<= main_~j~0 6)} is VALID [2018-11-14 19:11:15,313 INFO L273 TraceCheckUtils]: 25: Hoare triple {7371#(<= main_~j~0 6)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {7371#(<= main_~j~0 6)} is VALID [2018-11-14 19:11:15,313 INFO L273 TraceCheckUtils]: 26: Hoare triple {7371#(<= main_~j~0 6)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {7372#(<= main_~j~0 7)} is VALID [2018-11-14 19:11:15,314 INFO L273 TraceCheckUtils]: 27: Hoare triple {7372#(<= main_~j~0 7)} assume true; {7372#(<= main_~j~0 7)} is VALID [2018-11-14 19:11:15,314 INFO L273 TraceCheckUtils]: 28: Hoare triple {7372#(<= main_~j~0 7)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {7372#(<= main_~j~0 7)} is VALID [2018-11-14 19:11:15,315 INFO L273 TraceCheckUtils]: 29: Hoare triple {7372#(<= main_~j~0 7)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {7373#(<= main_~j~0 8)} is VALID [2018-11-14 19:11:15,316 INFO L273 TraceCheckUtils]: 30: Hoare triple {7373#(<= main_~j~0 8)} assume true; {7373#(<= main_~j~0 8)} is VALID [2018-11-14 19:11:15,316 INFO L273 TraceCheckUtils]: 31: Hoare triple {7373#(<= main_~j~0 8)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {7373#(<= main_~j~0 8)} is VALID [2018-11-14 19:11:15,317 INFO L273 TraceCheckUtils]: 32: Hoare triple {7373#(<= main_~j~0 8)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {7374#(<= main_~j~0 9)} is VALID [2018-11-14 19:11:15,317 INFO L273 TraceCheckUtils]: 33: Hoare triple {7374#(<= main_~j~0 9)} assume true; {7374#(<= main_~j~0 9)} is VALID [2018-11-14 19:11:15,318 INFO L273 TraceCheckUtils]: 34: Hoare triple {7374#(<= main_~j~0 9)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {7374#(<= main_~j~0 9)} is VALID [2018-11-14 19:11:15,319 INFO L273 TraceCheckUtils]: 35: Hoare triple {7374#(<= main_~j~0 9)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {7375#(<= main_~j~0 10)} is VALID [2018-11-14 19:11:15,319 INFO L273 TraceCheckUtils]: 36: Hoare triple {7375#(<= main_~j~0 10)} assume true; {7375#(<= main_~j~0 10)} is VALID [2018-11-14 19:11:15,320 INFO L273 TraceCheckUtils]: 37: Hoare triple {7375#(<= main_~j~0 10)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {7375#(<= main_~j~0 10)} is VALID [2018-11-14 19:11:15,321 INFO L273 TraceCheckUtils]: 38: Hoare triple {7375#(<= main_~j~0 10)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {7376#(<= main_~j~0 11)} is VALID [2018-11-14 19:11:15,321 INFO L273 TraceCheckUtils]: 39: Hoare triple {7376#(<= main_~j~0 11)} assume true; {7376#(<= main_~j~0 11)} is VALID [2018-11-14 19:11:15,322 INFO L273 TraceCheckUtils]: 40: Hoare triple {7376#(<= main_~j~0 11)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {7376#(<= main_~j~0 11)} is VALID [2018-11-14 19:11:15,322 INFO L273 TraceCheckUtils]: 41: Hoare triple {7376#(<= main_~j~0 11)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {7377#(<= main_~j~0 12)} is VALID [2018-11-14 19:11:15,334 INFO L273 TraceCheckUtils]: 42: Hoare triple {7377#(<= main_~j~0 12)} assume true; {7377#(<= main_~j~0 12)} is VALID [2018-11-14 19:11:15,335 INFO L273 TraceCheckUtils]: 43: Hoare triple {7377#(<= main_~j~0 12)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {7377#(<= main_~j~0 12)} is VALID [2018-11-14 19:11:15,336 INFO L273 TraceCheckUtils]: 44: Hoare triple {7377#(<= main_~j~0 12)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {7378#(<= main_~j~0 13)} is VALID [2018-11-14 19:11:15,336 INFO L273 TraceCheckUtils]: 45: Hoare triple {7378#(<= main_~j~0 13)} assume true; {7378#(<= main_~j~0 13)} is VALID [2018-11-14 19:11:15,336 INFO L273 TraceCheckUtils]: 46: Hoare triple {7378#(<= main_~j~0 13)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {7378#(<= main_~j~0 13)} is VALID [2018-11-14 19:11:15,337 INFO L273 TraceCheckUtils]: 47: Hoare triple {7378#(<= main_~j~0 13)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {7379#(<= main_~j~0 14)} is VALID [2018-11-14 19:11:15,337 INFO L273 TraceCheckUtils]: 48: Hoare triple {7379#(<= main_~j~0 14)} assume true; {7379#(<= main_~j~0 14)} is VALID [2018-11-14 19:11:15,337 INFO L273 TraceCheckUtils]: 49: Hoare triple {7379#(<= main_~j~0 14)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {7379#(<= main_~j~0 14)} is VALID [2018-11-14 19:11:15,338 INFO L273 TraceCheckUtils]: 50: Hoare triple {7379#(<= main_~j~0 14)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {7380#(<= main_~j~0 15)} is VALID [2018-11-14 19:11:15,338 INFO L273 TraceCheckUtils]: 51: Hoare triple {7380#(<= main_~j~0 15)} assume true; {7380#(<= main_~j~0 15)} is VALID [2018-11-14 19:11:15,339 INFO L273 TraceCheckUtils]: 52: Hoare triple {7380#(<= main_~j~0 15)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {7380#(<= main_~j~0 15)} is VALID [2018-11-14 19:11:15,339 INFO L273 TraceCheckUtils]: 53: Hoare triple {7380#(<= main_~j~0 15)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {7381#(<= main_~j~0 16)} is VALID [2018-11-14 19:11:15,340 INFO L273 TraceCheckUtils]: 54: Hoare triple {7381#(<= main_~j~0 16)} assume true; {7381#(<= main_~j~0 16)} is VALID [2018-11-14 19:11:15,340 INFO L273 TraceCheckUtils]: 55: Hoare triple {7381#(<= main_~j~0 16)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {7381#(<= main_~j~0 16)} is VALID [2018-11-14 19:11:15,341 INFO L273 TraceCheckUtils]: 56: Hoare triple {7381#(<= main_~j~0 16)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {7382#(<= main_~j~0 17)} is VALID [2018-11-14 19:11:15,342 INFO L273 TraceCheckUtils]: 57: Hoare triple {7382#(<= main_~j~0 17)} assume true; {7382#(<= main_~j~0 17)} is VALID [2018-11-14 19:11:15,342 INFO L273 TraceCheckUtils]: 58: Hoare triple {7382#(<= main_~j~0 17)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {7382#(<= main_~j~0 17)} is VALID [2018-11-14 19:11:15,343 INFO L273 TraceCheckUtils]: 59: Hoare triple {7382#(<= main_~j~0 17)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {7383#(<= main_~j~0 18)} is VALID [2018-11-14 19:11:15,344 INFO L273 TraceCheckUtils]: 60: Hoare triple {7383#(<= main_~j~0 18)} assume true; {7383#(<= main_~j~0 18)} is VALID [2018-11-14 19:11:15,344 INFO L273 TraceCheckUtils]: 61: Hoare triple {7383#(<= main_~j~0 18)} assume !(~j~0 < 20); {7364#false} is VALID [2018-11-14 19:11:15,345 INFO L273 TraceCheckUtils]: 62: Hoare triple {7364#false} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~i~0 := #t~nondet4;havoc #t~nondet4; {7364#false} is VALID [2018-11-14 19:11:15,345 INFO L273 TraceCheckUtils]: 63: Hoare triple {7364#false} assume ~i~0 >= 0 && ~i~0 < 10;~ad2~0.base, ~ad2~0.offset := ~#ad1~0.base, ~#ad1~0.offset;call write~int(~i~0, ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + ~i~0 * 8 + 0, 4);~i~0 := #t~mem5 + 10;havoc #t~mem5; {7364#false} is VALID [2018-11-14 19:11:15,345 INFO L273 TraceCheckUtils]: 64: Hoare triple {7364#false} assume true; {7364#false} is VALID [2018-11-14 19:11:15,345 INFO L273 TraceCheckUtils]: 65: Hoare triple {7364#false} call #t~mem6 := read~int(~pa~0.base, ~pa~0.offset, 4); {7364#false} is VALID [2018-11-14 19:11:15,345 INFO L273 TraceCheckUtils]: 66: Hoare triple {7364#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {7364#false} is VALID [2018-11-14 19:11:15,346 INFO L256 TraceCheckUtils]: 67: Hoare triple {7364#false} call #t~ret8 := check(~#ad1~0.base, ~#ad1~0.offset, ~i~0); {7363#true} is VALID [2018-11-14 19:11:15,346 INFO L273 TraceCheckUtils]: 68: Hoare triple {7363#true} ~ad1.base, ~ad1.offset := #in~ad1.base, #in~ad1.offset;~b := #in~b;call #t~mem0 := read~int(~ad1.base, ~ad1.offset + ~b * 8 + 0, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {7363#true} is VALID [2018-11-14 19:11:15,346 INFO L273 TraceCheckUtils]: 69: Hoare triple {7363#true} assume true; {7363#true} is VALID [2018-11-14 19:11:15,346 INFO L268 TraceCheckUtils]: 70: Hoare quadruple {7363#true} {7364#false} #59#return; {7364#false} is VALID [2018-11-14 19:11:15,346 INFO L273 TraceCheckUtils]: 71: Hoare triple {7364#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {7364#false} is VALID [2018-11-14 19:11:15,347 INFO L273 TraceCheckUtils]: 72: Hoare triple {7364#false} assume #t~ret8 == 0;havoc #t~ret8; {7364#false} is VALID [2018-11-14 19:11:15,347 INFO L273 TraceCheckUtils]: 73: Hoare triple {7364#false} assume !false; {7364#false} is VALID [2018-11-14 19:11:15,351 INFO L134 CoverageAnalysis]: Checked inductivity of 495 backedges. 0 proven. 495 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 19:11:15,351 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 19:11:15,351 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 19 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 19 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-14 19:11:15,361 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-14 19:11:25,150 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 19 check-sat command(s) [2018-11-14 19:11:25,151 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 19:11:25,174 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 19:11:25,176 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 19:11:25,476 INFO L256 TraceCheckUtils]: 0: Hoare triple {7363#true} call ULTIMATE.init(); {7363#true} is VALID [2018-11-14 19:11:25,476 INFO L273 TraceCheckUtils]: 1: Hoare triple {7363#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {7363#true} is VALID [2018-11-14 19:11:25,477 INFO L273 TraceCheckUtils]: 2: Hoare triple {7363#true} assume true; {7363#true} is VALID [2018-11-14 19:11:25,477 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7363#true} {7363#true} #55#return; {7363#true} is VALID [2018-11-14 19:11:25,477 INFO L256 TraceCheckUtils]: 4: Hoare triple {7363#true} call #t~ret9 := main(); {7363#true} is VALID [2018-11-14 19:11:25,478 INFO L273 TraceCheckUtils]: 5: Hoare triple {7363#true} call ~#ad1~0.base, ~#ad1~0.offset := #Ultimate.alloc(160);havoc ~ad2~0.base, ~ad2~0.offset;havoc ~i~0;havoc ~j~0;havoc ~pa~0.base, ~pa~0.offset;~j~0 := 0; {7402#(<= main_~j~0 0)} is VALID [2018-11-14 19:11:25,478 INFO L273 TraceCheckUtils]: 6: Hoare triple {7402#(<= main_~j~0 0)} assume true; {7402#(<= main_~j~0 0)} is VALID [2018-11-14 19:11:25,478 INFO L273 TraceCheckUtils]: 7: Hoare triple {7402#(<= main_~j~0 0)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {7402#(<= main_~j~0 0)} is VALID [2018-11-14 19:11:25,479 INFO L273 TraceCheckUtils]: 8: Hoare triple {7402#(<= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {7366#(<= main_~j~0 1)} is VALID [2018-11-14 19:11:25,479 INFO L273 TraceCheckUtils]: 9: Hoare triple {7366#(<= main_~j~0 1)} assume true; {7366#(<= main_~j~0 1)} is VALID [2018-11-14 19:11:25,479 INFO L273 TraceCheckUtils]: 10: Hoare triple {7366#(<= main_~j~0 1)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {7366#(<= main_~j~0 1)} is VALID [2018-11-14 19:11:25,480 INFO L273 TraceCheckUtils]: 11: Hoare triple {7366#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {7367#(<= main_~j~0 2)} is VALID [2018-11-14 19:11:25,480 INFO L273 TraceCheckUtils]: 12: Hoare triple {7367#(<= main_~j~0 2)} assume true; {7367#(<= main_~j~0 2)} is VALID [2018-11-14 19:11:25,481 INFO L273 TraceCheckUtils]: 13: Hoare triple {7367#(<= main_~j~0 2)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {7367#(<= main_~j~0 2)} is VALID [2018-11-14 19:11:25,481 INFO L273 TraceCheckUtils]: 14: Hoare triple {7367#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {7368#(<= main_~j~0 3)} is VALID [2018-11-14 19:11:25,481 INFO L273 TraceCheckUtils]: 15: Hoare triple {7368#(<= main_~j~0 3)} assume true; {7368#(<= main_~j~0 3)} is VALID [2018-11-14 19:11:25,482 INFO L273 TraceCheckUtils]: 16: Hoare triple {7368#(<= main_~j~0 3)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {7368#(<= main_~j~0 3)} is VALID [2018-11-14 19:11:25,483 INFO L273 TraceCheckUtils]: 17: Hoare triple {7368#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {7369#(<= main_~j~0 4)} is VALID [2018-11-14 19:11:25,483 INFO L273 TraceCheckUtils]: 18: Hoare triple {7369#(<= main_~j~0 4)} assume true; {7369#(<= main_~j~0 4)} is VALID [2018-11-14 19:11:25,484 INFO L273 TraceCheckUtils]: 19: Hoare triple {7369#(<= main_~j~0 4)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {7369#(<= main_~j~0 4)} is VALID [2018-11-14 19:11:25,485 INFO L273 TraceCheckUtils]: 20: Hoare triple {7369#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {7370#(<= main_~j~0 5)} is VALID [2018-11-14 19:11:25,485 INFO L273 TraceCheckUtils]: 21: Hoare triple {7370#(<= main_~j~0 5)} assume true; {7370#(<= main_~j~0 5)} is VALID [2018-11-14 19:11:25,486 INFO L273 TraceCheckUtils]: 22: Hoare triple {7370#(<= main_~j~0 5)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {7370#(<= main_~j~0 5)} is VALID [2018-11-14 19:11:25,486 INFO L273 TraceCheckUtils]: 23: Hoare triple {7370#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {7371#(<= main_~j~0 6)} is VALID [2018-11-14 19:11:25,487 INFO L273 TraceCheckUtils]: 24: Hoare triple {7371#(<= main_~j~0 6)} assume true; {7371#(<= main_~j~0 6)} is VALID [2018-11-14 19:11:25,487 INFO L273 TraceCheckUtils]: 25: Hoare triple {7371#(<= main_~j~0 6)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {7371#(<= main_~j~0 6)} is VALID [2018-11-14 19:11:25,488 INFO L273 TraceCheckUtils]: 26: Hoare triple {7371#(<= main_~j~0 6)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {7372#(<= main_~j~0 7)} is VALID [2018-11-14 19:11:25,489 INFO L273 TraceCheckUtils]: 27: Hoare triple {7372#(<= main_~j~0 7)} assume true; {7372#(<= main_~j~0 7)} is VALID [2018-11-14 19:11:25,489 INFO L273 TraceCheckUtils]: 28: Hoare triple {7372#(<= main_~j~0 7)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {7372#(<= main_~j~0 7)} is VALID [2018-11-14 19:11:25,490 INFO L273 TraceCheckUtils]: 29: Hoare triple {7372#(<= main_~j~0 7)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {7373#(<= main_~j~0 8)} is VALID [2018-11-14 19:11:25,490 INFO L273 TraceCheckUtils]: 30: Hoare triple {7373#(<= main_~j~0 8)} assume true; {7373#(<= main_~j~0 8)} is VALID [2018-11-14 19:11:25,491 INFO L273 TraceCheckUtils]: 31: Hoare triple {7373#(<= main_~j~0 8)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {7373#(<= main_~j~0 8)} is VALID [2018-11-14 19:11:25,491 INFO L273 TraceCheckUtils]: 32: Hoare triple {7373#(<= main_~j~0 8)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {7374#(<= main_~j~0 9)} is VALID [2018-11-14 19:11:25,492 INFO L273 TraceCheckUtils]: 33: Hoare triple {7374#(<= main_~j~0 9)} assume true; {7374#(<= main_~j~0 9)} is VALID [2018-11-14 19:11:25,492 INFO L273 TraceCheckUtils]: 34: Hoare triple {7374#(<= main_~j~0 9)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {7374#(<= main_~j~0 9)} is VALID [2018-11-14 19:11:25,493 INFO L273 TraceCheckUtils]: 35: Hoare triple {7374#(<= main_~j~0 9)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {7375#(<= main_~j~0 10)} is VALID [2018-11-14 19:11:25,494 INFO L273 TraceCheckUtils]: 36: Hoare triple {7375#(<= main_~j~0 10)} assume true; {7375#(<= main_~j~0 10)} is VALID [2018-11-14 19:11:25,494 INFO L273 TraceCheckUtils]: 37: Hoare triple {7375#(<= main_~j~0 10)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {7375#(<= main_~j~0 10)} is VALID [2018-11-14 19:11:25,495 INFO L273 TraceCheckUtils]: 38: Hoare triple {7375#(<= main_~j~0 10)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {7376#(<= main_~j~0 11)} is VALID [2018-11-14 19:11:25,495 INFO L273 TraceCheckUtils]: 39: Hoare triple {7376#(<= main_~j~0 11)} assume true; {7376#(<= main_~j~0 11)} is VALID [2018-11-14 19:11:25,496 INFO L273 TraceCheckUtils]: 40: Hoare triple {7376#(<= main_~j~0 11)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {7376#(<= main_~j~0 11)} is VALID [2018-11-14 19:11:25,497 INFO L273 TraceCheckUtils]: 41: Hoare triple {7376#(<= main_~j~0 11)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {7377#(<= main_~j~0 12)} is VALID [2018-11-14 19:11:25,497 INFO L273 TraceCheckUtils]: 42: Hoare triple {7377#(<= main_~j~0 12)} assume true; {7377#(<= main_~j~0 12)} is VALID [2018-11-14 19:11:25,498 INFO L273 TraceCheckUtils]: 43: Hoare triple {7377#(<= main_~j~0 12)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {7377#(<= main_~j~0 12)} is VALID [2018-11-14 19:11:25,498 INFO L273 TraceCheckUtils]: 44: Hoare triple {7377#(<= main_~j~0 12)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {7378#(<= main_~j~0 13)} is VALID [2018-11-14 19:11:25,499 INFO L273 TraceCheckUtils]: 45: Hoare triple {7378#(<= main_~j~0 13)} assume true; {7378#(<= main_~j~0 13)} is VALID [2018-11-14 19:11:25,499 INFO L273 TraceCheckUtils]: 46: Hoare triple {7378#(<= main_~j~0 13)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {7378#(<= main_~j~0 13)} is VALID [2018-11-14 19:11:25,500 INFO L273 TraceCheckUtils]: 47: Hoare triple {7378#(<= main_~j~0 13)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {7379#(<= main_~j~0 14)} is VALID [2018-11-14 19:11:25,501 INFO L273 TraceCheckUtils]: 48: Hoare triple {7379#(<= main_~j~0 14)} assume true; {7379#(<= main_~j~0 14)} is VALID [2018-11-14 19:11:25,501 INFO L273 TraceCheckUtils]: 49: Hoare triple {7379#(<= main_~j~0 14)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {7379#(<= main_~j~0 14)} is VALID [2018-11-14 19:11:25,502 INFO L273 TraceCheckUtils]: 50: Hoare triple {7379#(<= main_~j~0 14)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {7380#(<= main_~j~0 15)} is VALID [2018-11-14 19:11:25,502 INFO L273 TraceCheckUtils]: 51: Hoare triple {7380#(<= main_~j~0 15)} assume true; {7380#(<= main_~j~0 15)} is VALID [2018-11-14 19:11:25,503 INFO L273 TraceCheckUtils]: 52: Hoare triple {7380#(<= main_~j~0 15)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {7380#(<= main_~j~0 15)} is VALID [2018-11-14 19:11:25,504 INFO L273 TraceCheckUtils]: 53: Hoare triple {7380#(<= main_~j~0 15)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {7381#(<= main_~j~0 16)} is VALID [2018-11-14 19:11:25,504 INFO L273 TraceCheckUtils]: 54: Hoare triple {7381#(<= main_~j~0 16)} assume true; {7381#(<= main_~j~0 16)} is VALID [2018-11-14 19:11:25,505 INFO L273 TraceCheckUtils]: 55: Hoare triple {7381#(<= main_~j~0 16)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {7381#(<= main_~j~0 16)} is VALID [2018-11-14 19:11:25,505 INFO L273 TraceCheckUtils]: 56: Hoare triple {7381#(<= main_~j~0 16)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {7382#(<= main_~j~0 17)} is VALID [2018-11-14 19:11:25,506 INFO L273 TraceCheckUtils]: 57: Hoare triple {7382#(<= main_~j~0 17)} assume true; {7382#(<= main_~j~0 17)} is VALID [2018-11-14 19:11:25,506 INFO L273 TraceCheckUtils]: 58: Hoare triple {7382#(<= main_~j~0 17)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {7382#(<= main_~j~0 17)} is VALID [2018-11-14 19:11:25,507 INFO L273 TraceCheckUtils]: 59: Hoare triple {7382#(<= main_~j~0 17)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {7383#(<= main_~j~0 18)} is VALID [2018-11-14 19:11:25,508 INFO L273 TraceCheckUtils]: 60: Hoare triple {7383#(<= main_~j~0 18)} assume true; {7383#(<= main_~j~0 18)} is VALID [2018-11-14 19:11:25,508 INFO L273 TraceCheckUtils]: 61: Hoare triple {7383#(<= main_~j~0 18)} assume !(~j~0 < 20); {7364#false} is VALID [2018-11-14 19:11:25,509 INFO L273 TraceCheckUtils]: 62: Hoare triple {7364#false} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~i~0 := #t~nondet4;havoc #t~nondet4; {7364#false} is VALID [2018-11-14 19:11:25,509 INFO L273 TraceCheckUtils]: 63: Hoare triple {7364#false} assume ~i~0 >= 0 && ~i~0 < 10;~ad2~0.base, ~ad2~0.offset := ~#ad1~0.base, ~#ad1~0.offset;call write~int(~i~0, ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + ~i~0 * 8 + 0, 4);~i~0 := #t~mem5 + 10;havoc #t~mem5; {7364#false} is VALID [2018-11-14 19:11:25,509 INFO L273 TraceCheckUtils]: 64: Hoare triple {7364#false} assume true; {7364#false} is VALID [2018-11-14 19:11:25,509 INFO L273 TraceCheckUtils]: 65: Hoare triple {7364#false} call #t~mem6 := read~int(~pa~0.base, ~pa~0.offset, 4); {7364#false} is VALID [2018-11-14 19:11:25,509 INFO L273 TraceCheckUtils]: 66: Hoare triple {7364#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {7364#false} is VALID [2018-11-14 19:11:25,509 INFO L256 TraceCheckUtils]: 67: Hoare triple {7364#false} call #t~ret8 := check(~#ad1~0.base, ~#ad1~0.offset, ~i~0); {7364#false} is VALID [2018-11-14 19:11:25,510 INFO L273 TraceCheckUtils]: 68: Hoare triple {7364#false} ~ad1.base, ~ad1.offset := #in~ad1.base, #in~ad1.offset;~b := #in~b;call #t~mem0 := read~int(~ad1.base, ~ad1.offset + ~b * 8 + 0, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {7364#false} is VALID [2018-11-14 19:11:25,510 INFO L273 TraceCheckUtils]: 69: Hoare triple {7364#false} assume true; {7364#false} is VALID [2018-11-14 19:11:25,510 INFO L268 TraceCheckUtils]: 70: Hoare quadruple {7364#false} {7364#false} #59#return; {7364#false} is VALID [2018-11-14 19:11:25,510 INFO L273 TraceCheckUtils]: 71: Hoare triple {7364#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {7364#false} is VALID [2018-11-14 19:11:25,510 INFO L273 TraceCheckUtils]: 72: Hoare triple {7364#false} assume #t~ret8 == 0;havoc #t~ret8; {7364#false} is VALID [2018-11-14 19:11:25,510 INFO L273 TraceCheckUtils]: 73: Hoare triple {7364#false} assume !false; {7364#false} is VALID [2018-11-14 19:11:25,514 INFO L134 CoverageAnalysis]: Checked inductivity of 495 backedges. 0 proven. 495 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 19:11:25,537 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 19:11:25,538 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 21] total 22 [2018-11-14 19:11:25,538 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 74 [2018-11-14 19:11:25,538 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 19:11:25,538 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states. [2018-11-14 19:11:25,615 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 19:11:25,615 INFO L459 AbstractCegarLoop]: Interpolant automaton has 22 states [2018-11-14 19:11:25,616 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2018-11-14 19:11:25,616 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=231, Invalid=231, Unknown=0, NotChecked=0, Total=462 [2018-11-14 19:11:25,616 INFO L87 Difference]: Start difference. First operand 75 states and 76 transitions. Second operand 22 states. [2018-11-14 19:11:26,027 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:11:26,027 INFO L93 Difference]: Finished difference Result 92 states and 94 transitions. [2018-11-14 19:11:26,027 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2018-11-14 19:11:26,028 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 74 [2018-11-14 19:11:26,028 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 19:11:26,028 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2018-11-14 19:11:26,029 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 94 transitions. [2018-11-14 19:11:26,029 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2018-11-14 19:11:26,030 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 94 transitions. [2018-11-14 19:11:26,030 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 94 transitions. [2018-11-14 19:11:26,289 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-14 19:11:26,290 INFO L225 Difference]: With dead ends: 92 [2018-11-14 19:11:26,291 INFO L226 Difference]: Without dead ends: 79 [2018-11-14 19:11:26,291 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 94 GetRequests, 74 SyntacticMatches, 0 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=231, Invalid=231, Unknown=0, NotChecked=0, Total=462 [2018-11-14 19:11:26,292 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 79 states. [2018-11-14 19:11:26,308 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 79 to 78. [2018-11-14 19:11:26,308 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 19:11:26,308 INFO L82 GeneralOperation]: Start isEquivalent. First operand 79 states. Second operand 78 states. [2018-11-14 19:11:26,308 INFO L74 IsIncluded]: Start isIncluded. First operand 79 states. Second operand 78 states. [2018-11-14 19:11:26,308 INFO L87 Difference]: Start difference. First operand 79 states. Second operand 78 states. [2018-11-14 19:11:26,309 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:11:26,310 INFO L93 Difference]: Finished difference Result 79 states and 80 transitions. [2018-11-14 19:11:26,310 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 80 transitions. [2018-11-14 19:11:26,310 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 19:11:26,310 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 19:11:26,310 INFO L74 IsIncluded]: Start isIncluded. First operand 78 states. Second operand 79 states. [2018-11-14 19:11:26,310 INFO L87 Difference]: Start difference. First operand 78 states. Second operand 79 states. [2018-11-14 19:11:26,311 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:11:26,311 INFO L93 Difference]: Finished difference Result 79 states and 80 transitions. [2018-11-14 19:11:26,312 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 80 transitions. [2018-11-14 19:11:26,312 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 19:11:26,312 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 19:11:26,312 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 19:11:26,312 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 19:11:26,312 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 78 states. [2018-11-14 19:11:26,314 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 79 transitions. [2018-11-14 19:11:26,314 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 79 transitions. Word has length 74 [2018-11-14 19:11:26,314 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 19:11:26,314 INFO L480 AbstractCegarLoop]: Abstraction has 78 states and 79 transitions. [2018-11-14 19:11:26,314 INFO L481 AbstractCegarLoop]: Interpolant automaton has 22 states. [2018-11-14 19:11:26,314 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 79 transitions. [2018-11-14 19:11:26,315 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 78 [2018-11-14 19:11:26,315 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 19:11:26,315 INFO L375 BasicCegarLoop]: trace histogram [20, 19, 19, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 19:11:26,316 INFO L423 AbstractCegarLoop]: === Iteration 21 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 19:11:26,316 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 19:11:26,316 INFO L82 PathProgramCache]: Analyzing trace with hash -1511360013, now seen corresponding path program 19 times [2018-11-14 19:11:26,316 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 19:11:26,316 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 19:11:26,317 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:11:26,317 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 19:11:26,317 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:11:26,332 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 19:11:26,904 INFO L256 TraceCheckUtils]: 0: Hoare triple {7994#true} call ULTIMATE.init(); {7994#true} is VALID [2018-11-14 19:11:26,904 INFO L273 TraceCheckUtils]: 1: Hoare triple {7994#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {7994#true} is VALID [2018-11-14 19:11:26,905 INFO L273 TraceCheckUtils]: 2: Hoare triple {7994#true} assume true; {7994#true} is VALID [2018-11-14 19:11:26,905 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7994#true} {7994#true} #55#return; {7994#true} is VALID [2018-11-14 19:11:26,905 INFO L256 TraceCheckUtils]: 4: Hoare triple {7994#true} call #t~ret9 := main(); {7994#true} is VALID [2018-11-14 19:11:26,925 INFO L273 TraceCheckUtils]: 5: Hoare triple {7994#true} call ~#ad1~0.base, ~#ad1~0.offset := #Ultimate.alloc(160);havoc ~ad2~0.base, ~ad2~0.offset;havoc ~i~0;havoc ~j~0;havoc ~pa~0.base, ~pa~0.offset;~j~0 := 0; {7996#(= main_~j~0 0)} is VALID [2018-11-14 19:11:26,925 INFO L273 TraceCheckUtils]: 6: Hoare triple {7996#(= main_~j~0 0)} assume true; {7996#(= main_~j~0 0)} is VALID [2018-11-14 19:11:26,925 INFO L273 TraceCheckUtils]: 7: Hoare triple {7996#(= main_~j~0 0)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {7996#(= main_~j~0 0)} is VALID [2018-11-14 19:11:26,926 INFO L273 TraceCheckUtils]: 8: Hoare triple {7996#(= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {7997#(<= main_~j~0 1)} is VALID [2018-11-14 19:11:26,926 INFO L273 TraceCheckUtils]: 9: Hoare triple {7997#(<= main_~j~0 1)} assume true; {7997#(<= main_~j~0 1)} is VALID [2018-11-14 19:11:26,926 INFO L273 TraceCheckUtils]: 10: Hoare triple {7997#(<= main_~j~0 1)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {7997#(<= main_~j~0 1)} is VALID [2018-11-14 19:11:26,927 INFO L273 TraceCheckUtils]: 11: Hoare triple {7997#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {7998#(<= main_~j~0 2)} is VALID [2018-11-14 19:11:26,927 INFO L273 TraceCheckUtils]: 12: Hoare triple {7998#(<= main_~j~0 2)} assume true; {7998#(<= main_~j~0 2)} is VALID [2018-11-14 19:11:26,928 INFO L273 TraceCheckUtils]: 13: Hoare triple {7998#(<= main_~j~0 2)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {7998#(<= main_~j~0 2)} is VALID [2018-11-14 19:11:26,929 INFO L273 TraceCheckUtils]: 14: Hoare triple {7998#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {7999#(<= main_~j~0 3)} is VALID [2018-11-14 19:11:26,929 INFO L273 TraceCheckUtils]: 15: Hoare triple {7999#(<= main_~j~0 3)} assume true; {7999#(<= main_~j~0 3)} is VALID [2018-11-14 19:11:26,930 INFO L273 TraceCheckUtils]: 16: Hoare triple {7999#(<= main_~j~0 3)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {7999#(<= main_~j~0 3)} is VALID [2018-11-14 19:11:26,931 INFO L273 TraceCheckUtils]: 17: Hoare triple {7999#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {8000#(<= main_~j~0 4)} is VALID [2018-11-14 19:11:26,931 INFO L273 TraceCheckUtils]: 18: Hoare triple {8000#(<= main_~j~0 4)} assume true; {8000#(<= main_~j~0 4)} is VALID [2018-11-14 19:11:26,932 INFO L273 TraceCheckUtils]: 19: Hoare triple {8000#(<= main_~j~0 4)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {8000#(<= main_~j~0 4)} is VALID [2018-11-14 19:11:26,932 INFO L273 TraceCheckUtils]: 20: Hoare triple {8000#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {8001#(<= main_~j~0 5)} is VALID [2018-11-14 19:11:26,933 INFO L273 TraceCheckUtils]: 21: Hoare triple {8001#(<= main_~j~0 5)} assume true; {8001#(<= main_~j~0 5)} is VALID [2018-11-14 19:11:26,933 INFO L273 TraceCheckUtils]: 22: Hoare triple {8001#(<= main_~j~0 5)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {8001#(<= main_~j~0 5)} is VALID [2018-11-14 19:11:26,934 INFO L273 TraceCheckUtils]: 23: Hoare triple {8001#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {8002#(<= main_~j~0 6)} is VALID [2018-11-14 19:11:26,935 INFO L273 TraceCheckUtils]: 24: Hoare triple {8002#(<= main_~j~0 6)} assume true; {8002#(<= main_~j~0 6)} is VALID [2018-11-14 19:11:26,935 INFO L273 TraceCheckUtils]: 25: Hoare triple {8002#(<= main_~j~0 6)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {8002#(<= main_~j~0 6)} is VALID [2018-11-14 19:11:26,936 INFO L273 TraceCheckUtils]: 26: Hoare triple {8002#(<= main_~j~0 6)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {8003#(<= main_~j~0 7)} is VALID [2018-11-14 19:11:26,936 INFO L273 TraceCheckUtils]: 27: Hoare triple {8003#(<= main_~j~0 7)} assume true; {8003#(<= main_~j~0 7)} is VALID [2018-11-14 19:11:26,937 INFO L273 TraceCheckUtils]: 28: Hoare triple {8003#(<= main_~j~0 7)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {8003#(<= main_~j~0 7)} is VALID [2018-11-14 19:11:26,938 INFO L273 TraceCheckUtils]: 29: Hoare triple {8003#(<= main_~j~0 7)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {8004#(<= main_~j~0 8)} is VALID [2018-11-14 19:11:26,938 INFO L273 TraceCheckUtils]: 30: Hoare triple {8004#(<= main_~j~0 8)} assume true; {8004#(<= main_~j~0 8)} is VALID [2018-11-14 19:11:26,939 INFO L273 TraceCheckUtils]: 31: Hoare triple {8004#(<= main_~j~0 8)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {8004#(<= main_~j~0 8)} is VALID [2018-11-14 19:11:26,940 INFO L273 TraceCheckUtils]: 32: Hoare triple {8004#(<= main_~j~0 8)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {8005#(<= main_~j~0 9)} is VALID [2018-11-14 19:11:26,940 INFO L273 TraceCheckUtils]: 33: Hoare triple {8005#(<= main_~j~0 9)} assume true; {8005#(<= main_~j~0 9)} is VALID [2018-11-14 19:11:26,941 INFO L273 TraceCheckUtils]: 34: Hoare triple {8005#(<= main_~j~0 9)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {8005#(<= main_~j~0 9)} is VALID [2018-11-14 19:11:26,941 INFO L273 TraceCheckUtils]: 35: Hoare triple {8005#(<= main_~j~0 9)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {8006#(<= main_~j~0 10)} is VALID [2018-11-14 19:11:26,942 INFO L273 TraceCheckUtils]: 36: Hoare triple {8006#(<= main_~j~0 10)} assume true; {8006#(<= main_~j~0 10)} is VALID [2018-11-14 19:11:26,942 INFO L273 TraceCheckUtils]: 37: Hoare triple {8006#(<= main_~j~0 10)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {8006#(<= main_~j~0 10)} is VALID [2018-11-14 19:11:26,943 INFO L273 TraceCheckUtils]: 38: Hoare triple {8006#(<= main_~j~0 10)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {8007#(<= main_~j~0 11)} is VALID [2018-11-14 19:11:26,944 INFO L273 TraceCheckUtils]: 39: Hoare triple {8007#(<= main_~j~0 11)} assume true; {8007#(<= main_~j~0 11)} is VALID [2018-11-14 19:11:26,944 INFO L273 TraceCheckUtils]: 40: Hoare triple {8007#(<= main_~j~0 11)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {8007#(<= main_~j~0 11)} is VALID [2018-11-14 19:11:26,945 INFO L273 TraceCheckUtils]: 41: Hoare triple {8007#(<= main_~j~0 11)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {8008#(<= main_~j~0 12)} is VALID [2018-11-14 19:11:26,946 INFO L273 TraceCheckUtils]: 42: Hoare triple {8008#(<= main_~j~0 12)} assume true; {8008#(<= main_~j~0 12)} is VALID [2018-11-14 19:11:26,946 INFO L273 TraceCheckUtils]: 43: Hoare triple {8008#(<= main_~j~0 12)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {8008#(<= main_~j~0 12)} is VALID [2018-11-14 19:11:26,947 INFO L273 TraceCheckUtils]: 44: Hoare triple {8008#(<= main_~j~0 12)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {8009#(<= main_~j~0 13)} is VALID [2018-11-14 19:11:26,947 INFO L273 TraceCheckUtils]: 45: Hoare triple {8009#(<= main_~j~0 13)} assume true; {8009#(<= main_~j~0 13)} is VALID [2018-11-14 19:11:26,948 INFO L273 TraceCheckUtils]: 46: Hoare triple {8009#(<= main_~j~0 13)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {8009#(<= main_~j~0 13)} is VALID [2018-11-14 19:11:26,949 INFO L273 TraceCheckUtils]: 47: Hoare triple {8009#(<= main_~j~0 13)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {8010#(<= main_~j~0 14)} is VALID [2018-11-14 19:11:26,949 INFO L273 TraceCheckUtils]: 48: Hoare triple {8010#(<= main_~j~0 14)} assume true; {8010#(<= main_~j~0 14)} is VALID [2018-11-14 19:11:26,950 INFO L273 TraceCheckUtils]: 49: Hoare triple {8010#(<= main_~j~0 14)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {8010#(<= main_~j~0 14)} is VALID [2018-11-14 19:11:26,951 INFO L273 TraceCheckUtils]: 50: Hoare triple {8010#(<= main_~j~0 14)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {8011#(<= main_~j~0 15)} is VALID [2018-11-14 19:11:26,951 INFO L273 TraceCheckUtils]: 51: Hoare triple {8011#(<= main_~j~0 15)} assume true; {8011#(<= main_~j~0 15)} is VALID [2018-11-14 19:11:26,952 INFO L273 TraceCheckUtils]: 52: Hoare triple {8011#(<= main_~j~0 15)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {8011#(<= main_~j~0 15)} is VALID [2018-11-14 19:11:26,952 INFO L273 TraceCheckUtils]: 53: Hoare triple {8011#(<= main_~j~0 15)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {8012#(<= main_~j~0 16)} is VALID [2018-11-14 19:11:26,953 INFO L273 TraceCheckUtils]: 54: Hoare triple {8012#(<= main_~j~0 16)} assume true; {8012#(<= main_~j~0 16)} is VALID [2018-11-14 19:11:26,953 INFO L273 TraceCheckUtils]: 55: Hoare triple {8012#(<= main_~j~0 16)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {8012#(<= main_~j~0 16)} is VALID [2018-11-14 19:11:26,954 INFO L273 TraceCheckUtils]: 56: Hoare triple {8012#(<= main_~j~0 16)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {8013#(<= main_~j~0 17)} is VALID [2018-11-14 19:11:26,955 INFO L273 TraceCheckUtils]: 57: Hoare triple {8013#(<= main_~j~0 17)} assume true; {8013#(<= main_~j~0 17)} is VALID [2018-11-14 19:11:26,955 INFO L273 TraceCheckUtils]: 58: Hoare triple {8013#(<= main_~j~0 17)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {8013#(<= main_~j~0 17)} is VALID [2018-11-14 19:11:26,956 INFO L273 TraceCheckUtils]: 59: Hoare triple {8013#(<= main_~j~0 17)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {8014#(<= main_~j~0 18)} is VALID [2018-11-14 19:11:26,957 INFO L273 TraceCheckUtils]: 60: Hoare triple {8014#(<= main_~j~0 18)} assume true; {8014#(<= main_~j~0 18)} is VALID [2018-11-14 19:11:26,957 INFO L273 TraceCheckUtils]: 61: Hoare triple {8014#(<= main_~j~0 18)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {8014#(<= main_~j~0 18)} is VALID [2018-11-14 19:11:26,958 INFO L273 TraceCheckUtils]: 62: Hoare triple {8014#(<= main_~j~0 18)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {8015#(<= main_~j~0 19)} is VALID [2018-11-14 19:11:26,958 INFO L273 TraceCheckUtils]: 63: Hoare triple {8015#(<= main_~j~0 19)} assume true; {8015#(<= main_~j~0 19)} is VALID [2018-11-14 19:11:26,959 INFO L273 TraceCheckUtils]: 64: Hoare triple {8015#(<= main_~j~0 19)} assume !(~j~0 < 20); {7995#false} is VALID [2018-11-14 19:11:26,959 INFO L273 TraceCheckUtils]: 65: Hoare triple {7995#false} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~i~0 := #t~nondet4;havoc #t~nondet4; {7995#false} is VALID [2018-11-14 19:11:26,959 INFO L273 TraceCheckUtils]: 66: Hoare triple {7995#false} assume ~i~0 >= 0 && ~i~0 < 10;~ad2~0.base, ~ad2~0.offset := ~#ad1~0.base, ~#ad1~0.offset;call write~int(~i~0, ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + ~i~0 * 8 + 0, 4);~i~0 := #t~mem5 + 10;havoc #t~mem5; {7995#false} is VALID [2018-11-14 19:11:26,960 INFO L273 TraceCheckUtils]: 67: Hoare triple {7995#false} assume true; {7995#false} is VALID [2018-11-14 19:11:26,960 INFO L273 TraceCheckUtils]: 68: Hoare triple {7995#false} call #t~mem6 := read~int(~pa~0.base, ~pa~0.offset, 4); {7995#false} is VALID [2018-11-14 19:11:26,960 INFO L273 TraceCheckUtils]: 69: Hoare triple {7995#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {7995#false} is VALID [2018-11-14 19:11:26,960 INFO L256 TraceCheckUtils]: 70: Hoare triple {7995#false} call #t~ret8 := check(~#ad1~0.base, ~#ad1~0.offset, ~i~0); {7994#true} is VALID [2018-11-14 19:11:26,960 INFO L273 TraceCheckUtils]: 71: Hoare triple {7994#true} ~ad1.base, ~ad1.offset := #in~ad1.base, #in~ad1.offset;~b := #in~b;call #t~mem0 := read~int(~ad1.base, ~ad1.offset + ~b * 8 + 0, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {7994#true} is VALID [2018-11-14 19:11:26,961 INFO L273 TraceCheckUtils]: 72: Hoare triple {7994#true} assume true; {7994#true} is VALID [2018-11-14 19:11:26,961 INFO L268 TraceCheckUtils]: 73: Hoare quadruple {7994#true} {7995#false} #59#return; {7995#false} is VALID [2018-11-14 19:11:26,961 INFO L273 TraceCheckUtils]: 74: Hoare triple {7995#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {7995#false} is VALID [2018-11-14 19:11:26,961 INFO L273 TraceCheckUtils]: 75: Hoare triple {7995#false} assume #t~ret8 == 0;havoc #t~ret8; {7995#false} is VALID [2018-11-14 19:11:26,961 INFO L273 TraceCheckUtils]: 76: Hoare triple {7995#false} assume !false; {7995#false} is VALID [2018-11-14 19:11:26,966 INFO L134 CoverageAnalysis]: Checked inductivity of 551 backedges. 0 proven. 551 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 19:11:26,966 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 19:11:26,967 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 20 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 20 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-14 19:11:26,975 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 19:11:27,015 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 19:11:27,031 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 19:11:27,032 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 19:11:27,195 INFO L256 TraceCheckUtils]: 0: Hoare triple {7994#true} call ULTIMATE.init(); {7994#true} is VALID [2018-11-14 19:11:27,196 INFO L273 TraceCheckUtils]: 1: Hoare triple {7994#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {7994#true} is VALID [2018-11-14 19:11:27,196 INFO L273 TraceCheckUtils]: 2: Hoare triple {7994#true} assume true; {7994#true} is VALID [2018-11-14 19:11:27,196 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7994#true} {7994#true} #55#return; {7994#true} is VALID [2018-11-14 19:11:27,196 INFO L256 TraceCheckUtils]: 4: Hoare triple {7994#true} call #t~ret9 := main(); {7994#true} is VALID [2018-11-14 19:11:27,197 INFO L273 TraceCheckUtils]: 5: Hoare triple {7994#true} call ~#ad1~0.base, ~#ad1~0.offset := #Ultimate.alloc(160);havoc ~ad2~0.base, ~ad2~0.offset;havoc ~i~0;havoc ~j~0;havoc ~pa~0.base, ~pa~0.offset;~j~0 := 0; {8034#(<= main_~j~0 0)} is VALID [2018-11-14 19:11:27,197 INFO L273 TraceCheckUtils]: 6: Hoare triple {8034#(<= main_~j~0 0)} assume true; {8034#(<= main_~j~0 0)} is VALID [2018-11-14 19:11:27,198 INFO L273 TraceCheckUtils]: 7: Hoare triple {8034#(<= main_~j~0 0)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {8034#(<= main_~j~0 0)} is VALID [2018-11-14 19:11:27,198 INFO L273 TraceCheckUtils]: 8: Hoare triple {8034#(<= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {7997#(<= main_~j~0 1)} is VALID [2018-11-14 19:11:27,199 INFO L273 TraceCheckUtils]: 9: Hoare triple {7997#(<= main_~j~0 1)} assume true; {7997#(<= main_~j~0 1)} is VALID [2018-11-14 19:11:27,199 INFO L273 TraceCheckUtils]: 10: Hoare triple {7997#(<= main_~j~0 1)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {7997#(<= main_~j~0 1)} is VALID [2018-11-14 19:11:27,199 INFO L273 TraceCheckUtils]: 11: Hoare triple {7997#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {7998#(<= main_~j~0 2)} is VALID [2018-11-14 19:11:27,200 INFO L273 TraceCheckUtils]: 12: Hoare triple {7998#(<= main_~j~0 2)} assume true; {7998#(<= main_~j~0 2)} is VALID [2018-11-14 19:11:27,200 INFO L273 TraceCheckUtils]: 13: Hoare triple {7998#(<= main_~j~0 2)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {7998#(<= main_~j~0 2)} is VALID [2018-11-14 19:11:27,201 INFO L273 TraceCheckUtils]: 14: Hoare triple {7998#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {7999#(<= main_~j~0 3)} is VALID [2018-11-14 19:11:27,201 INFO L273 TraceCheckUtils]: 15: Hoare triple {7999#(<= main_~j~0 3)} assume true; {7999#(<= main_~j~0 3)} is VALID [2018-11-14 19:11:27,202 INFO L273 TraceCheckUtils]: 16: Hoare triple {7999#(<= main_~j~0 3)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {7999#(<= main_~j~0 3)} is VALID [2018-11-14 19:11:27,203 INFO L273 TraceCheckUtils]: 17: Hoare triple {7999#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {8000#(<= main_~j~0 4)} is VALID [2018-11-14 19:11:27,203 INFO L273 TraceCheckUtils]: 18: Hoare triple {8000#(<= main_~j~0 4)} assume true; {8000#(<= main_~j~0 4)} is VALID [2018-11-14 19:11:27,204 INFO L273 TraceCheckUtils]: 19: Hoare triple {8000#(<= main_~j~0 4)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {8000#(<= main_~j~0 4)} is VALID [2018-11-14 19:11:27,204 INFO L273 TraceCheckUtils]: 20: Hoare triple {8000#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {8001#(<= main_~j~0 5)} is VALID [2018-11-14 19:11:27,205 INFO L273 TraceCheckUtils]: 21: Hoare triple {8001#(<= main_~j~0 5)} assume true; {8001#(<= main_~j~0 5)} is VALID [2018-11-14 19:11:27,205 INFO L273 TraceCheckUtils]: 22: Hoare triple {8001#(<= main_~j~0 5)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {8001#(<= main_~j~0 5)} is VALID [2018-11-14 19:11:27,206 INFO L273 TraceCheckUtils]: 23: Hoare triple {8001#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {8002#(<= main_~j~0 6)} is VALID [2018-11-14 19:11:27,206 INFO L273 TraceCheckUtils]: 24: Hoare triple {8002#(<= main_~j~0 6)} assume true; {8002#(<= main_~j~0 6)} is VALID [2018-11-14 19:11:27,207 INFO L273 TraceCheckUtils]: 25: Hoare triple {8002#(<= main_~j~0 6)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {8002#(<= main_~j~0 6)} is VALID [2018-11-14 19:11:27,208 INFO L273 TraceCheckUtils]: 26: Hoare triple {8002#(<= main_~j~0 6)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {8003#(<= main_~j~0 7)} is VALID [2018-11-14 19:11:27,208 INFO L273 TraceCheckUtils]: 27: Hoare triple {8003#(<= main_~j~0 7)} assume true; {8003#(<= main_~j~0 7)} is VALID [2018-11-14 19:11:27,208 INFO L273 TraceCheckUtils]: 28: Hoare triple {8003#(<= main_~j~0 7)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {8003#(<= main_~j~0 7)} is VALID [2018-11-14 19:11:27,209 INFO L273 TraceCheckUtils]: 29: Hoare triple {8003#(<= main_~j~0 7)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {8004#(<= main_~j~0 8)} is VALID [2018-11-14 19:11:27,210 INFO L273 TraceCheckUtils]: 30: Hoare triple {8004#(<= main_~j~0 8)} assume true; {8004#(<= main_~j~0 8)} is VALID [2018-11-14 19:11:27,210 INFO L273 TraceCheckUtils]: 31: Hoare triple {8004#(<= main_~j~0 8)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {8004#(<= main_~j~0 8)} is VALID [2018-11-14 19:11:27,211 INFO L273 TraceCheckUtils]: 32: Hoare triple {8004#(<= main_~j~0 8)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {8005#(<= main_~j~0 9)} is VALID [2018-11-14 19:11:27,211 INFO L273 TraceCheckUtils]: 33: Hoare triple {8005#(<= main_~j~0 9)} assume true; {8005#(<= main_~j~0 9)} is VALID [2018-11-14 19:11:27,212 INFO L273 TraceCheckUtils]: 34: Hoare triple {8005#(<= main_~j~0 9)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {8005#(<= main_~j~0 9)} is VALID [2018-11-14 19:11:27,212 INFO L273 TraceCheckUtils]: 35: Hoare triple {8005#(<= main_~j~0 9)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {8006#(<= main_~j~0 10)} is VALID [2018-11-14 19:11:27,213 INFO L273 TraceCheckUtils]: 36: Hoare triple {8006#(<= main_~j~0 10)} assume true; {8006#(<= main_~j~0 10)} is VALID [2018-11-14 19:11:27,213 INFO L273 TraceCheckUtils]: 37: Hoare triple {8006#(<= main_~j~0 10)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {8006#(<= main_~j~0 10)} is VALID [2018-11-14 19:11:27,214 INFO L273 TraceCheckUtils]: 38: Hoare triple {8006#(<= main_~j~0 10)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {8007#(<= main_~j~0 11)} is VALID [2018-11-14 19:11:27,215 INFO L273 TraceCheckUtils]: 39: Hoare triple {8007#(<= main_~j~0 11)} assume true; {8007#(<= main_~j~0 11)} is VALID [2018-11-14 19:11:27,215 INFO L273 TraceCheckUtils]: 40: Hoare triple {8007#(<= main_~j~0 11)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {8007#(<= main_~j~0 11)} is VALID [2018-11-14 19:11:27,216 INFO L273 TraceCheckUtils]: 41: Hoare triple {8007#(<= main_~j~0 11)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {8008#(<= main_~j~0 12)} is VALID [2018-11-14 19:11:27,216 INFO L273 TraceCheckUtils]: 42: Hoare triple {8008#(<= main_~j~0 12)} assume true; {8008#(<= main_~j~0 12)} is VALID [2018-11-14 19:11:27,217 INFO L273 TraceCheckUtils]: 43: Hoare triple {8008#(<= main_~j~0 12)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {8008#(<= main_~j~0 12)} is VALID [2018-11-14 19:11:27,217 INFO L273 TraceCheckUtils]: 44: Hoare triple {8008#(<= main_~j~0 12)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {8009#(<= main_~j~0 13)} is VALID [2018-11-14 19:11:27,218 INFO L273 TraceCheckUtils]: 45: Hoare triple {8009#(<= main_~j~0 13)} assume true; {8009#(<= main_~j~0 13)} is VALID [2018-11-14 19:11:27,218 INFO L273 TraceCheckUtils]: 46: Hoare triple {8009#(<= main_~j~0 13)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {8009#(<= main_~j~0 13)} is VALID [2018-11-14 19:11:27,219 INFO L273 TraceCheckUtils]: 47: Hoare triple {8009#(<= main_~j~0 13)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {8010#(<= main_~j~0 14)} is VALID [2018-11-14 19:11:27,220 INFO L273 TraceCheckUtils]: 48: Hoare triple {8010#(<= main_~j~0 14)} assume true; {8010#(<= main_~j~0 14)} is VALID [2018-11-14 19:11:27,220 INFO L273 TraceCheckUtils]: 49: Hoare triple {8010#(<= main_~j~0 14)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {8010#(<= main_~j~0 14)} is VALID [2018-11-14 19:11:27,221 INFO L273 TraceCheckUtils]: 50: Hoare triple {8010#(<= main_~j~0 14)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {8011#(<= main_~j~0 15)} is VALID [2018-11-14 19:11:27,221 INFO L273 TraceCheckUtils]: 51: Hoare triple {8011#(<= main_~j~0 15)} assume true; {8011#(<= main_~j~0 15)} is VALID [2018-11-14 19:11:27,222 INFO L273 TraceCheckUtils]: 52: Hoare triple {8011#(<= main_~j~0 15)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {8011#(<= main_~j~0 15)} is VALID [2018-11-14 19:11:27,222 INFO L273 TraceCheckUtils]: 53: Hoare triple {8011#(<= main_~j~0 15)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {8012#(<= main_~j~0 16)} is VALID [2018-11-14 19:11:27,223 INFO L273 TraceCheckUtils]: 54: Hoare triple {8012#(<= main_~j~0 16)} assume true; {8012#(<= main_~j~0 16)} is VALID [2018-11-14 19:11:27,223 INFO L273 TraceCheckUtils]: 55: Hoare triple {8012#(<= main_~j~0 16)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {8012#(<= main_~j~0 16)} is VALID [2018-11-14 19:11:27,224 INFO L273 TraceCheckUtils]: 56: Hoare triple {8012#(<= main_~j~0 16)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {8013#(<= main_~j~0 17)} is VALID [2018-11-14 19:11:27,225 INFO L273 TraceCheckUtils]: 57: Hoare triple {8013#(<= main_~j~0 17)} assume true; {8013#(<= main_~j~0 17)} is VALID [2018-11-14 19:11:27,225 INFO L273 TraceCheckUtils]: 58: Hoare triple {8013#(<= main_~j~0 17)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {8013#(<= main_~j~0 17)} is VALID [2018-11-14 19:11:27,226 INFO L273 TraceCheckUtils]: 59: Hoare triple {8013#(<= main_~j~0 17)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {8014#(<= main_~j~0 18)} is VALID [2018-11-14 19:11:27,226 INFO L273 TraceCheckUtils]: 60: Hoare triple {8014#(<= main_~j~0 18)} assume true; {8014#(<= main_~j~0 18)} is VALID [2018-11-14 19:11:27,227 INFO L273 TraceCheckUtils]: 61: Hoare triple {8014#(<= main_~j~0 18)} assume !!(~j~0 < 20);assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;call write~int(#t~nondet2, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, ~#ad1~0.offset + ~j~0 * 8 + 4, 4);havoc #t~nondet3; {8014#(<= main_~j~0 18)} is VALID [2018-11-14 19:11:27,227 INFO L273 TraceCheckUtils]: 62: Hoare triple {8014#(<= main_~j~0 18)} #t~post1 := ~j~0;~j~0 := #t~post1 + 1;havoc #t~post1; {8015#(<= main_~j~0 19)} is VALID [2018-11-14 19:11:27,228 INFO L273 TraceCheckUtils]: 63: Hoare triple {8015#(<= main_~j~0 19)} assume true; {8015#(<= main_~j~0 19)} is VALID [2018-11-14 19:11:27,229 INFO L273 TraceCheckUtils]: 64: Hoare triple {8015#(<= main_~j~0 19)} assume !(~j~0 < 20); {7995#false} is VALID [2018-11-14 19:11:27,229 INFO L273 TraceCheckUtils]: 65: Hoare triple {7995#false} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~i~0 := #t~nondet4;havoc #t~nondet4; {7995#false} is VALID [2018-11-14 19:11:27,229 INFO L273 TraceCheckUtils]: 66: Hoare triple {7995#false} assume ~i~0 >= 0 && ~i~0 < 10;~ad2~0.base, ~ad2~0.offset := ~#ad1~0.base, ~#ad1~0.offset;call write~int(~i~0, ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + ~i~0 * 8 + 0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + ~i~0 * 8 + 0, 4);~i~0 := #t~mem5 + 10;havoc #t~mem5; {7995#false} is VALID [2018-11-14 19:11:27,229 INFO L273 TraceCheckUtils]: 67: Hoare triple {7995#false} assume true; {7995#false} is VALID [2018-11-14 19:11:27,229 INFO L273 TraceCheckUtils]: 68: Hoare triple {7995#false} call #t~mem6 := read~int(~pa~0.base, ~pa~0.offset, 4); {7995#false} is VALID [2018-11-14 19:11:27,230 INFO L273 TraceCheckUtils]: 69: Hoare triple {7995#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {7995#false} is VALID [2018-11-14 19:11:27,230 INFO L256 TraceCheckUtils]: 70: Hoare triple {7995#false} call #t~ret8 := check(~#ad1~0.base, ~#ad1~0.offset, ~i~0); {7995#false} is VALID [2018-11-14 19:11:27,230 INFO L273 TraceCheckUtils]: 71: Hoare triple {7995#false} ~ad1.base, ~ad1.offset := #in~ad1.base, #in~ad1.offset;~b := #in~b;call #t~mem0 := read~int(~ad1.base, ~ad1.offset + ~b * 8 + 0, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {7995#false} is VALID [2018-11-14 19:11:27,230 INFO L273 TraceCheckUtils]: 72: Hoare triple {7995#false} assume true; {7995#false} is VALID [2018-11-14 19:11:27,230 INFO L268 TraceCheckUtils]: 73: Hoare quadruple {7995#false} {7995#false} #59#return; {7995#false} is VALID [2018-11-14 19:11:27,230 INFO L273 TraceCheckUtils]: 74: Hoare triple {7995#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {7995#false} is VALID [2018-11-14 19:11:27,231 INFO L273 TraceCheckUtils]: 75: Hoare triple {7995#false} assume #t~ret8 == 0;havoc #t~ret8; {7995#false} is VALID [2018-11-14 19:11:27,231 INFO L273 TraceCheckUtils]: 76: Hoare triple {7995#false} assume !false; {7995#false} is VALID [2018-11-14 19:11:27,235 INFO L134 CoverageAnalysis]: Checked inductivity of 551 backedges. 0 proven. 551 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 19:11:27,255 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 19:11:27,256 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [22, 22] total 23 [2018-11-14 19:11:27,256 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 77 [2018-11-14 19:11:27,256 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 19:11:27,256 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states. [2018-11-14 19:11:27,338 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 19:11:27,339 INFO L459 AbstractCegarLoop]: Interpolant automaton has 23 states [2018-11-14 19:11:27,339 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2018-11-14 19:11:27,339 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=253, Invalid=253, Unknown=0, NotChecked=0, Total=506 [2018-11-14 19:11:27,340 INFO L87 Difference]: Start difference. First operand 78 states and 79 transitions. Second operand 23 states. [2018-11-14 19:11:27,738 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:11:27,738 INFO L93 Difference]: Finished difference Result 94 states and 96 transitions. [2018-11-14 19:11:27,738 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2018-11-14 19:11:27,738 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 77 [2018-11-14 19:11:27,739 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 19:11:27,739 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-14 19:11:27,740 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 96 transitions. [2018-11-14 19:11:27,740 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-14 19:11:27,741 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 96 transitions. [2018-11-14 19:11:27,741 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states and 96 transitions. [2018-11-14 19:11:27,885 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 19:11:27,887 INFO L225 Difference]: With dead ends: 94 [2018-11-14 19:11:27,887 INFO L226 Difference]: Without dead ends: 81 [2018-11-14 19:11:27,888 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 98 GetRequests, 77 SyntacticMatches, 0 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 36 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=253, Invalid=253, Unknown=0, NotChecked=0, Total=506 [2018-11-14 19:11:27,888 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2018-11-14 19:11:27,918 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 81. [2018-11-14 19:11:27,918 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 19:11:27,918 INFO L82 GeneralOperation]: Start isEquivalent. First operand 81 states. Second operand 81 states. [2018-11-14 19:11:27,918 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand 81 states. [2018-11-14 19:11:27,918 INFO L87 Difference]: Start difference. First operand 81 states. Second operand 81 states. [2018-11-14 19:11:27,920 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:11:27,920 INFO L93 Difference]: Finished difference Result 81 states and 82 transitions. [2018-11-14 19:11:27,921 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 82 transitions. [2018-11-14 19:11:27,921 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 19:11:27,921 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 19:11:27,921 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand 81 states. [2018-11-14 19:11:27,921 INFO L87 Difference]: Start difference. First operand 81 states. Second operand 81 states. [2018-11-14 19:11:27,922 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:11:27,922 INFO L93 Difference]: Finished difference Result 81 states and 82 transitions. [2018-11-14 19:11:27,922 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 82 transitions. [2018-11-14 19:11:27,922 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 19:11:27,923 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 19:11:27,923 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 19:11:27,923 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 19:11:27,923 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 81 states. [2018-11-14 19:11:27,924 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 81 states to 81 states and 82 transitions. [2018-11-14 19:11:27,924 INFO L78 Accepts]: Start accepts. Automaton has 81 states and 82 transitions. Word has length 77 [2018-11-14 19:11:27,924 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 19:11:27,924 INFO L480 AbstractCegarLoop]: Abstraction has 81 states and 82 transitions. [2018-11-14 19:11:27,924 INFO L481 AbstractCegarLoop]: Interpolant automaton has 23 states. [2018-11-14 19:11:27,925 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 82 transitions. [2018-11-14 19:11:27,925 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2018-11-14 19:11:27,925 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 19:11:27,925 INFO L375 BasicCegarLoop]: trace histogram [21, 20, 20, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 19:11:27,926 INFO L423 AbstractCegarLoop]: === Iteration 22 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 19:11:27,926 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 19:11:27,926 INFO L82 PathProgramCache]: Analyzing trace with hash -850821340, now seen corresponding path program 20 times [2018-11-14 19:11:27,926 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 19:11:27,926 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 19:11:27,927 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:11:27,927 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 19:11:27,927 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:11:27,979 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-14 19:11:28,029 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-14 19:11:28,066 INFO L442 BasicCegarLoop]: Counterexample might be feasible [2018-11-14 19:11:28,112 WARN L170 areAnnotationChecker]: ULTIMATE.initENTRY has no Hoare annotation [2018-11-14 19:11:28,112 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2018-11-14 19:11:28,112 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2018-11-14 19:11:28,113 WARN L170 areAnnotationChecker]: mainENTRY has no Hoare annotation [2018-11-14 19:11:28,113 WARN L170 areAnnotationChecker]: checkENTRY has no Hoare annotation [2018-11-14 19:11:28,113 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2018-11-14 19:11:28,113 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2018-11-14 19:11:28,113 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2018-11-14 19:11:28,113 WARN L170 areAnnotationChecker]: L17-4 has no Hoare annotation [2018-11-14 19:11:28,113 WARN L170 areAnnotationChecker]: L17-4 has no Hoare annotation [2018-11-14 19:11:28,113 WARN L170 areAnnotationChecker]: checkFINAL has no Hoare annotation [2018-11-14 19:11:28,113 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2018-11-14 19:11:28,113 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2018-11-14 19:11:28,114 WARN L170 areAnnotationChecker]: L17-1 has no Hoare annotation [2018-11-14 19:11:28,114 WARN L170 areAnnotationChecker]: L17-1 has no Hoare annotation [2018-11-14 19:11:28,114 WARN L170 areAnnotationChecker]: L17-5 has no Hoare annotation [2018-11-14 19:11:28,114 WARN L170 areAnnotationChecker]: checkEXIT has no Hoare annotation [2018-11-14 19:11:28,114 WARN L170 areAnnotationChecker]: L17-3 has no Hoare annotation [2018-11-14 19:11:28,114 WARN L170 areAnnotationChecker]: L22 has no Hoare annotation [2018-11-14 19:11:28,114 WARN L170 areAnnotationChecker]: L22 has no Hoare annotation [2018-11-14 19:11:28,114 WARN L170 areAnnotationChecker]: L30 has no Hoare annotation [2018-11-14 19:11:28,114 WARN L170 areAnnotationChecker]: L27-4 has no Hoare annotation [2018-11-14 19:11:28,114 WARN L170 areAnnotationChecker]: L27-4 has no Hoare annotation [2018-11-14 19:11:28,114 WARN L170 areAnnotationChecker]: L22-2 has no Hoare annotation [2018-11-14 19:11:28,115 WARN L170 areAnnotationChecker]: L30-1 has no Hoare annotation [2018-11-14 19:11:28,115 WARN L170 areAnnotationChecker]: L30-1 has no Hoare annotation [2018-11-14 19:11:28,115 WARN L170 areAnnotationChecker]: L27-1 has no Hoare annotation [2018-11-14 19:11:28,115 WARN L170 areAnnotationChecker]: L27-5 has no Hoare annotation [2018-11-14 19:11:28,115 WARN L170 areAnnotationChecker]: L27-5 has no Hoare annotation [2018-11-14 19:11:28,115 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2018-11-14 19:11:28,115 WARN L170 areAnnotationChecker]: L31 has no Hoare annotation [2018-11-14 19:11:28,115 WARN L170 areAnnotationChecker]: L31 has no Hoare annotation [2018-11-14 19:11:28,115 WARN L170 areAnnotationChecker]: L27-2 has no Hoare annotation [2018-11-14 19:11:28,115 WARN L170 areAnnotationChecker]: L27-2 has no Hoare annotation [2018-11-14 19:11:28,116 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2018-11-14 19:11:28,116 INFO L163 areAnnotationChecker]: CFG has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2018-11-14 19:11:28,119 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 14.11 07:11:28 BoogieIcfgContainer [2018-11-14 19:11:28,119 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2018-11-14 19:11:28,120 INFO L168 Benchmark]: Toolchain (without parser) took 46655.49 ms. Allocated memory was 1.5 GB in the beginning and 2.6 GB in the end (delta: 1.1 GB). Free memory was 1.4 GB in the beginning and 2.5 GB in the end (delta: -1.1 GB). There was no memory consumed. Max. memory is 7.1 GB. [2018-11-14 19:11:28,122 INFO L168 Benchmark]: CDTParser took 0.25 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. [2018-11-14 19:11:28,122 INFO L168 Benchmark]: CACSL2BoogieTranslator took 357.30 ms. Allocated memory is still 1.5 GB. Free memory was 1.4 GB in the beginning and 1.4 GB in the end (delta: 10.6 MB). Peak memory consumption was 10.6 MB. Max. memory is 7.1 GB. [2018-11-14 19:11:28,123 INFO L168 Benchmark]: Boogie Preprocessor took 42.61 ms. Allocated memory is still 1.5 GB. Free memory is still 1.4 GB. There was no memory consumed. Max. memory is 7.1 GB. [2018-11-14 19:11:28,123 INFO L168 Benchmark]: RCFGBuilder took 712.88 ms. Allocated memory was 1.5 GB in the beginning and 2.3 GB in the end (delta: 757.1 MB). Free memory was 1.4 GB in the beginning and 2.2 GB in the end (delta: -775.0 MB). Peak memory consumption was 14.7 MB. Max. memory is 7.1 GB. [2018-11-14 19:11:28,124 INFO L168 Benchmark]: TraceAbstraction took 45538.13 ms. Allocated memory was 2.3 GB in the beginning and 2.6 GB in the end (delta: 320.9 MB). Free memory was 2.2 GB in the beginning and 2.5 GB in the end (delta: -338.8 MB). There was no memory consumed. Max. memory is 7.1 GB. [2018-11-14 19:11:28,126 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - GenericResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.25 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. * CACSL2BoogieTranslator took 357.30 ms. Allocated memory is still 1.5 GB. Free memory was 1.4 GB in the beginning and 1.4 GB in the end (delta: 10.6 MB). Peak memory consumption was 10.6 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 42.61 ms. Allocated memory is still 1.5 GB. Free memory is still 1.4 GB. There was no memory consumed. Max. memory is 7.1 GB. * RCFGBuilder took 712.88 ms. Allocated memory was 1.5 GB in the beginning and 2.3 GB in the end (delta: 757.1 MB). Free memory was 1.4 GB in the beginning and 2.2 GB in the end (delta: -775.0 MB). Peak memory consumption was 14.7 MB. Max. memory is 7.1 GB. * TraceAbstraction took 45538.13 ms. Allocated memory was 2.3 GB in the beginning and 2.6 GB in the end (delta: 320.9 MB). Free memory was 2.2 GB in the beginning and 2.5 GB in the end (delta: -338.8 MB). There was no memory consumed. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - CounterExampleResult [Line: 37]: a call of __VERIFIER_error() is reachable a call of __VERIFIER_error() is reachable We found a FailurePath: [L15] FCALL struct dummy ad1[20], *ad2; [L16] int i, j, *pa; [L17] j=0 VAL [ad1={161:0}, j=0] [L17] COND TRUE j<20 [L18] FCALL ad1[j].a = __VERIFIER_nondet_int() [L19] FCALL ad1[j].b = __VERIFIER_nondet_int() [L17] j++ VAL [ad1={161:0}, j=1] [L17] COND TRUE j<20 [L18] FCALL ad1[j].a = __VERIFIER_nondet_int() [L19] FCALL ad1[j].b = __VERIFIER_nondet_int() [L17] j++ VAL [ad1={161:0}, j=2] [L17] COND TRUE j<20 [L18] FCALL ad1[j].a = __VERIFIER_nondet_int() [L19] FCALL ad1[j].b = __VERIFIER_nondet_int() [L17] j++ VAL [ad1={161:0}, j=3] [L17] COND TRUE j<20 [L18] FCALL ad1[j].a = __VERIFIER_nondet_int() [L19] FCALL ad1[j].b = __VERIFIER_nondet_int() [L17] j++ VAL [ad1={161:0}, j=4] [L17] COND TRUE j<20 [L18] FCALL ad1[j].a = __VERIFIER_nondet_int() [L19] FCALL ad1[j].b = __VERIFIER_nondet_int() [L17] j++ VAL [ad1={161:0}, j=5] [L17] COND TRUE j<20 [L18] FCALL ad1[j].a = __VERIFIER_nondet_int() [L19] FCALL ad1[j].b = __VERIFIER_nondet_int() [L17] j++ VAL [ad1={161:0}, j=6] [L17] COND TRUE j<20 [L18] FCALL ad1[j].a = __VERIFIER_nondet_int() [L19] FCALL ad1[j].b = __VERIFIER_nondet_int() [L17] j++ VAL [ad1={161:0}, j=7] [L17] COND TRUE j<20 [L18] FCALL ad1[j].a = __VERIFIER_nondet_int() [L19] FCALL ad1[j].b = __VERIFIER_nondet_int() [L17] j++ VAL [ad1={161:0}, j=8] [L17] COND TRUE j<20 [L18] FCALL ad1[j].a = __VERIFIER_nondet_int() [L19] FCALL ad1[j].b = __VERIFIER_nondet_int() [L17] j++ VAL [ad1={161:0}, j=9] [L17] COND TRUE j<20 [L18] FCALL ad1[j].a = __VERIFIER_nondet_int() [L19] FCALL ad1[j].b = __VERIFIER_nondet_int() [L17] j++ VAL [ad1={161:0}, j=10] [L17] COND TRUE j<20 [L18] FCALL ad1[j].a = __VERIFIER_nondet_int() [L19] FCALL ad1[j].b = __VERIFIER_nondet_int() [L17] j++ VAL [ad1={161:0}, j=11] [L17] COND TRUE j<20 [L18] FCALL ad1[j].a = __VERIFIER_nondet_int() [L19] FCALL ad1[j].b = __VERIFIER_nondet_int() [L17] j++ VAL [ad1={161:0}, j=12] [L17] COND TRUE j<20 [L18] FCALL ad1[j].a = __VERIFIER_nondet_int() [L19] FCALL ad1[j].b = __VERIFIER_nondet_int() [L17] j++ VAL [ad1={161:0}, j=13] [L17] COND TRUE j<20 [L18] FCALL ad1[j].a = __VERIFIER_nondet_int() [L19] FCALL ad1[j].b = __VERIFIER_nondet_int() [L17] j++ VAL [ad1={161:0}, j=14] [L17] COND TRUE j<20 [L18] FCALL ad1[j].a = __VERIFIER_nondet_int() [L19] FCALL ad1[j].b = __VERIFIER_nondet_int() [L17] j++ VAL [ad1={161:0}, j=15] [L17] COND TRUE j<20 [L18] FCALL ad1[j].a = __VERIFIER_nondet_int() [L19] FCALL ad1[j].b = __VERIFIER_nondet_int() [L17] j++ VAL [ad1={161:0}, j=16] [L17] COND TRUE j<20 [L18] FCALL ad1[j].a = __VERIFIER_nondet_int() [L19] FCALL ad1[j].b = __VERIFIER_nondet_int() [L17] j++ VAL [ad1={161:0}, j=17] [L17] COND TRUE j<20 [L18] FCALL ad1[j].a = __VERIFIER_nondet_int() [L19] FCALL ad1[j].b = __VERIFIER_nondet_int() [L17] j++ VAL [ad1={161:0}, j=18] [L17] COND TRUE j<20 [L18] FCALL ad1[j].a = __VERIFIER_nondet_int() [L19] FCALL ad1[j].b = __VERIFIER_nondet_int() [L17] j++ VAL [ad1={161:0}, j=19] [L17] COND TRUE j<20 [L18] FCALL ad1[j].a = __VERIFIER_nondet_int() [L19] FCALL ad1[j].b = __VERIFIER_nondet_int() [L17] j++ VAL [ad1={161:0}, j=20] [L17] COND FALSE !(j<20) VAL [ad1={161:0}, j=20] [L21] i = __VERIFIER_nondet_int() [L22] COND TRUE i >= 0 && i < 10 [L23] ad2 = ad1 [L24] FCALL ad1[i].a = i [L25] pa = &ad1[i].a [L26] EXPR, FCALL ad2[i].a [L26] i = ad2[i].a + 10 [L27] EXPR, FCALL \read(*pa) VAL [\read(*pa)=0, ad1={161:0}, ad2={161:0}, i=10, j=20, pa={161:0}] [L27] COND FALSE !(i < *pa) [L30] CALL, EXPR check(ad1, i) VAL [\old(b)=10, ad1={161:0}] [L10] EXPR, FCALL ad1[b].a [L10] RET return ad1[b].a == b; [L30] EXPR check(ad1, i) VAL [ad1={161:0}, ad2={161:0}, check(ad1, i)=0, i=10, j=20, pa={161:0}] [L30] COND TRUE !check(ad1, i) [L37] __VERIFIER_error() VAL [ad1={161:0}, ad2={161:0}, i=10, j=20, pa={161:0}] - StatisticsResult: Ultimate Automizer benchmark data CFG has 4 procedures, 27 locations, 1 error locations. UNSAFE Result, 45.4s OverallTime, 22 OverallIterations, 21 TraceHistogramMax, 11.6s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 449 SDtfs, 210 SDslu, 3585 SDs, 0 SdLazy, 664 SolverSat, 25 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 0.9s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 1183 GetRequests, 954 SyntacticMatches, 0 SemanticMatches, 229 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 342 ImplicationChecksByTransitivity, 4.5s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=81occurred in iteration=21, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s AbstIntTime, 0 AbstIntIterations, 0 AbstIntStrong, NaN AbsIntWeakeningRatio, NaN AbsIntAvgWeakeningVarsNumRemoved, NaN AbsIntAvgWeakenedConjuncts, 0.0s DumpTime, AutomataMinimizationStatistics: 0.9s AutomataMinimizationTime, 21 MinimizatonAttempts, 19 StatesRemovedByMinimization, 19 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TraceCheckStatistics: 0.1s SsaConstructionTime, 17.1s SatisfiabilityAnalysisTime, 12.6s InterpolantComputationTime, 2017 NumberOfCodeBlocks, 2017 NumberOfCodeBlocksAsserted, 143 NumberOfCheckSat, 1897 ConstructedInterpolants, 0 QuantifiedInterpolants, 241879 SizeOfPredicates, 19 NumberOfNonLiveVariables, 3287 ConjunctsInSsa, 228 ConjunctsInUnsatCore, 40 InterpolantComputations, 2 PerfectInterpolantSequences, 0/7600 InterpolantCoveringCapability, InvariantSynthesisStatistics: No data available, InterpolantConsolidationStatistics: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be incorrect! Received shutdown request...