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.epf -i ../../../trunk/examples/svcomp/ldv-regression/test24_false-unreach-call.c -------------------------------------------------------------------------------- This is Ultimate 0.1.23-18e5b2d-m [2018-11-18 23:46:44,989 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-18 23:46:44,992 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-18 23:46:45,004 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-18 23:46:45,004 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-18 23:46:45,006 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-18 23:46:45,007 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-18 23:46:45,009 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-18 23:46:45,011 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-18 23:46:45,012 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-18 23:46:45,013 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-18 23:46:45,013 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-18 23:46:45,014 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-18 23:46:45,015 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-18 23:46:45,016 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-18 23:46:45,017 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-18 23:46:45,018 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-18 23:46:45,020 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-18 23:46:45,022 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-18 23:46:45,024 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-18 23:46:45,025 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-18 23:46:45,026 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-18 23:46:45,029 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-18 23:46:45,029 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-18 23:46:45,030 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-18 23:46:45,031 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-18 23:46:45,032 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-18 23:46:45,032 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-18 23:46:45,033 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-18 23:46:45,035 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-18 23:46:45,035 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-18 23:46:45,036 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-18 23:46:45,036 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-18 23:46:45,036 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-18 23:46:45,037 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-18 23:46:45,038 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-18 23:46:45,038 INFO L98 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2018-11-18 23:46:45,066 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-18 23:46:45,066 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-18 23:46:45,069 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-18 23:46:45,069 INFO L133 SettingsManager]: * to procedures, called more than once=true [2018-11-18 23:46:45,073 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-18 23:46:45,073 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-18 23:46:45,073 INFO L133 SettingsManager]: * Use SBE=true [2018-11-18 23:46:45,074 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-18 23:46:45,074 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-18 23:46:45,074 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-18 23:46:45,074 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-18 23:46:45,074 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-18 23:46:45,076 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-18 23:46:45,076 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-18 23:46:45,076 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-18 23:46:45,076 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-18 23:46:45,076 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-18 23:46:45,078 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-18 23:46:45,078 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-18 23:46:45,078 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-18 23:46:45,078 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-18 23:46:45,079 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-18 23:46:45,079 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-18 23:46:45,079 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-18 23:46:45,079 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-18 23:46:45,079 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-18 23:46:45,080 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-18 23:46:45,080 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-18 23:46:45,080 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-18 23:46:45,081 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-18 23:46:45,081 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-18 23:46:45,133 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-18 23:46:45,155 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-18 23:46:45,159 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-18 23:46:45,161 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-18 23:46:45,162 INFO L276 PluginConnector]: CDTParser initialized [2018-11-18 23:46:45,163 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-18 23:46:45,234 INFO L221 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/ebbd7c37f/b14d0127d3fa46cc9e7b5adc633d9253/FLAG6a4b269c0 [2018-11-18 23:46:45,758 INFO L307 CDTParser]: Found 1 translation units. [2018-11-18 23:46:45,758 INFO L161 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/ldv-regression/test24_false-unreach-call.c [2018-11-18 23:46:45,766 INFO L355 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/ebbd7c37f/b14d0127d3fa46cc9e7b5adc633d9253/FLAG6a4b269c0 [2018-11-18 23:46:46,103 INFO L363 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/ebbd7c37f/b14d0127d3fa46cc9e7b5adc633d9253 [2018-11-18 23:46:46,113 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-18 23:46:46,114 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2018-11-18 23:46:46,115 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-18 23:46:46,115 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-18 23:46:46,119 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-18 23:46:46,121 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 18.11 11:46:46" (1/1) ... [2018-11-18 23:46:46,124 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@40a2d857 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:46:46, skipping insertion in model container [2018-11-18 23:46:46,124 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 18.11 11:46:46" (1/1) ... [2018-11-18 23:46:46,135 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-18 23:46:46,159 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-18 23:46:46,393 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-18 23:46:46,405 INFO L191 MainTranslator]: Completed pre-run [2018-11-18 23:46:46,433 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-18 23:46:46,454 INFO L195 MainTranslator]: Completed translation [2018-11-18 23:46:46,454 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:46:46 WrapperNode [2018-11-18 23:46:46,455 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-18 23:46:46,456 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-18 23:46:46,456 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-18 23:46:46,456 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-18 23:46:46,471 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:46:46" (1/1) ... [2018-11-18 23:46:46,472 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:46:46" (1/1) ... [2018-11-18 23:46:46,484 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:46:46" (1/1) ... [2018-11-18 23:46:46,484 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:46:46" (1/1) ... [2018-11-18 23:46:46,505 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:46:46" (1/1) ... [2018-11-18 23:46:46,511 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:46:46" (1/1) ... [2018-11-18 23:46:46,513 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:46:46" (1/1) ... [2018-11-18 23:46:46,518 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-18 23:46:46,519 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-18 23:46:46,519 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-18 23:46:46,519 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-18 23:46:46,520 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:46:46" (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-18 23:46:46,685 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-18 23:46:46,685 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-18 23:46:46,685 INFO L138 BoogieDeclarations]: Found implementation of procedure check [2018-11-18 23:46:46,686 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-18 23:46:46,686 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2018-11-18 23:46:46,686 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2018-11-18 23:46:46,686 INFO L130 BoogieDeclarations]: Found specification of procedure check [2018-11-18 23:46:46,686 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-18 23:46:46,686 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-18 23:46:46,687 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-18 23:46:46,689 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-18 23:46:46,689 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-18 23:46:46,689 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-18 23:46:46,690 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-18 23:46:46,690 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int [2018-11-18 23:46:47,316 INFO L280 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-18 23:46:47,317 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 18.11 11:46:47 BoogieIcfgContainer [2018-11-18 23:46:47,317 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-18 23:46:47,318 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-18 23:46:47,319 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-18 23:46:47,322 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-18 23:46:47,322 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 18.11 11:46:46" (1/3) ... [2018-11-18 23:46:47,323 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@714c8547 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 18.11 11:46:47, skipping insertion in model container [2018-11-18 23:46:47,324 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:46:46" (2/3) ... [2018-11-18 23:46:47,324 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@714c8547 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 18.11 11:46:47, skipping insertion in model container [2018-11-18 23:46:47,324 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 18.11 11:46:47" (3/3) ... [2018-11-18 23:46:47,326 INFO L112 eAbstractionObserver]: Analyzing ICFG test24_false-unreach-call.c [2018-11-18 23:46:47,334 INFO L136 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-18 23:46:47,343 INFO L148 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-18 23:46:47,357 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-18 23:46:47,390 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-18 23:46:47,391 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-18 23:46:47,391 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-18 23:46:47,392 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-18 23:46:47,392 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-18 23:46:47,392 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-18 23:46:47,392 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-18 23:46:47,392 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-18 23:46:47,393 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-18 23:46:47,412 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states. [2018-11-18 23:46:47,418 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2018-11-18 23:46:47,418 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:46:47,419 INFO L375 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-18 23:46:47,421 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:46:47,427 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:46:47,427 INFO L82 PathProgramCache]: Analyzing trace with hash -812155503, now seen corresponding path program 1 times [2018-11-18 23:46:47,429 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:46:47,430 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:46:47,486 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:46:47,486 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:46:47,487 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:46:47,528 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:46:47,599 INFO L256 TraceCheckUtils]: 0: Hoare triple {30#true} call ULTIMATE.init(); {30#true} is VALID [2018-11-18 23:46:47,603 INFO L273 TraceCheckUtils]: 1: Hoare triple {30#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {30#true} is VALID [2018-11-18 23:46:47,604 INFO L273 TraceCheckUtils]: 2: Hoare triple {30#true} assume true; {30#true} is VALID [2018-11-18 23:46:47,604 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {30#true} {30#true} #55#return; {30#true} is VALID [2018-11-18 23:46:47,605 INFO L256 TraceCheckUtils]: 4: Hoare triple {30#true} call #t~ret9 := main(); {30#true} is VALID [2018-11-18 23:46:47,605 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-18 23:46:47,606 INFO L273 TraceCheckUtils]: 6: Hoare triple {30#true} assume !true; {31#false} is VALID [2018-11-18 23:46:47,606 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-18 23:46:47,606 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 + 8 * ~i~0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + 8 * ~i~0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + 8 * ~i~0, 4);~i~0 := 10 + #t~mem5;havoc #t~mem5; {31#false} is VALID [2018-11-18 23:46:47,607 INFO L273 TraceCheckUtils]: 9: Hoare triple {31#false} assume !true; {31#false} is VALID [2018-11-18 23:46:47,607 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-18 23:46:47,608 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 + 8 * ~b, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {30#true} is VALID [2018-11-18 23:46:47,608 INFO L273 TraceCheckUtils]: 12: Hoare triple {30#true} assume true; {30#true} is VALID [2018-11-18 23:46:47,608 INFO L268 TraceCheckUtils]: 13: Hoare quadruple {30#true} {31#false} #59#return; {31#false} is VALID [2018-11-18 23:46:47,609 INFO L273 TraceCheckUtils]: 14: Hoare triple {31#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {31#false} is VALID [2018-11-18 23:46:47,609 INFO L273 TraceCheckUtils]: 15: Hoare triple {31#false} assume 0 == #t~ret8;havoc #t~ret8; {31#false} is VALID [2018-11-18 23:46:47,610 INFO L273 TraceCheckUtils]: 16: Hoare triple {31#false} assume !false; {31#false} is VALID [2018-11-18 23:46:47,613 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-18 23:46:47,615 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-18 23:46:47,616 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-18 23:46:47,621 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 17 [2018-11-18 23:46:47,625 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:46:47,629 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2018-11-18 23:46:47,831 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-18 23:46:47,831 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-18 23:46:47,843 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-18 23:46:47,844 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-18 23:46:47,848 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 2 states. [2018-11-18 23:46:48,129 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:46:48,129 INFO L93 Difference]: Finished difference Result 45 states and 53 transitions. [2018-11-18 23:46:48,130 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-18 23:46:48,130 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 17 [2018-11-18 23:46:48,130 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:46:48,132 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-18 23:46:48,147 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 53 transitions. [2018-11-18 23:46:48,147 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-18 23:46:48,152 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 53 transitions. [2018-11-18 23:46:48,152 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 53 transitions. [2018-11-18 23:46:48,302 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-18 23:46:48,313 INFO L225 Difference]: With dead ends: 45 [2018-11-18 23:46:48,313 INFO L226 Difference]: Without dead ends: 22 [2018-11-18 23:46:48,316 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-18 23:46:48,332 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 22 states. [2018-11-18 23:46:48,374 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 22 to 22. [2018-11-18 23:46:48,374 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:46:48,375 INFO L82 GeneralOperation]: Start isEquivalent. First operand 22 states. Second operand 22 states. [2018-11-18 23:46:48,375 INFO L74 IsIncluded]: Start isIncluded. First operand 22 states. Second operand 22 states. [2018-11-18 23:46:48,376 INFO L87 Difference]: Start difference. First operand 22 states. Second operand 22 states. [2018-11-18 23:46:48,379 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:46:48,380 INFO L93 Difference]: Finished difference Result 22 states and 23 transitions. [2018-11-18 23:46:48,380 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 23 transitions. [2018-11-18 23:46:48,381 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:46:48,381 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:46:48,381 INFO L74 IsIncluded]: Start isIncluded. First operand 22 states. Second operand 22 states. [2018-11-18 23:46:48,381 INFO L87 Difference]: Start difference. First operand 22 states. Second operand 22 states. [2018-11-18 23:46:48,385 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:46:48,385 INFO L93 Difference]: Finished difference Result 22 states and 23 transitions. [2018-11-18 23:46:48,386 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 23 transitions. [2018-11-18 23:46:48,386 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:46:48,386 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:46:48,387 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:46:48,387 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:46:48,387 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2018-11-18 23:46:48,390 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 23 transitions. [2018-11-18 23:46:48,392 INFO L78 Accepts]: Start accepts. Automaton has 22 states and 23 transitions. Word has length 17 [2018-11-18 23:46:48,392 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:46:48,392 INFO L480 AbstractCegarLoop]: Abstraction has 22 states and 23 transitions. [2018-11-18 23:46:48,392 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-18 23:46:48,393 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 23 transitions. [2018-11-18 23:46:48,393 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2018-11-18 23:46:48,394 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:46:48,394 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-18 23:46:48,394 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:46:48,395 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:46:48,395 INFO L82 PathProgramCache]: Analyzing trace with hash 401379044, now seen corresponding path program 1 times [2018-11-18 23:46:48,395 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:46:48,395 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:46:48,397 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:46:48,397 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:46:48,397 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:46:48,418 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:46:48,536 INFO L256 TraceCheckUtils]: 0: Hoare triple {167#true} call ULTIMATE.init(); {167#true} is VALID [2018-11-18 23:46:48,536 INFO L273 TraceCheckUtils]: 1: Hoare triple {167#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {167#true} is VALID [2018-11-18 23:46:48,537 INFO L273 TraceCheckUtils]: 2: Hoare triple {167#true} assume true; {167#true} is VALID [2018-11-18 23:46:48,537 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {167#true} {167#true} #55#return; {167#true} is VALID [2018-11-18 23:46:48,537 INFO L256 TraceCheckUtils]: 4: Hoare triple {167#true} call #t~ret9 := main(); {167#true} is VALID [2018-11-18 23:46:48,538 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-18 23:46:48,541 INFO L273 TraceCheckUtils]: 6: Hoare triple {169#(= main_~j~0 0)} assume true; {169#(= main_~j~0 0)} is VALID [2018-11-18 23:46:48,544 INFO L273 TraceCheckUtils]: 7: Hoare triple {169#(= main_~j~0 0)} assume !(~j~0 < 20); {168#false} is VALID [2018-11-18 23:46:48,544 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-18 23:46:48,544 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 + 8 * ~i~0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + 8 * ~i~0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + 8 * ~i~0, 4);~i~0 := 10 + #t~mem5;havoc #t~mem5; {168#false} is VALID [2018-11-18 23:46:48,545 INFO L273 TraceCheckUtils]: 10: Hoare triple {168#false} assume true; {168#false} is VALID [2018-11-18 23:46:48,545 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-18 23:46:48,545 INFO L273 TraceCheckUtils]: 12: Hoare triple {168#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {168#false} is VALID [2018-11-18 23:46:48,546 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-18 23:46:48,546 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 + 8 * ~b, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {167#true} is VALID [2018-11-18 23:46:48,546 INFO L273 TraceCheckUtils]: 15: Hoare triple {167#true} assume true; {167#true} is VALID [2018-11-18 23:46:48,546 INFO L268 TraceCheckUtils]: 16: Hoare quadruple {167#true} {168#false} #59#return; {168#false} is VALID [2018-11-18 23:46:48,547 INFO L273 TraceCheckUtils]: 17: Hoare triple {168#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {168#false} is VALID [2018-11-18 23:46:48,547 INFO L273 TraceCheckUtils]: 18: Hoare triple {168#false} assume 0 == #t~ret8;havoc #t~ret8; {168#false} is VALID [2018-11-18 23:46:48,547 INFO L273 TraceCheckUtils]: 19: Hoare triple {168#false} assume !false; {168#false} is VALID [2018-11-18 23:46:48,549 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-18 23:46:48,549 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-18 23:46:48,549 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-18 23:46:48,551 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 20 [2018-11-18 23:46:48,551 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:46:48,552 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-18 23:46:48,620 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-18 23:46:48,620 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-18 23:46:48,621 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-18 23:46:48,621 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-18 23:46:48,621 INFO L87 Difference]: Start difference. First operand 22 states and 23 transitions. Second operand 3 states. [2018-11-18 23:46:48,754 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:46:48,755 INFO L93 Difference]: Finished difference Result 38 states and 40 transitions. [2018-11-18 23:46:48,755 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-18 23:46:48,755 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 20 [2018-11-18 23:46:48,755 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:46:48,756 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-18 23:46:48,759 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 40 transitions. [2018-11-18 23:46:48,759 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-18 23:46:48,762 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 40 transitions. [2018-11-18 23:46:48,762 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 40 transitions. [2018-11-18 23:46:48,960 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-18 23:46:48,963 INFO L225 Difference]: With dead ends: 38 [2018-11-18 23:46:48,964 INFO L226 Difference]: Without dead ends: 25 [2018-11-18 23:46:48,965 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-18 23:46:48,966 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 25 states. [2018-11-18 23:46:49,103 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 25 to 24. [2018-11-18 23:46:49,104 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:46:49,104 INFO L82 GeneralOperation]: Start isEquivalent. First operand 25 states. Second operand 24 states. [2018-11-18 23:46:49,104 INFO L74 IsIncluded]: Start isIncluded. First operand 25 states. Second operand 24 states. [2018-11-18 23:46:49,104 INFO L87 Difference]: Start difference. First operand 25 states. Second operand 24 states. [2018-11-18 23:46:49,107 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:46:49,108 INFO L93 Difference]: Finished difference Result 25 states and 26 transitions. [2018-11-18 23:46:49,108 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 26 transitions. [2018-11-18 23:46:49,108 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:46:49,110 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:46:49,110 INFO L74 IsIncluded]: Start isIncluded. First operand 24 states. Second operand 25 states. [2018-11-18 23:46:49,110 INFO L87 Difference]: Start difference. First operand 24 states. Second operand 25 states. [2018-11-18 23:46:49,113 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:46:49,113 INFO L93 Difference]: Finished difference Result 25 states and 26 transitions. [2018-11-18 23:46:49,113 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 26 transitions. [2018-11-18 23:46:49,118 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:46:49,118 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:46:49,118 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:46:49,118 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:46:49,119 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-18 23:46:49,121 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 25 transitions. [2018-11-18 23:46:49,121 INFO L78 Accepts]: Start accepts. Automaton has 24 states and 25 transitions. Word has length 20 [2018-11-18 23:46:49,121 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:46:49,121 INFO L480 AbstractCegarLoop]: Abstraction has 24 states and 25 transitions. [2018-11-18 23:46:49,121 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-18 23:46:49,123 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 25 transitions. [2018-11-18 23:46:49,124 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2018-11-18 23:46:49,124 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:46:49,124 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-18 23:46:49,125 INFO L423 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:46:49,125 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:46:49,126 INFO L82 PathProgramCache]: Analyzing trace with hash 227309715, now seen corresponding path program 1 times [2018-11-18 23:46:49,126 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:46:49,126 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:46:49,129 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:46:49,130 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:46:49,130 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:46:49,186 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:46:49,269 INFO L256 TraceCheckUtils]: 0: Hoare triple {308#true} call ULTIMATE.init(); {308#true} is VALID [2018-11-18 23:46:49,269 INFO L273 TraceCheckUtils]: 1: Hoare triple {308#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {308#true} is VALID [2018-11-18 23:46:49,269 INFO L273 TraceCheckUtils]: 2: Hoare triple {308#true} assume true; {308#true} is VALID [2018-11-18 23:46:49,270 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {308#true} {308#true} #55#return; {308#true} is VALID [2018-11-18 23:46:49,271 INFO L256 TraceCheckUtils]: 4: Hoare triple {308#true} call #t~ret9 := main(); {308#true} is VALID [2018-11-18 23:46:49,272 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-18 23:46:49,274 INFO L273 TraceCheckUtils]: 6: Hoare triple {310#(= main_~j~0 0)} assume true; {310#(= main_~j~0 0)} is VALID [2018-11-18 23:46:49,274 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {310#(= main_~j~0 0)} is VALID [2018-11-18 23:46:49,276 INFO L273 TraceCheckUtils]: 8: Hoare triple {310#(= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {311#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:49,277 INFO L273 TraceCheckUtils]: 9: Hoare triple {311#(<= main_~j~0 1)} assume true; {311#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:49,278 INFO L273 TraceCheckUtils]: 10: Hoare triple {311#(<= main_~j~0 1)} assume !(~j~0 < 20); {309#false} is VALID [2018-11-18 23:46:49,278 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-18 23:46:49,279 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 + 8 * ~i~0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + 8 * ~i~0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + 8 * ~i~0, 4);~i~0 := 10 + #t~mem5;havoc #t~mem5; {309#false} is VALID [2018-11-18 23:46:49,279 INFO L273 TraceCheckUtils]: 13: Hoare triple {309#false} assume true; {309#false} is VALID [2018-11-18 23:46:49,280 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-18 23:46:49,280 INFO L273 TraceCheckUtils]: 15: Hoare triple {309#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {309#false} is VALID [2018-11-18 23:46:49,281 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-18 23:46:49,281 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 + 8 * ~b, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {308#true} is VALID [2018-11-18 23:46:49,282 INFO L273 TraceCheckUtils]: 18: Hoare triple {308#true} assume true; {308#true} is VALID [2018-11-18 23:46:49,282 INFO L268 TraceCheckUtils]: 19: Hoare quadruple {308#true} {309#false} #59#return; {309#false} is VALID [2018-11-18 23:46:49,282 INFO L273 TraceCheckUtils]: 20: Hoare triple {309#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {309#false} is VALID [2018-11-18 23:46:49,282 INFO L273 TraceCheckUtils]: 21: Hoare triple {309#false} assume 0 == #t~ret8;havoc #t~ret8; {309#false} is VALID [2018-11-18 23:46:49,283 INFO L273 TraceCheckUtils]: 22: Hoare triple {309#false} assume !false; {309#false} is VALID [2018-11-18 23:46:49,284 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-18 23:46:49,285 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:46:49,285 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-18 23:46:49,303 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:46:49,340 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:46:49,372 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:46:49,378 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:46:49,918 INFO L256 TraceCheckUtils]: 0: Hoare triple {308#true} call ULTIMATE.init(); {308#true} is VALID [2018-11-18 23:46:49,919 INFO L273 TraceCheckUtils]: 1: Hoare triple {308#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {308#true} is VALID [2018-11-18 23:46:49,919 INFO L273 TraceCheckUtils]: 2: Hoare triple {308#true} assume true; {308#true} is VALID [2018-11-18 23:46:49,919 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {308#true} {308#true} #55#return; {308#true} is VALID [2018-11-18 23:46:49,920 INFO L256 TraceCheckUtils]: 4: Hoare triple {308#true} call #t~ret9 := main(); {308#true} is VALID [2018-11-18 23:46:49,929 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-18 23:46:49,931 INFO L273 TraceCheckUtils]: 6: Hoare triple {330#(<= main_~j~0 0)} assume true; {330#(<= main_~j~0 0)} is VALID [2018-11-18 23:46:49,944 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {330#(<= main_~j~0 0)} is VALID [2018-11-18 23:46:49,949 INFO L273 TraceCheckUtils]: 8: Hoare triple {330#(<= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {311#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:49,950 INFO L273 TraceCheckUtils]: 9: Hoare triple {311#(<= main_~j~0 1)} assume true; {311#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:49,951 INFO L273 TraceCheckUtils]: 10: Hoare triple {311#(<= main_~j~0 1)} assume !(~j~0 < 20); {309#false} is VALID [2018-11-18 23:46:49,951 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-18 23:46:49,951 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 + 8 * ~i~0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + 8 * ~i~0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + 8 * ~i~0, 4);~i~0 := 10 + #t~mem5;havoc #t~mem5; {309#false} is VALID [2018-11-18 23:46:49,951 INFO L273 TraceCheckUtils]: 13: Hoare triple {309#false} assume true; {309#false} is VALID [2018-11-18 23:46:49,952 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-18 23:46:49,952 INFO L273 TraceCheckUtils]: 15: Hoare triple {309#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {309#false} is VALID [2018-11-18 23:46:49,952 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-18 23:46:49,953 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 + 8 * ~b, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {309#false} is VALID [2018-11-18 23:46:49,953 INFO L273 TraceCheckUtils]: 18: Hoare triple {309#false} assume true; {309#false} is VALID [2018-11-18 23:46:49,953 INFO L268 TraceCheckUtils]: 19: Hoare quadruple {309#false} {309#false} #59#return; {309#false} is VALID [2018-11-18 23:46:49,954 INFO L273 TraceCheckUtils]: 20: Hoare triple {309#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {309#false} is VALID [2018-11-18 23:46:49,954 INFO L273 TraceCheckUtils]: 21: Hoare triple {309#false} assume 0 == #t~ret8;havoc #t~ret8; {309#false} is VALID [2018-11-18 23:46:49,954 INFO L273 TraceCheckUtils]: 22: Hoare triple {309#false} assume !false; {309#false} is VALID [2018-11-18 23:46:49,956 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-18 23:46:49,976 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:46:49,976 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 5 [2018-11-18 23:46:49,977 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 23 [2018-11-18 23:46:49,977 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:46:49,978 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2018-11-18 23:46:50,087 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-18 23:46:50,088 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-11-18 23:46:50,088 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-18 23:46:50,088 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2018-11-18 23:46:50,089 INFO L87 Difference]: Start difference. First operand 24 states and 25 transitions. Second operand 5 states. [2018-11-18 23:46:50,329 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:46:50,329 INFO L93 Difference]: Finished difference Result 41 states and 43 transitions. [2018-11-18 23:46:50,329 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-18 23:46:50,330 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 23 [2018-11-18 23:46:50,330 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:46:50,330 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-18 23:46:50,337 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 43 transitions. [2018-11-18 23:46:50,337 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-18 23:46:50,341 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 43 transitions. [2018-11-18 23:46:50,341 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 43 transitions. [2018-11-18 23:46:50,431 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-18 23:46:50,433 INFO L225 Difference]: With dead ends: 41 [2018-11-18 23:46:50,433 INFO L226 Difference]: Without dead ends: 28 [2018-11-18 23:46:50,434 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-18 23:46:50,434 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 28 states. [2018-11-18 23:46:50,453 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 28 to 27. [2018-11-18 23:46:50,453 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:46:50,453 INFO L82 GeneralOperation]: Start isEquivalent. First operand 28 states. Second operand 27 states. [2018-11-18 23:46:50,453 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand 27 states. [2018-11-18 23:46:50,454 INFO L87 Difference]: Start difference. First operand 28 states. Second operand 27 states. [2018-11-18 23:46:50,456 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:46:50,456 INFO L93 Difference]: Finished difference Result 28 states and 29 transitions. [2018-11-18 23:46:50,456 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 29 transitions. [2018-11-18 23:46:50,457 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:46:50,457 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:46:50,457 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 28 states. [2018-11-18 23:46:50,457 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 28 states. [2018-11-18 23:46:50,460 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:46:50,460 INFO L93 Difference]: Finished difference Result 28 states and 29 transitions. [2018-11-18 23:46:50,460 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 29 transitions. [2018-11-18 23:46:50,461 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:46:50,461 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:46:50,461 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:46:50,461 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:46:50,462 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2018-11-18 23:46:50,464 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 28 transitions. [2018-11-18 23:46:50,464 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 28 transitions. Word has length 23 [2018-11-18 23:46:50,464 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:46:50,464 INFO L480 AbstractCegarLoop]: Abstraction has 27 states and 28 transitions. [2018-11-18 23:46:50,464 INFO L481 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-11-18 23:46:50,465 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 28 transitions. [2018-11-18 23:46:50,465 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2018-11-18 23:46:50,466 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:46:50,466 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-18 23:46:50,466 INFO L423 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:46:50,466 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:46:50,467 INFO L82 PathProgramCache]: Analyzing trace with hash -1446544252, now seen corresponding path program 2 times [2018-11-18 23:46:50,467 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:46:50,467 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:46:50,468 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:46:50,468 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:46:50,468 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:46:50,491 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:46:50,585 INFO L256 TraceCheckUtils]: 0: Hoare triple {531#true} call ULTIMATE.init(); {531#true} is VALID [2018-11-18 23:46:50,586 INFO L273 TraceCheckUtils]: 1: Hoare triple {531#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {531#true} is VALID [2018-11-18 23:46:50,586 INFO L273 TraceCheckUtils]: 2: Hoare triple {531#true} assume true; {531#true} is VALID [2018-11-18 23:46:50,586 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {531#true} {531#true} #55#return; {531#true} is VALID [2018-11-18 23:46:50,587 INFO L256 TraceCheckUtils]: 4: Hoare triple {531#true} call #t~ret9 := main(); {531#true} is VALID [2018-11-18 23:46:50,588 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-18 23:46:50,589 INFO L273 TraceCheckUtils]: 6: Hoare triple {533#(= main_~j~0 0)} assume true; {533#(= main_~j~0 0)} is VALID [2018-11-18 23:46:50,597 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {533#(= main_~j~0 0)} is VALID [2018-11-18 23:46:50,599 INFO L273 TraceCheckUtils]: 8: Hoare triple {533#(= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {534#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:50,600 INFO L273 TraceCheckUtils]: 9: Hoare triple {534#(<= main_~j~0 1)} assume true; {534#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:50,602 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {534#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:50,603 INFO L273 TraceCheckUtils]: 11: Hoare triple {534#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {535#(<= main_~j~0 2)} is VALID [2018-11-18 23:46:50,603 INFO L273 TraceCheckUtils]: 12: Hoare triple {535#(<= main_~j~0 2)} assume true; {535#(<= main_~j~0 2)} is VALID [2018-11-18 23:46:50,606 INFO L273 TraceCheckUtils]: 13: Hoare triple {535#(<= main_~j~0 2)} assume !(~j~0 < 20); {532#false} is VALID [2018-11-18 23:46:50,606 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-18 23:46:50,607 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 + 8 * ~i~0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + 8 * ~i~0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + 8 * ~i~0, 4);~i~0 := 10 + #t~mem5;havoc #t~mem5; {532#false} is VALID [2018-11-18 23:46:50,607 INFO L273 TraceCheckUtils]: 16: Hoare triple {532#false} assume true; {532#false} is VALID [2018-11-18 23:46:50,607 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-18 23:46:50,608 INFO L273 TraceCheckUtils]: 18: Hoare triple {532#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {532#false} is VALID [2018-11-18 23:46:50,608 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-18 23:46:50,608 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 + 8 * ~b, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {531#true} is VALID [2018-11-18 23:46:50,609 INFO L273 TraceCheckUtils]: 21: Hoare triple {531#true} assume true; {531#true} is VALID [2018-11-18 23:46:50,609 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {531#true} {532#false} #59#return; {532#false} is VALID [2018-11-18 23:46:50,609 INFO L273 TraceCheckUtils]: 23: Hoare triple {532#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {532#false} is VALID [2018-11-18 23:46:50,610 INFO L273 TraceCheckUtils]: 24: Hoare triple {532#false} assume 0 == #t~ret8;havoc #t~ret8; {532#false} is VALID [2018-11-18 23:46:50,610 INFO L273 TraceCheckUtils]: 25: Hoare triple {532#false} assume !false; {532#false} is VALID [2018-11-18 23:46:50,612 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-18 23:46:50,612 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:46:50,612 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-18 23:46:50,625 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-18 23:46:50,669 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-18 23:46:50,670 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-18 23:46:50,691 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:46:50,692 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:46:50,836 INFO L256 TraceCheckUtils]: 0: Hoare triple {531#true} call ULTIMATE.init(); {531#true} is VALID [2018-11-18 23:46:50,836 INFO L273 TraceCheckUtils]: 1: Hoare triple {531#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {531#true} is VALID [2018-11-18 23:46:50,837 INFO L273 TraceCheckUtils]: 2: Hoare triple {531#true} assume true; {531#true} is VALID [2018-11-18 23:46:50,837 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {531#true} {531#true} #55#return; {531#true} is VALID [2018-11-18 23:46:50,837 INFO L256 TraceCheckUtils]: 4: Hoare triple {531#true} call #t~ret9 := main(); {531#true} is VALID [2018-11-18 23:46:50,839 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-18 23:46:50,841 INFO L273 TraceCheckUtils]: 6: Hoare triple {554#(<= main_~j~0 0)} assume true; {554#(<= main_~j~0 0)} is VALID [2018-11-18 23:46:50,841 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {554#(<= main_~j~0 0)} is VALID [2018-11-18 23:46:50,843 INFO L273 TraceCheckUtils]: 8: Hoare triple {554#(<= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {534#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:50,843 INFO L273 TraceCheckUtils]: 9: Hoare triple {534#(<= main_~j~0 1)} assume true; {534#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:50,845 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {534#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:50,845 INFO L273 TraceCheckUtils]: 11: Hoare triple {534#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {535#(<= main_~j~0 2)} is VALID [2018-11-18 23:46:50,861 INFO L273 TraceCheckUtils]: 12: Hoare triple {535#(<= main_~j~0 2)} assume true; {535#(<= main_~j~0 2)} is VALID [2018-11-18 23:46:50,863 INFO L273 TraceCheckUtils]: 13: Hoare triple {535#(<= main_~j~0 2)} assume !(~j~0 < 20); {532#false} is VALID [2018-11-18 23:46:50,863 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-18 23:46:50,863 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 + 8 * ~i~0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + 8 * ~i~0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + 8 * ~i~0, 4);~i~0 := 10 + #t~mem5;havoc #t~mem5; {532#false} is VALID [2018-11-18 23:46:50,864 INFO L273 TraceCheckUtils]: 16: Hoare triple {532#false} assume true; {532#false} is VALID [2018-11-18 23:46:50,864 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-18 23:46:50,864 INFO L273 TraceCheckUtils]: 18: Hoare triple {532#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {532#false} is VALID [2018-11-18 23:46:50,864 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-18 23:46:50,864 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 + 8 * ~b, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {532#false} is VALID [2018-11-18 23:46:50,865 INFO L273 TraceCheckUtils]: 21: Hoare triple {532#false} assume true; {532#false} is VALID [2018-11-18 23:46:50,865 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {532#false} {532#false} #59#return; {532#false} is VALID [2018-11-18 23:46:50,865 INFO L273 TraceCheckUtils]: 23: Hoare triple {532#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {532#false} is VALID [2018-11-18 23:46:50,866 INFO L273 TraceCheckUtils]: 24: Hoare triple {532#false} assume 0 == #t~ret8;havoc #t~ret8; {532#false} is VALID [2018-11-18 23:46:50,866 INFO L273 TraceCheckUtils]: 25: Hoare triple {532#false} assume !false; {532#false} is VALID [2018-11-18 23:46:50,867 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-18 23:46:50,886 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:46:50,886 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 6 [2018-11-18 23:46:50,887 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 26 [2018-11-18 23:46:50,888 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:46:50,888 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-18 23:46:50,953 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-18 23:46:50,953 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-18 23:46:50,953 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-18 23:46:50,954 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2018-11-18 23:46:50,954 INFO L87 Difference]: Start difference. First operand 27 states and 28 transitions. Second operand 6 states. [2018-11-18 23:46:51,261 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:46:51,263 INFO L93 Difference]: Finished difference Result 44 states and 46 transitions. [2018-11-18 23:46:51,263 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-18 23:46:51,263 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 26 [2018-11-18 23:46:51,263 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:46:51,263 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-18 23:46:51,268 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 46 transitions. [2018-11-18 23:46:51,269 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-18 23:46:51,270 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 46 transitions. [2018-11-18 23:46:51,270 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 46 transitions. [2018-11-18 23:46:51,339 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-18 23:46:51,341 INFO L225 Difference]: With dead ends: 44 [2018-11-18 23:46:51,342 INFO L226 Difference]: Without dead ends: 31 [2018-11-18 23:46:51,343 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-18 23:46:51,343 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31 states. [2018-11-18 23:46:51,362 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31 to 30. [2018-11-18 23:46:51,362 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:46:51,362 INFO L82 GeneralOperation]: Start isEquivalent. First operand 31 states. Second operand 30 states. [2018-11-18 23:46:51,363 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 30 states. [2018-11-18 23:46:51,363 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 30 states. [2018-11-18 23:46:51,365 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:46:51,365 INFO L93 Difference]: Finished difference Result 31 states and 32 transitions. [2018-11-18 23:46:51,365 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 32 transitions. [2018-11-18 23:46:51,366 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:46:51,366 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:46:51,366 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 31 states. [2018-11-18 23:46:51,367 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 31 states. [2018-11-18 23:46:51,369 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:46:51,369 INFO L93 Difference]: Finished difference Result 31 states and 32 transitions. [2018-11-18 23:46:51,369 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 32 transitions. [2018-11-18 23:46:51,370 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:46:51,370 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:46:51,370 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:46:51,370 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:46:51,370 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2018-11-18 23:46:51,372 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 31 transitions. [2018-11-18 23:46:51,372 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 31 transitions. Word has length 26 [2018-11-18 23:46:51,372 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:46:51,373 INFO L480 AbstractCegarLoop]: Abstraction has 30 states and 31 transitions. [2018-11-18 23:46:51,373 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-18 23:46:51,373 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 31 transitions. [2018-11-18 23:46:51,374 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2018-11-18 23:46:51,374 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:46:51,374 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-18 23:46:51,374 INFO L423 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:46:51,375 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:46:51,375 INFO L82 PathProgramCache]: Analyzing trace with hash 1635198707, now seen corresponding path program 3 times [2018-11-18 23:46:51,375 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:46:51,375 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:46:51,376 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:46:51,376 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-18 23:46:51,376 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:46:51,399 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:46:51,486 INFO L256 TraceCheckUtils]: 0: Hoare triple {778#true} call ULTIMATE.init(); {778#true} is VALID [2018-11-18 23:46:51,487 INFO L273 TraceCheckUtils]: 1: Hoare triple {778#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {778#true} is VALID [2018-11-18 23:46:51,487 INFO L273 TraceCheckUtils]: 2: Hoare triple {778#true} assume true; {778#true} is VALID [2018-11-18 23:46:51,487 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {778#true} {778#true} #55#return; {778#true} is VALID [2018-11-18 23:46:51,488 INFO L256 TraceCheckUtils]: 4: Hoare triple {778#true} call #t~ret9 := main(); {778#true} is VALID [2018-11-18 23:46:51,488 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-18 23:46:51,489 INFO L273 TraceCheckUtils]: 6: Hoare triple {780#(= main_~j~0 0)} assume true; {780#(= main_~j~0 0)} is VALID [2018-11-18 23:46:51,490 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {780#(= main_~j~0 0)} is VALID [2018-11-18 23:46:51,491 INFO L273 TraceCheckUtils]: 8: Hoare triple {780#(= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {781#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:51,491 INFO L273 TraceCheckUtils]: 9: Hoare triple {781#(<= main_~j~0 1)} assume true; {781#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:51,493 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {781#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:51,499 INFO L273 TraceCheckUtils]: 11: Hoare triple {781#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {782#(<= main_~j~0 2)} is VALID [2018-11-18 23:46:51,501 INFO L273 TraceCheckUtils]: 12: Hoare triple {782#(<= main_~j~0 2)} assume true; {782#(<= main_~j~0 2)} is VALID [2018-11-18 23:46:51,501 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {782#(<= main_~j~0 2)} is VALID [2018-11-18 23:46:51,503 INFO L273 TraceCheckUtils]: 14: Hoare triple {782#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {783#(<= main_~j~0 3)} is VALID [2018-11-18 23:46:51,505 INFO L273 TraceCheckUtils]: 15: Hoare triple {783#(<= main_~j~0 3)} assume true; {783#(<= main_~j~0 3)} is VALID [2018-11-18 23:46:51,506 INFO L273 TraceCheckUtils]: 16: Hoare triple {783#(<= main_~j~0 3)} assume !(~j~0 < 20); {779#false} is VALID [2018-11-18 23:46:51,506 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-18 23:46:51,506 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 + 8 * ~i~0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + 8 * ~i~0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + 8 * ~i~0, 4);~i~0 := 10 + #t~mem5;havoc #t~mem5; {779#false} is VALID [2018-11-18 23:46:51,506 INFO L273 TraceCheckUtils]: 19: Hoare triple {779#false} assume true; {779#false} is VALID [2018-11-18 23:46:51,507 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-18 23:46:51,507 INFO L273 TraceCheckUtils]: 21: Hoare triple {779#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {779#false} is VALID [2018-11-18 23:46:51,507 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-18 23:46:51,507 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 + 8 * ~b, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {778#true} is VALID [2018-11-18 23:46:51,507 INFO L273 TraceCheckUtils]: 24: Hoare triple {778#true} assume true; {778#true} is VALID [2018-11-18 23:46:51,508 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {778#true} {779#false} #59#return; {779#false} is VALID [2018-11-18 23:46:51,508 INFO L273 TraceCheckUtils]: 26: Hoare triple {779#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {779#false} is VALID [2018-11-18 23:46:51,508 INFO L273 TraceCheckUtils]: 27: Hoare triple {779#false} assume 0 == #t~ret8;havoc #t~ret8; {779#false} is VALID [2018-11-18 23:46:51,508 INFO L273 TraceCheckUtils]: 28: Hoare triple {779#false} assume !false; {779#false} is VALID [2018-11-18 23:46:51,510 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-18 23:46:51,510 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:46:51,510 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-18 23:46:51,521 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-18 23:46:51,551 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2018-11-18 23:46:51,551 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-18 23:46:51,563 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:46:51,564 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:46:51,652 INFO L256 TraceCheckUtils]: 0: Hoare triple {778#true} call ULTIMATE.init(); {778#true} is VALID [2018-11-18 23:46:51,653 INFO L273 TraceCheckUtils]: 1: Hoare triple {778#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {778#true} is VALID [2018-11-18 23:46:51,653 INFO L273 TraceCheckUtils]: 2: Hoare triple {778#true} assume true; {778#true} is VALID [2018-11-18 23:46:51,654 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {778#true} {778#true} #55#return; {778#true} is VALID [2018-11-18 23:46:51,654 INFO L256 TraceCheckUtils]: 4: Hoare triple {778#true} call #t~ret9 := main(); {778#true} is VALID [2018-11-18 23:46:51,655 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-18 23:46:51,655 INFO L273 TraceCheckUtils]: 6: Hoare triple {802#(<= main_~j~0 0)} assume true; {802#(<= main_~j~0 0)} is VALID [2018-11-18 23:46:51,656 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {802#(<= main_~j~0 0)} is VALID [2018-11-18 23:46:51,657 INFO L273 TraceCheckUtils]: 8: Hoare triple {802#(<= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {781#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:51,657 INFO L273 TraceCheckUtils]: 9: Hoare triple {781#(<= main_~j~0 1)} assume true; {781#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:51,658 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {781#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:51,659 INFO L273 TraceCheckUtils]: 11: Hoare triple {781#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {782#(<= main_~j~0 2)} is VALID [2018-11-18 23:46:51,659 INFO L273 TraceCheckUtils]: 12: Hoare triple {782#(<= main_~j~0 2)} assume true; {782#(<= main_~j~0 2)} is VALID [2018-11-18 23:46:51,660 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {782#(<= main_~j~0 2)} is VALID [2018-11-18 23:46:51,661 INFO L273 TraceCheckUtils]: 14: Hoare triple {782#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {783#(<= main_~j~0 3)} is VALID [2018-11-18 23:46:51,662 INFO L273 TraceCheckUtils]: 15: Hoare triple {783#(<= main_~j~0 3)} assume true; {783#(<= main_~j~0 3)} is VALID [2018-11-18 23:46:51,663 INFO L273 TraceCheckUtils]: 16: Hoare triple {783#(<= main_~j~0 3)} assume !(~j~0 < 20); {779#false} is VALID [2018-11-18 23:46:51,663 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-18 23:46:51,663 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 + 8 * ~i~0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + 8 * ~i~0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + 8 * ~i~0, 4);~i~0 := 10 + #t~mem5;havoc #t~mem5; {779#false} is VALID [2018-11-18 23:46:51,664 INFO L273 TraceCheckUtils]: 19: Hoare triple {779#false} assume true; {779#false} is VALID [2018-11-18 23:46:51,664 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-18 23:46:51,664 INFO L273 TraceCheckUtils]: 21: Hoare triple {779#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {779#false} is VALID [2018-11-18 23:46:51,665 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-18 23:46:51,665 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 + 8 * ~b, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {779#false} is VALID [2018-11-18 23:46:51,666 INFO L273 TraceCheckUtils]: 24: Hoare triple {779#false} assume true; {779#false} is VALID [2018-11-18 23:46:51,666 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {779#false} {779#false} #59#return; {779#false} is VALID [2018-11-18 23:46:51,667 INFO L273 TraceCheckUtils]: 26: Hoare triple {779#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {779#false} is VALID [2018-11-18 23:46:51,667 INFO L273 TraceCheckUtils]: 27: Hoare triple {779#false} assume 0 == #t~ret8;havoc #t~ret8; {779#false} is VALID [2018-11-18 23:46:51,667 INFO L273 TraceCheckUtils]: 28: Hoare triple {779#false} assume !false; {779#false} is VALID [2018-11-18 23:46:51,669 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-18 23:46:51,691 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:46:51,691 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 7 [2018-11-18 23:46:51,692 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 29 [2018-11-18 23:46:51,692 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:46:51,693 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2018-11-18 23:46:51,740 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-18 23:46:51,740 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-18 23:46:51,741 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-18 23:46:51,741 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=21, Unknown=0, NotChecked=0, Total=42 [2018-11-18 23:46:51,742 INFO L87 Difference]: Start difference. First operand 30 states and 31 transitions. Second operand 7 states. [2018-11-18 23:46:51,908 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:46:51,908 INFO L93 Difference]: Finished difference Result 47 states and 49 transitions. [2018-11-18 23:46:51,909 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-18 23:46:51,909 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 29 [2018-11-18 23:46:51,909 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:46:51,909 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-11-18 23:46:51,912 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 49 transitions. [2018-11-18 23:46:51,912 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-11-18 23:46:51,914 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 49 transitions. [2018-11-18 23:46:51,914 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 49 transitions. [2018-11-18 23:46:52,033 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-18 23:46:52,035 INFO L225 Difference]: With dead ends: 47 [2018-11-18 23:46:52,035 INFO L226 Difference]: Without dead ends: 34 [2018-11-18 23:46:52,036 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-18 23:46:52,036 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 34 states. [2018-11-18 23:46:52,057 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 34 to 33. [2018-11-18 23:46:52,057 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:46:52,057 INFO L82 GeneralOperation]: Start isEquivalent. First operand 34 states. Second operand 33 states. [2018-11-18 23:46:52,057 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand 33 states. [2018-11-18 23:46:52,057 INFO L87 Difference]: Start difference. First operand 34 states. Second operand 33 states. [2018-11-18 23:46:52,059 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:46:52,059 INFO L93 Difference]: Finished difference Result 34 states and 35 transitions. [2018-11-18 23:46:52,059 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 35 transitions. [2018-11-18 23:46:52,060 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:46:52,060 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:46:52,060 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand 34 states. [2018-11-18 23:46:52,060 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 34 states. [2018-11-18 23:46:52,062 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:46:52,062 INFO L93 Difference]: Finished difference Result 34 states and 35 transitions. [2018-11-18 23:46:52,063 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 35 transitions. [2018-11-18 23:46:52,063 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:46:52,063 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:46:52,064 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:46:52,064 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:46:52,064 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2018-11-18 23:46:52,065 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 34 transitions. [2018-11-18 23:46:52,066 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 34 transitions. Word has length 29 [2018-11-18 23:46:52,066 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:46:52,066 INFO L480 AbstractCegarLoop]: Abstraction has 33 states and 34 transitions. [2018-11-18 23:46:52,066 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-18 23:46:52,067 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 34 transitions. [2018-11-18 23:46:52,067 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2018-11-18 23:46:52,068 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:46:52,068 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-18 23:46:52,068 INFO L423 AbstractCegarLoop]: === Iteration 6 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:46:52,068 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:46:52,068 INFO L82 PathProgramCache]: Analyzing trace with hash 618770980, now seen corresponding path program 4 times [2018-11-18 23:46:52,069 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:46:52,069 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:46:52,070 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:46:52,070 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-18 23:46:52,070 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:46:52,093 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:46:52,279 INFO L256 TraceCheckUtils]: 0: Hoare triple {1049#true} call ULTIMATE.init(); {1049#true} is VALID [2018-11-18 23:46:52,279 INFO L273 TraceCheckUtils]: 1: Hoare triple {1049#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1049#true} is VALID [2018-11-18 23:46:52,280 INFO L273 TraceCheckUtils]: 2: Hoare triple {1049#true} assume true; {1049#true} is VALID [2018-11-18 23:46:52,280 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1049#true} {1049#true} #55#return; {1049#true} is VALID [2018-11-18 23:46:52,281 INFO L256 TraceCheckUtils]: 4: Hoare triple {1049#true} call #t~ret9 := main(); {1049#true} is VALID [2018-11-18 23:46:52,281 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-18 23:46:52,282 INFO L273 TraceCheckUtils]: 6: Hoare triple {1051#(= main_~j~0 0)} assume true; {1051#(= main_~j~0 0)} is VALID [2018-11-18 23:46:52,283 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {1051#(= main_~j~0 0)} is VALID [2018-11-18 23:46:52,284 INFO L273 TraceCheckUtils]: 8: Hoare triple {1051#(= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {1052#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:52,294 INFO L273 TraceCheckUtils]: 9: Hoare triple {1052#(<= main_~j~0 1)} assume true; {1052#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:52,311 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {1052#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:52,320 INFO L273 TraceCheckUtils]: 11: Hoare triple {1052#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {1053#(<= main_~j~0 2)} is VALID [2018-11-18 23:46:52,335 INFO L273 TraceCheckUtils]: 12: Hoare triple {1053#(<= main_~j~0 2)} assume true; {1053#(<= main_~j~0 2)} is VALID [2018-11-18 23:46:52,340 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {1053#(<= main_~j~0 2)} is VALID [2018-11-18 23:46:52,341 INFO L273 TraceCheckUtils]: 14: Hoare triple {1053#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {1054#(<= main_~j~0 3)} is VALID [2018-11-18 23:46:52,341 INFO L273 TraceCheckUtils]: 15: Hoare triple {1054#(<= main_~j~0 3)} assume true; {1054#(<= main_~j~0 3)} is VALID [2018-11-18 23:46:52,343 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {1054#(<= main_~j~0 3)} is VALID [2018-11-18 23:46:52,343 INFO L273 TraceCheckUtils]: 17: Hoare triple {1054#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {1055#(<= main_~j~0 4)} is VALID [2018-11-18 23:46:52,345 INFO L273 TraceCheckUtils]: 18: Hoare triple {1055#(<= main_~j~0 4)} assume true; {1055#(<= main_~j~0 4)} is VALID [2018-11-18 23:46:52,346 INFO L273 TraceCheckUtils]: 19: Hoare triple {1055#(<= main_~j~0 4)} assume !(~j~0 < 20); {1050#false} is VALID [2018-11-18 23:46:52,346 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-18 23:46:52,346 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 + 8 * ~i~0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + 8 * ~i~0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + 8 * ~i~0, 4);~i~0 := 10 + #t~mem5;havoc #t~mem5; {1050#false} is VALID [2018-11-18 23:46:52,347 INFO L273 TraceCheckUtils]: 22: Hoare triple {1050#false} assume true; {1050#false} is VALID [2018-11-18 23:46:52,347 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-18 23:46:52,347 INFO L273 TraceCheckUtils]: 24: Hoare triple {1050#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {1050#false} is VALID [2018-11-18 23:46:52,348 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-18 23:46:52,348 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 + 8 * ~b, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {1049#true} is VALID [2018-11-18 23:46:52,348 INFO L273 TraceCheckUtils]: 27: Hoare triple {1049#true} assume true; {1049#true} is VALID [2018-11-18 23:46:52,349 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {1049#true} {1050#false} #59#return; {1050#false} is VALID [2018-11-18 23:46:52,349 INFO L273 TraceCheckUtils]: 29: Hoare triple {1050#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {1050#false} is VALID [2018-11-18 23:46:52,349 INFO L273 TraceCheckUtils]: 30: Hoare triple {1050#false} assume 0 == #t~ret8;havoc #t~ret8; {1050#false} is VALID [2018-11-18 23:46:52,349 INFO L273 TraceCheckUtils]: 31: Hoare triple {1050#false} assume !false; {1050#false} is VALID [2018-11-18 23:46:52,351 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-18 23:46:52,351 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:46:52,352 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-18 23:46:52,361 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-18 23:46:52,392 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-18 23:46:52,392 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-18 23:46:52,418 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:46:52,419 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:46:52,602 INFO L256 TraceCheckUtils]: 0: Hoare triple {1049#true} call ULTIMATE.init(); {1049#true} is VALID [2018-11-18 23:46:52,603 INFO L273 TraceCheckUtils]: 1: Hoare triple {1049#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1049#true} is VALID [2018-11-18 23:46:52,603 INFO L273 TraceCheckUtils]: 2: Hoare triple {1049#true} assume true; {1049#true} is VALID [2018-11-18 23:46:52,604 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1049#true} {1049#true} #55#return; {1049#true} is VALID [2018-11-18 23:46:52,604 INFO L256 TraceCheckUtils]: 4: Hoare triple {1049#true} call #t~ret9 := main(); {1049#true} is VALID [2018-11-18 23:46:52,606 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-18 23:46:52,607 INFO L273 TraceCheckUtils]: 6: Hoare triple {1074#(<= main_~j~0 0)} assume true; {1074#(<= main_~j~0 0)} is VALID [2018-11-18 23:46:52,607 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {1074#(<= main_~j~0 0)} is VALID [2018-11-18 23:46:52,608 INFO L273 TraceCheckUtils]: 8: Hoare triple {1074#(<= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {1052#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:52,608 INFO L273 TraceCheckUtils]: 9: Hoare triple {1052#(<= main_~j~0 1)} assume true; {1052#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:52,608 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {1052#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:52,609 INFO L273 TraceCheckUtils]: 11: Hoare triple {1052#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {1053#(<= main_~j~0 2)} is VALID [2018-11-18 23:46:52,610 INFO L273 TraceCheckUtils]: 12: Hoare triple {1053#(<= main_~j~0 2)} assume true; {1053#(<= main_~j~0 2)} is VALID [2018-11-18 23:46:52,610 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {1053#(<= main_~j~0 2)} is VALID [2018-11-18 23:46:52,611 INFO L273 TraceCheckUtils]: 14: Hoare triple {1053#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {1054#(<= main_~j~0 3)} is VALID [2018-11-18 23:46:52,612 INFO L273 TraceCheckUtils]: 15: Hoare triple {1054#(<= main_~j~0 3)} assume true; {1054#(<= main_~j~0 3)} is VALID [2018-11-18 23:46:52,613 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {1054#(<= main_~j~0 3)} is VALID [2018-11-18 23:46:52,614 INFO L273 TraceCheckUtils]: 17: Hoare triple {1054#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {1055#(<= main_~j~0 4)} is VALID [2018-11-18 23:46:52,615 INFO L273 TraceCheckUtils]: 18: Hoare triple {1055#(<= main_~j~0 4)} assume true; {1055#(<= main_~j~0 4)} is VALID [2018-11-18 23:46:52,616 INFO L273 TraceCheckUtils]: 19: Hoare triple {1055#(<= main_~j~0 4)} assume !(~j~0 < 20); {1050#false} is VALID [2018-11-18 23:46:52,616 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-18 23:46:52,617 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 + 8 * ~i~0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + 8 * ~i~0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + 8 * ~i~0, 4);~i~0 := 10 + #t~mem5;havoc #t~mem5; {1050#false} is VALID [2018-11-18 23:46:52,617 INFO L273 TraceCheckUtils]: 22: Hoare triple {1050#false} assume true; {1050#false} is VALID [2018-11-18 23:46:52,618 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-18 23:46:52,618 INFO L273 TraceCheckUtils]: 24: Hoare triple {1050#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {1050#false} is VALID [2018-11-18 23:46:52,618 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-18 23:46:52,619 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 + 8 * ~b, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {1050#false} is VALID [2018-11-18 23:46:52,619 INFO L273 TraceCheckUtils]: 27: Hoare triple {1050#false} assume true; {1050#false} is VALID [2018-11-18 23:46:52,620 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {1050#false} {1050#false} #59#return; {1050#false} is VALID [2018-11-18 23:46:52,620 INFO L273 TraceCheckUtils]: 29: Hoare triple {1050#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {1050#false} is VALID [2018-11-18 23:46:52,620 INFO L273 TraceCheckUtils]: 30: Hoare triple {1050#false} assume 0 == #t~ret8;havoc #t~ret8; {1050#false} is VALID [2018-11-18 23:46:52,621 INFO L273 TraceCheckUtils]: 31: Hoare triple {1050#false} assume !false; {1050#false} is VALID [2018-11-18 23:46:52,623 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-18 23:46:52,653 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:46:52,653 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 8 [2018-11-18 23:46:52,654 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 32 [2018-11-18 23:46:52,654 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:46:52,654 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-11-18 23:46:52,737 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-18 23:46:52,737 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-11-18 23:46:52,737 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-11-18 23:46:52,737 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=28, Unknown=0, NotChecked=0, Total=56 [2018-11-18 23:46:52,738 INFO L87 Difference]: Start difference. First operand 33 states and 34 transitions. Second operand 8 states. [2018-11-18 23:46:52,902 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:46:52,903 INFO L93 Difference]: Finished difference Result 50 states and 52 transitions. [2018-11-18 23:46:52,903 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-18 23:46:52,903 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 32 [2018-11-18 23:46:52,903 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:46:52,904 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-18 23:46:52,906 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 52 transitions. [2018-11-18 23:46:52,906 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-18 23:46:52,908 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 52 transitions. [2018-11-18 23:46:52,908 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 52 transitions. [2018-11-18 23:46:53,013 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-18 23:46:53,015 INFO L225 Difference]: With dead ends: 50 [2018-11-18 23:46:53,015 INFO L226 Difference]: Without dead ends: 37 [2018-11-18 23:46:53,016 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-18 23:46:53,016 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2018-11-18 23:46:53,042 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 36. [2018-11-18 23:46:53,043 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:46:53,043 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand 36 states. [2018-11-18 23:46:53,043 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand 36 states. [2018-11-18 23:46:53,043 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 36 states. [2018-11-18 23:46:53,045 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:46:53,045 INFO L93 Difference]: Finished difference Result 37 states and 38 transitions. [2018-11-18 23:46:53,046 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 38 transitions. [2018-11-18 23:46:53,046 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:46:53,046 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:46:53,047 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand 37 states. [2018-11-18 23:46:53,047 INFO L87 Difference]: Start difference. First operand 36 states. Second operand 37 states. [2018-11-18 23:46:53,048 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:46:53,049 INFO L93 Difference]: Finished difference Result 37 states and 38 transitions. [2018-11-18 23:46:53,049 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 38 transitions. [2018-11-18 23:46:53,049 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:46:53,049 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:46:53,050 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:46:53,050 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:46:53,050 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 36 states. [2018-11-18 23:46:53,052 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 37 transitions. [2018-11-18 23:46:53,052 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 37 transitions. Word has length 32 [2018-11-18 23:46:53,052 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:46:53,052 INFO L480 AbstractCegarLoop]: Abstraction has 36 states and 37 transitions. [2018-11-18 23:46:53,052 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-11-18 23:46:53,053 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 37 transitions. [2018-11-18 23:46:53,053 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2018-11-18 23:46:53,054 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:46:53,054 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-18 23:46:53,054 INFO L423 AbstractCegarLoop]: === Iteration 7 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:46:53,054 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:46:53,054 INFO L82 PathProgramCache]: Analyzing trace with hash -260207277, now seen corresponding path program 5 times [2018-11-18 23:46:53,055 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:46:53,055 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:46:53,056 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:46:53,056 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-18 23:46:53,056 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:46:53,077 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:46:53,339 INFO L256 TraceCheckUtils]: 0: Hoare triple {1344#true} call ULTIMATE.init(); {1344#true} is VALID [2018-11-18 23:46:53,340 INFO L273 TraceCheckUtils]: 1: Hoare triple {1344#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1344#true} is VALID [2018-11-18 23:46:53,340 INFO L273 TraceCheckUtils]: 2: Hoare triple {1344#true} assume true; {1344#true} is VALID [2018-11-18 23:46:53,341 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1344#true} {1344#true} #55#return; {1344#true} is VALID [2018-11-18 23:46:53,341 INFO L256 TraceCheckUtils]: 4: Hoare triple {1344#true} call #t~ret9 := main(); {1344#true} is VALID [2018-11-18 23:46:53,342 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-18 23:46:53,342 INFO L273 TraceCheckUtils]: 6: Hoare triple {1346#(= main_~j~0 0)} assume true; {1346#(= main_~j~0 0)} is VALID [2018-11-18 23:46:53,343 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {1346#(= main_~j~0 0)} is VALID [2018-11-18 23:46:53,343 INFO L273 TraceCheckUtils]: 8: Hoare triple {1346#(= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {1347#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:53,344 INFO L273 TraceCheckUtils]: 9: Hoare triple {1347#(<= main_~j~0 1)} assume true; {1347#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:53,345 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {1347#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:53,346 INFO L273 TraceCheckUtils]: 11: Hoare triple {1347#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {1348#(<= main_~j~0 2)} is VALID [2018-11-18 23:46:53,346 INFO L273 TraceCheckUtils]: 12: Hoare triple {1348#(<= main_~j~0 2)} assume true; {1348#(<= main_~j~0 2)} is VALID [2018-11-18 23:46:53,347 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {1348#(<= main_~j~0 2)} is VALID [2018-11-18 23:46:53,348 INFO L273 TraceCheckUtils]: 14: Hoare triple {1348#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {1349#(<= main_~j~0 3)} is VALID [2018-11-18 23:46:53,349 INFO L273 TraceCheckUtils]: 15: Hoare triple {1349#(<= main_~j~0 3)} assume true; {1349#(<= main_~j~0 3)} is VALID [2018-11-18 23:46:53,350 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {1349#(<= main_~j~0 3)} is VALID [2018-11-18 23:46:53,351 INFO L273 TraceCheckUtils]: 17: Hoare triple {1349#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {1350#(<= main_~j~0 4)} is VALID [2018-11-18 23:46:53,351 INFO L273 TraceCheckUtils]: 18: Hoare triple {1350#(<= main_~j~0 4)} assume true; {1350#(<= main_~j~0 4)} is VALID [2018-11-18 23:46:53,352 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {1350#(<= main_~j~0 4)} is VALID [2018-11-18 23:46:53,353 INFO L273 TraceCheckUtils]: 20: Hoare triple {1350#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {1351#(<= main_~j~0 5)} is VALID [2018-11-18 23:46:53,354 INFO L273 TraceCheckUtils]: 21: Hoare triple {1351#(<= main_~j~0 5)} assume true; {1351#(<= main_~j~0 5)} is VALID [2018-11-18 23:46:53,355 INFO L273 TraceCheckUtils]: 22: Hoare triple {1351#(<= main_~j~0 5)} assume !(~j~0 < 20); {1345#false} is VALID [2018-11-18 23:46:53,355 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-18 23:46:53,355 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 + 8 * ~i~0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + 8 * ~i~0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + 8 * ~i~0, 4);~i~0 := 10 + #t~mem5;havoc #t~mem5; {1345#false} is VALID [2018-11-18 23:46:53,356 INFO L273 TraceCheckUtils]: 25: Hoare triple {1345#false} assume true; {1345#false} is VALID [2018-11-18 23:46:53,356 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-18 23:46:53,356 INFO L273 TraceCheckUtils]: 27: Hoare triple {1345#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {1345#false} is VALID [2018-11-18 23:46:53,357 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-18 23:46:53,357 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 + 8 * ~b, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {1344#true} is VALID [2018-11-18 23:46:53,357 INFO L273 TraceCheckUtils]: 30: Hoare triple {1344#true} assume true; {1344#true} is VALID [2018-11-18 23:46:53,358 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {1344#true} {1345#false} #59#return; {1345#false} is VALID [2018-11-18 23:46:53,358 INFO L273 TraceCheckUtils]: 32: Hoare triple {1345#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {1345#false} is VALID [2018-11-18 23:46:53,358 INFO L273 TraceCheckUtils]: 33: Hoare triple {1345#false} assume 0 == #t~ret8;havoc #t~ret8; {1345#false} is VALID [2018-11-18 23:46:53,359 INFO L273 TraceCheckUtils]: 34: Hoare triple {1345#false} assume !false; {1345#false} is VALID [2018-11-18 23:46:53,360 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-18 23:46:53,360 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:46:53,361 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-18 23:46:53,372 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-18 23:46:53,432 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 6 check-sat command(s) [2018-11-18 23:46:53,433 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-18 23:46:53,461 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:46:53,462 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:46:53,587 INFO L256 TraceCheckUtils]: 0: Hoare triple {1344#true} call ULTIMATE.init(); {1344#true} is VALID [2018-11-18 23:46:53,587 INFO L273 TraceCheckUtils]: 1: Hoare triple {1344#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1344#true} is VALID [2018-11-18 23:46:53,588 INFO L273 TraceCheckUtils]: 2: Hoare triple {1344#true} assume true; {1344#true} is VALID [2018-11-18 23:46:53,588 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1344#true} {1344#true} #55#return; {1344#true} is VALID [2018-11-18 23:46:53,589 INFO L256 TraceCheckUtils]: 4: Hoare triple {1344#true} call #t~ret9 := main(); {1344#true} is VALID [2018-11-18 23:46:53,591 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-18 23:46:53,592 INFO L273 TraceCheckUtils]: 6: Hoare triple {1370#(<= main_~j~0 0)} assume true; {1370#(<= main_~j~0 0)} is VALID [2018-11-18 23:46:53,592 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {1370#(<= main_~j~0 0)} is VALID [2018-11-18 23:46:53,593 INFO L273 TraceCheckUtils]: 8: Hoare triple {1370#(<= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {1347#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:53,593 INFO L273 TraceCheckUtils]: 9: Hoare triple {1347#(<= main_~j~0 1)} assume true; {1347#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:53,594 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {1347#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:53,594 INFO L273 TraceCheckUtils]: 11: Hoare triple {1347#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {1348#(<= main_~j~0 2)} is VALID [2018-11-18 23:46:53,595 INFO L273 TraceCheckUtils]: 12: Hoare triple {1348#(<= main_~j~0 2)} assume true; {1348#(<= main_~j~0 2)} is VALID [2018-11-18 23:46:53,596 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {1348#(<= main_~j~0 2)} is VALID [2018-11-18 23:46:53,597 INFO L273 TraceCheckUtils]: 14: Hoare triple {1348#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {1349#(<= main_~j~0 3)} is VALID [2018-11-18 23:46:53,598 INFO L273 TraceCheckUtils]: 15: Hoare triple {1349#(<= main_~j~0 3)} assume true; {1349#(<= main_~j~0 3)} is VALID [2018-11-18 23:46:53,598 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {1349#(<= main_~j~0 3)} is VALID [2018-11-18 23:46:53,599 INFO L273 TraceCheckUtils]: 17: Hoare triple {1349#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {1350#(<= main_~j~0 4)} is VALID [2018-11-18 23:46:53,600 INFO L273 TraceCheckUtils]: 18: Hoare triple {1350#(<= main_~j~0 4)} assume true; {1350#(<= main_~j~0 4)} is VALID [2018-11-18 23:46:53,601 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {1350#(<= main_~j~0 4)} is VALID [2018-11-18 23:46:53,602 INFO L273 TraceCheckUtils]: 20: Hoare triple {1350#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {1351#(<= main_~j~0 5)} is VALID [2018-11-18 23:46:53,602 INFO L273 TraceCheckUtils]: 21: Hoare triple {1351#(<= main_~j~0 5)} assume true; {1351#(<= main_~j~0 5)} is VALID [2018-11-18 23:46:53,605 INFO L273 TraceCheckUtils]: 22: Hoare triple {1351#(<= main_~j~0 5)} assume !(~j~0 < 20); {1345#false} is VALID [2018-11-18 23:46:53,605 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-18 23:46:53,606 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 + 8 * ~i~0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + 8 * ~i~0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + 8 * ~i~0, 4);~i~0 := 10 + #t~mem5;havoc #t~mem5; {1345#false} is VALID [2018-11-18 23:46:53,606 INFO L273 TraceCheckUtils]: 25: Hoare triple {1345#false} assume true; {1345#false} is VALID [2018-11-18 23:46:53,607 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-18 23:46:53,607 INFO L273 TraceCheckUtils]: 27: Hoare triple {1345#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {1345#false} is VALID [2018-11-18 23:46:53,607 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-18 23:46:53,608 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 + 8 * ~b, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {1345#false} is VALID [2018-11-18 23:46:53,608 INFO L273 TraceCheckUtils]: 30: Hoare triple {1345#false} assume true; {1345#false} is VALID [2018-11-18 23:46:53,608 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {1345#false} {1345#false} #59#return; {1345#false} is VALID [2018-11-18 23:46:53,608 INFO L273 TraceCheckUtils]: 32: Hoare triple {1345#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {1345#false} is VALID [2018-11-18 23:46:53,609 INFO L273 TraceCheckUtils]: 33: Hoare triple {1345#false} assume 0 == #t~ret8;havoc #t~ret8; {1345#false} is VALID [2018-11-18 23:46:53,609 INFO L273 TraceCheckUtils]: 34: Hoare triple {1345#false} assume !false; {1345#false} is VALID [2018-11-18 23:46:53,611 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-18 23:46:53,631 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:46:53,631 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2018-11-18 23:46:53,631 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 35 [2018-11-18 23:46:53,632 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:46:53,632 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2018-11-18 23:46:53,679 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-18 23:46:53,679 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2018-11-18 23:46:53,680 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-11-18 23:46:53,680 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=36, Unknown=0, NotChecked=0, Total=72 [2018-11-18 23:46:53,680 INFO L87 Difference]: Start difference. First operand 36 states and 37 transitions. Second operand 9 states. [2018-11-18 23:46:53,898 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:46:53,899 INFO L93 Difference]: Finished difference Result 53 states and 55 transitions. [2018-11-18 23:46:53,899 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-11-18 23:46:53,899 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 35 [2018-11-18 23:46:53,899 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:46:53,900 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-18 23:46:53,902 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 55 transitions. [2018-11-18 23:46:53,902 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-18 23:46:53,904 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 55 transitions. [2018-11-18 23:46:53,904 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 55 transitions. [2018-11-18 23:46:54,014 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-18 23:46:54,015 INFO L225 Difference]: With dead ends: 53 [2018-11-18 23:46:54,015 INFO L226 Difference]: Without dead ends: 40 [2018-11-18 23:46:54,016 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 42 GetRequests, 35 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=36, Invalid=36, Unknown=0, NotChecked=0, Total=72 [2018-11-18 23:46:54,016 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2018-11-18 23:46:54,132 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 39. [2018-11-18 23:46:54,132 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:46:54,132 INFO L82 GeneralOperation]: Start isEquivalent. First operand 40 states. Second operand 39 states. [2018-11-18 23:46:54,133 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand 39 states. [2018-11-18 23:46:54,133 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 39 states. [2018-11-18 23:46:54,134 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:46:54,134 INFO L93 Difference]: Finished difference Result 40 states and 41 transitions. [2018-11-18 23:46:54,137 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 41 transitions. [2018-11-18 23:46:54,138 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:46:54,138 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:46:54,138 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand 40 states. [2018-11-18 23:46:54,138 INFO L87 Difference]: Start difference. First operand 39 states. Second operand 40 states. [2018-11-18 23:46:54,140 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:46:54,140 INFO L93 Difference]: Finished difference Result 40 states and 41 transitions. [2018-11-18 23:46:54,140 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 41 transitions. [2018-11-18 23:46:54,140 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:46:54,141 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:46:54,141 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:46:54,141 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:46:54,141 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 39 states. [2018-11-18 23:46:54,143 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 40 transitions. [2018-11-18 23:46:54,143 INFO L78 Accepts]: Start accepts. Automaton has 39 states and 40 transitions. Word has length 35 [2018-11-18 23:46:54,143 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:46:54,143 INFO L480 AbstractCegarLoop]: Abstraction has 39 states and 40 transitions. [2018-11-18 23:46:54,143 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2018-11-18 23:46:54,144 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 40 transitions. [2018-11-18 23:46:54,144 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2018-11-18 23:46:54,144 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:46:54,145 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-18 23:46:54,145 INFO L423 AbstractCegarLoop]: === Iteration 8 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:46:54,145 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:46:54,145 INFO L82 PathProgramCache]: Analyzing trace with hash 514142148, now seen corresponding path program 6 times [2018-11-18 23:46:54,145 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:46:54,146 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:46:54,146 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:46:54,147 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-18 23:46:54,147 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:46:54,182 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:46:54,742 INFO L256 TraceCheckUtils]: 0: Hoare triple {1663#true} call ULTIMATE.init(); {1663#true} is VALID [2018-11-18 23:46:54,743 INFO L273 TraceCheckUtils]: 1: Hoare triple {1663#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1663#true} is VALID [2018-11-18 23:46:54,743 INFO L273 TraceCheckUtils]: 2: Hoare triple {1663#true} assume true; {1663#true} is VALID [2018-11-18 23:46:54,744 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1663#true} {1663#true} #55#return; {1663#true} is VALID [2018-11-18 23:46:54,744 INFO L256 TraceCheckUtils]: 4: Hoare triple {1663#true} call #t~ret9 := main(); {1663#true} is VALID [2018-11-18 23:46:54,745 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-18 23:46:54,745 INFO L273 TraceCheckUtils]: 6: Hoare triple {1665#(= main_~j~0 0)} assume true; {1665#(= main_~j~0 0)} is VALID [2018-11-18 23:46:54,746 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {1665#(= main_~j~0 0)} is VALID [2018-11-18 23:46:54,747 INFO L273 TraceCheckUtils]: 8: Hoare triple {1665#(= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {1666#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:54,747 INFO L273 TraceCheckUtils]: 9: Hoare triple {1666#(<= main_~j~0 1)} assume true; {1666#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:54,748 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {1666#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:54,748 INFO L273 TraceCheckUtils]: 11: Hoare triple {1666#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {1667#(<= main_~j~0 2)} is VALID [2018-11-18 23:46:54,749 INFO L273 TraceCheckUtils]: 12: Hoare triple {1667#(<= main_~j~0 2)} assume true; {1667#(<= main_~j~0 2)} is VALID [2018-11-18 23:46:54,750 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {1667#(<= main_~j~0 2)} is VALID [2018-11-18 23:46:54,751 INFO L273 TraceCheckUtils]: 14: Hoare triple {1667#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {1668#(<= main_~j~0 3)} is VALID [2018-11-18 23:46:54,751 INFO L273 TraceCheckUtils]: 15: Hoare triple {1668#(<= main_~j~0 3)} assume true; {1668#(<= main_~j~0 3)} is VALID [2018-11-18 23:46:54,752 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {1668#(<= main_~j~0 3)} is VALID [2018-11-18 23:46:54,753 INFO L273 TraceCheckUtils]: 17: Hoare triple {1668#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {1669#(<= main_~j~0 4)} is VALID [2018-11-18 23:46:54,753 INFO L273 TraceCheckUtils]: 18: Hoare triple {1669#(<= main_~j~0 4)} assume true; {1669#(<= main_~j~0 4)} is VALID [2018-11-18 23:46:54,754 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {1669#(<= main_~j~0 4)} is VALID [2018-11-18 23:46:54,755 INFO L273 TraceCheckUtils]: 20: Hoare triple {1669#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {1670#(<= main_~j~0 5)} is VALID [2018-11-18 23:46:54,756 INFO L273 TraceCheckUtils]: 21: Hoare triple {1670#(<= main_~j~0 5)} assume true; {1670#(<= main_~j~0 5)} is VALID [2018-11-18 23:46:54,756 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {1670#(<= main_~j~0 5)} is VALID [2018-11-18 23:46:54,757 INFO L273 TraceCheckUtils]: 23: Hoare triple {1670#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {1671#(<= main_~j~0 6)} is VALID [2018-11-18 23:46:54,764 INFO L273 TraceCheckUtils]: 24: Hoare triple {1671#(<= main_~j~0 6)} assume true; {1671#(<= main_~j~0 6)} is VALID [2018-11-18 23:46:54,766 INFO L273 TraceCheckUtils]: 25: Hoare triple {1671#(<= main_~j~0 6)} assume !(~j~0 < 20); {1664#false} is VALID [2018-11-18 23:46:54,766 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-18 23:46:54,766 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 + 8 * ~i~0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + 8 * ~i~0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + 8 * ~i~0, 4);~i~0 := 10 + #t~mem5;havoc #t~mem5; {1664#false} is VALID [2018-11-18 23:46:54,767 INFO L273 TraceCheckUtils]: 28: Hoare triple {1664#false} assume true; {1664#false} is VALID [2018-11-18 23:46:54,767 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-18 23:46:54,767 INFO L273 TraceCheckUtils]: 30: Hoare triple {1664#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {1664#false} is VALID [2018-11-18 23:46:54,767 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-18 23:46:54,767 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 + 8 * ~b, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {1663#true} is VALID [2018-11-18 23:46:54,768 INFO L273 TraceCheckUtils]: 33: Hoare triple {1663#true} assume true; {1663#true} is VALID [2018-11-18 23:46:54,768 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {1663#true} {1664#false} #59#return; {1664#false} is VALID [2018-11-18 23:46:54,768 INFO L273 TraceCheckUtils]: 35: Hoare triple {1664#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {1664#false} is VALID [2018-11-18 23:46:54,768 INFO L273 TraceCheckUtils]: 36: Hoare triple {1664#false} assume 0 == #t~ret8;havoc #t~ret8; {1664#false} is VALID [2018-11-18 23:46:54,768 INFO L273 TraceCheckUtils]: 37: Hoare triple {1664#false} assume !false; {1664#false} is VALID [2018-11-18 23:46:54,770 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-18 23:46:54,770 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:46:54,770 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-18 23:46:54,779 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-18 23:46:54,868 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2018-11-18 23:46:54,868 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-18 23:46:54,883 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:46:54,885 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:46:55,011 INFO L256 TraceCheckUtils]: 0: Hoare triple {1663#true} call ULTIMATE.init(); {1663#true} is VALID [2018-11-18 23:46:55,011 INFO L273 TraceCheckUtils]: 1: Hoare triple {1663#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1663#true} is VALID [2018-11-18 23:46:55,012 INFO L273 TraceCheckUtils]: 2: Hoare triple {1663#true} assume true; {1663#true} is VALID [2018-11-18 23:46:55,012 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1663#true} {1663#true} #55#return; {1663#true} is VALID [2018-11-18 23:46:55,012 INFO L256 TraceCheckUtils]: 4: Hoare triple {1663#true} call #t~ret9 := main(); {1663#true} is VALID [2018-11-18 23:46:55,013 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-18 23:46:55,014 INFO L273 TraceCheckUtils]: 6: Hoare triple {1690#(<= main_~j~0 0)} assume true; {1690#(<= main_~j~0 0)} is VALID [2018-11-18 23:46:55,014 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {1690#(<= main_~j~0 0)} is VALID [2018-11-18 23:46:55,015 INFO L273 TraceCheckUtils]: 8: Hoare triple {1690#(<= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {1666#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:55,015 INFO L273 TraceCheckUtils]: 9: Hoare triple {1666#(<= main_~j~0 1)} assume true; {1666#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:55,016 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {1666#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:55,016 INFO L273 TraceCheckUtils]: 11: Hoare triple {1666#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {1667#(<= main_~j~0 2)} is VALID [2018-11-18 23:46:55,019 INFO L273 TraceCheckUtils]: 12: Hoare triple {1667#(<= main_~j~0 2)} assume true; {1667#(<= main_~j~0 2)} is VALID [2018-11-18 23:46:55,020 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {1667#(<= main_~j~0 2)} is VALID [2018-11-18 23:46:55,020 INFO L273 TraceCheckUtils]: 14: Hoare triple {1667#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {1668#(<= main_~j~0 3)} is VALID [2018-11-18 23:46:55,021 INFO L273 TraceCheckUtils]: 15: Hoare triple {1668#(<= main_~j~0 3)} assume true; {1668#(<= main_~j~0 3)} is VALID [2018-11-18 23:46:55,021 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {1668#(<= main_~j~0 3)} is VALID [2018-11-18 23:46:55,024 INFO L273 TraceCheckUtils]: 17: Hoare triple {1668#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {1669#(<= main_~j~0 4)} is VALID [2018-11-18 23:46:55,028 INFO L273 TraceCheckUtils]: 18: Hoare triple {1669#(<= main_~j~0 4)} assume true; {1669#(<= main_~j~0 4)} is VALID [2018-11-18 23:46:55,030 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {1669#(<= main_~j~0 4)} is VALID [2018-11-18 23:46:55,036 INFO L273 TraceCheckUtils]: 20: Hoare triple {1669#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {1670#(<= main_~j~0 5)} is VALID [2018-11-18 23:46:55,036 INFO L273 TraceCheckUtils]: 21: Hoare triple {1670#(<= main_~j~0 5)} assume true; {1670#(<= main_~j~0 5)} is VALID [2018-11-18 23:46:55,038 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {1670#(<= main_~j~0 5)} is VALID [2018-11-18 23:46:55,038 INFO L273 TraceCheckUtils]: 23: Hoare triple {1670#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {1671#(<= main_~j~0 6)} is VALID [2018-11-18 23:46:55,039 INFO L273 TraceCheckUtils]: 24: Hoare triple {1671#(<= main_~j~0 6)} assume true; {1671#(<= main_~j~0 6)} is VALID [2018-11-18 23:46:55,039 INFO L273 TraceCheckUtils]: 25: Hoare triple {1671#(<= main_~j~0 6)} assume !(~j~0 < 20); {1664#false} is VALID [2018-11-18 23:46:55,039 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-18 23:46:55,039 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 + 8 * ~i~0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + 8 * ~i~0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + 8 * ~i~0, 4);~i~0 := 10 + #t~mem5;havoc #t~mem5; {1664#false} is VALID [2018-11-18 23:46:55,040 INFO L273 TraceCheckUtils]: 28: Hoare triple {1664#false} assume true; {1664#false} is VALID [2018-11-18 23:46:55,040 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-18 23:46:55,040 INFO L273 TraceCheckUtils]: 30: Hoare triple {1664#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {1664#false} is VALID [2018-11-18 23:46:55,040 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-18 23:46:55,040 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 + 8 * ~b, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {1664#false} is VALID [2018-11-18 23:46:55,041 INFO L273 TraceCheckUtils]: 33: Hoare triple {1664#false} assume true; {1664#false} is VALID [2018-11-18 23:46:55,041 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {1664#false} {1664#false} #59#return; {1664#false} is VALID [2018-11-18 23:46:55,041 INFO L273 TraceCheckUtils]: 35: Hoare triple {1664#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {1664#false} is VALID [2018-11-18 23:46:55,041 INFO L273 TraceCheckUtils]: 36: Hoare triple {1664#false} assume 0 == #t~ret8;havoc #t~ret8; {1664#false} is VALID [2018-11-18 23:46:55,041 INFO L273 TraceCheckUtils]: 37: Hoare triple {1664#false} assume !false; {1664#false} is VALID [2018-11-18 23:46:55,043 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-18 23:46:55,062 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:46:55,062 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 10 [2018-11-18 23:46:55,063 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 38 [2018-11-18 23:46:55,063 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:46:55,063 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-11-18 23:46:55,206 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-18 23:46:55,207 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-11-18 23:46:55,207 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-11-18 23:46:55,207 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=45, Unknown=0, NotChecked=0, Total=90 [2018-11-18 23:46:55,207 INFO L87 Difference]: Start difference. First operand 39 states and 40 transitions. Second operand 10 states. [2018-11-18 23:46:55,647 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:46:55,647 INFO L93 Difference]: Finished difference Result 56 states and 58 transitions. [2018-11-18 23:46:55,647 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-11-18 23:46:55,648 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 38 [2018-11-18 23:46:55,648 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:46:55,648 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-11-18 23:46:55,650 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 58 transitions. [2018-11-18 23:46:55,650 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-11-18 23:46:55,652 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 58 transitions. [2018-11-18 23:46:55,652 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 58 transitions. [2018-11-18 23:46:55,851 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-18 23:46:55,852 INFO L225 Difference]: With dead ends: 56 [2018-11-18 23:46:55,852 INFO L226 Difference]: Without dead ends: 43 [2018-11-18 23:46:55,853 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 46 GetRequests, 38 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=45, Invalid=45, Unknown=0, NotChecked=0, Total=90 [2018-11-18 23:46:55,853 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2018-11-18 23:46:55,932 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 42. [2018-11-18 23:46:55,933 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:46:55,933 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand 42 states. [2018-11-18 23:46:55,933 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand 42 states. [2018-11-18 23:46:55,933 INFO L87 Difference]: Start difference. First operand 43 states. Second operand 42 states. [2018-11-18 23:46:55,934 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:46:55,934 INFO L93 Difference]: Finished difference Result 43 states and 44 transitions. [2018-11-18 23:46:55,934 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 44 transitions. [2018-11-18 23:46:55,935 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:46:55,937 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:46:55,937 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand 43 states. [2018-11-18 23:46:55,937 INFO L87 Difference]: Start difference. First operand 42 states. Second operand 43 states. [2018-11-18 23:46:55,939 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:46:55,940 INFO L93 Difference]: Finished difference Result 43 states and 44 transitions. [2018-11-18 23:46:55,940 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 44 transitions. [2018-11-18 23:46:55,940 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:46:55,940 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:46:55,940 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:46:55,940 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:46:55,941 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 42 states. [2018-11-18 23:46:55,942 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 43 transitions. [2018-11-18 23:46:55,942 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 43 transitions. Word has length 38 [2018-11-18 23:46:55,942 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:46:55,942 INFO L480 AbstractCegarLoop]: Abstraction has 42 states and 43 transitions. [2018-11-18 23:46:55,942 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-11-18 23:46:55,943 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 43 transitions. [2018-11-18 23:46:55,943 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2018-11-18 23:46:55,943 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:46:55,943 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-18 23:46:55,944 INFO L423 AbstractCegarLoop]: === Iteration 9 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:46:55,945 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:46:55,945 INFO L82 PathProgramCache]: Analyzing trace with hash 888515507, now seen corresponding path program 7 times [2018-11-18 23:46:55,945 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:46:55,945 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:46:55,946 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:46:55,946 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-18 23:46:55,947 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:46:55,987 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:46:56,348 INFO L256 TraceCheckUtils]: 0: Hoare triple {2006#true} call ULTIMATE.init(); {2006#true} is VALID [2018-11-18 23:46:56,349 INFO L273 TraceCheckUtils]: 1: Hoare triple {2006#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2006#true} is VALID [2018-11-18 23:46:56,349 INFO L273 TraceCheckUtils]: 2: Hoare triple {2006#true} assume true; {2006#true} is VALID [2018-11-18 23:46:56,349 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2006#true} {2006#true} #55#return; {2006#true} is VALID [2018-11-18 23:46:56,350 INFO L256 TraceCheckUtils]: 4: Hoare triple {2006#true} call #t~ret9 := main(); {2006#true} is VALID [2018-11-18 23:46:56,350 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-18 23:46:56,351 INFO L273 TraceCheckUtils]: 6: Hoare triple {2008#(= main_~j~0 0)} assume true; {2008#(= main_~j~0 0)} is VALID [2018-11-18 23:46:56,351 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {2008#(= main_~j~0 0)} is VALID [2018-11-18 23:46:56,352 INFO L273 TraceCheckUtils]: 8: Hoare triple {2008#(= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {2009#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:56,352 INFO L273 TraceCheckUtils]: 9: Hoare triple {2009#(<= main_~j~0 1)} assume true; {2009#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:56,353 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {2009#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:56,354 INFO L273 TraceCheckUtils]: 11: Hoare triple {2009#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {2010#(<= main_~j~0 2)} is VALID [2018-11-18 23:46:56,354 INFO L273 TraceCheckUtils]: 12: Hoare triple {2010#(<= main_~j~0 2)} assume true; {2010#(<= main_~j~0 2)} is VALID [2018-11-18 23:46:56,354 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {2010#(<= main_~j~0 2)} is VALID [2018-11-18 23:46:56,355 INFO L273 TraceCheckUtils]: 14: Hoare triple {2010#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {2011#(<= main_~j~0 3)} is VALID [2018-11-18 23:46:56,355 INFO L273 TraceCheckUtils]: 15: Hoare triple {2011#(<= main_~j~0 3)} assume true; {2011#(<= main_~j~0 3)} is VALID [2018-11-18 23:46:56,355 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {2011#(<= main_~j~0 3)} is VALID [2018-11-18 23:46:56,356 INFO L273 TraceCheckUtils]: 17: Hoare triple {2011#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {2012#(<= main_~j~0 4)} is VALID [2018-11-18 23:46:56,357 INFO L273 TraceCheckUtils]: 18: Hoare triple {2012#(<= main_~j~0 4)} assume true; {2012#(<= main_~j~0 4)} is VALID [2018-11-18 23:46:56,360 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {2012#(<= main_~j~0 4)} is VALID [2018-11-18 23:46:56,361 INFO L273 TraceCheckUtils]: 20: Hoare triple {2012#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {2013#(<= main_~j~0 5)} is VALID [2018-11-18 23:46:56,362 INFO L273 TraceCheckUtils]: 21: Hoare triple {2013#(<= main_~j~0 5)} assume true; {2013#(<= main_~j~0 5)} is VALID [2018-11-18 23:46:56,362 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {2013#(<= main_~j~0 5)} is VALID [2018-11-18 23:46:56,362 INFO L273 TraceCheckUtils]: 23: Hoare triple {2013#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {2014#(<= main_~j~0 6)} is VALID [2018-11-18 23:46:56,363 INFO L273 TraceCheckUtils]: 24: Hoare triple {2014#(<= main_~j~0 6)} assume true; {2014#(<= main_~j~0 6)} is VALID [2018-11-18 23:46:56,363 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {2014#(<= main_~j~0 6)} is VALID [2018-11-18 23:46:56,364 INFO L273 TraceCheckUtils]: 26: Hoare triple {2014#(<= main_~j~0 6)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {2015#(<= main_~j~0 7)} is VALID [2018-11-18 23:46:56,364 INFO L273 TraceCheckUtils]: 27: Hoare triple {2015#(<= main_~j~0 7)} assume true; {2015#(<= main_~j~0 7)} is VALID [2018-11-18 23:46:56,365 INFO L273 TraceCheckUtils]: 28: Hoare triple {2015#(<= main_~j~0 7)} assume !(~j~0 < 20); {2007#false} is VALID [2018-11-18 23:46:56,365 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-18 23:46:56,366 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 + 8 * ~i~0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + 8 * ~i~0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + 8 * ~i~0, 4);~i~0 := 10 + #t~mem5;havoc #t~mem5; {2007#false} is VALID [2018-11-18 23:46:56,366 INFO L273 TraceCheckUtils]: 31: Hoare triple {2007#false} assume true; {2007#false} is VALID [2018-11-18 23:46:56,366 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-18 23:46:56,366 INFO L273 TraceCheckUtils]: 33: Hoare triple {2007#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {2007#false} is VALID [2018-11-18 23:46:56,366 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-18 23:46:56,367 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 + 8 * ~b, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {2006#true} is VALID [2018-11-18 23:46:56,367 INFO L273 TraceCheckUtils]: 36: Hoare triple {2006#true} assume true; {2006#true} is VALID [2018-11-18 23:46:56,367 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {2006#true} {2007#false} #59#return; {2007#false} is VALID [2018-11-18 23:46:56,367 INFO L273 TraceCheckUtils]: 38: Hoare triple {2007#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {2007#false} is VALID [2018-11-18 23:46:56,368 INFO L273 TraceCheckUtils]: 39: Hoare triple {2007#false} assume 0 == #t~ret8;havoc #t~ret8; {2007#false} is VALID [2018-11-18 23:46:56,368 INFO L273 TraceCheckUtils]: 40: Hoare triple {2007#false} assume !false; {2007#false} is VALID [2018-11-18 23:46:56,369 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-18 23:46:56,369 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:46:56,369 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-18 23:46:56,381 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:46:56,422 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:46:56,446 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:46:56,447 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:46:56,573 INFO L256 TraceCheckUtils]: 0: Hoare triple {2006#true} call ULTIMATE.init(); {2006#true} is VALID [2018-11-18 23:46:56,574 INFO L273 TraceCheckUtils]: 1: Hoare triple {2006#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2006#true} is VALID [2018-11-18 23:46:56,574 INFO L273 TraceCheckUtils]: 2: Hoare triple {2006#true} assume true; {2006#true} is VALID [2018-11-18 23:46:56,574 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2006#true} {2006#true} #55#return; {2006#true} is VALID [2018-11-18 23:46:56,574 INFO L256 TraceCheckUtils]: 4: Hoare triple {2006#true} call #t~ret9 := main(); {2006#true} is VALID [2018-11-18 23:46:56,575 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-18 23:46:56,576 INFO L273 TraceCheckUtils]: 6: Hoare triple {2034#(<= main_~j~0 0)} assume true; {2034#(<= main_~j~0 0)} is VALID [2018-11-18 23:46:56,576 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {2034#(<= main_~j~0 0)} is VALID [2018-11-18 23:46:56,577 INFO L273 TraceCheckUtils]: 8: Hoare triple {2034#(<= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {2009#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:56,577 INFO L273 TraceCheckUtils]: 9: Hoare triple {2009#(<= main_~j~0 1)} assume true; {2009#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:56,578 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {2009#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:56,579 INFO L273 TraceCheckUtils]: 11: Hoare triple {2009#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {2010#(<= main_~j~0 2)} is VALID [2018-11-18 23:46:56,580 INFO L273 TraceCheckUtils]: 12: Hoare triple {2010#(<= main_~j~0 2)} assume true; {2010#(<= main_~j~0 2)} is VALID [2018-11-18 23:46:56,580 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {2010#(<= main_~j~0 2)} is VALID [2018-11-18 23:46:56,581 INFO L273 TraceCheckUtils]: 14: Hoare triple {2010#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {2011#(<= main_~j~0 3)} is VALID [2018-11-18 23:46:56,581 INFO L273 TraceCheckUtils]: 15: Hoare triple {2011#(<= main_~j~0 3)} assume true; {2011#(<= main_~j~0 3)} is VALID [2018-11-18 23:46:56,582 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {2011#(<= main_~j~0 3)} is VALID [2018-11-18 23:46:56,583 INFO L273 TraceCheckUtils]: 17: Hoare triple {2011#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {2012#(<= main_~j~0 4)} is VALID [2018-11-18 23:46:56,584 INFO L273 TraceCheckUtils]: 18: Hoare triple {2012#(<= main_~j~0 4)} assume true; {2012#(<= main_~j~0 4)} is VALID [2018-11-18 23:46:56,584 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {2012#(<= main_~j~0 4)} is VALID [2018-11-18 23:46:56,585 INFO L273 TraceCheckUtils]: 20: Hoare triple {2012#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {2013#(<= main_~j~0 5)} is VALID [2018-11-18 23:46:56,585 INFO L273 TraceCheckUtils]: 21: Hoare triple {2013#(<= main_~j~0 5)} assume true; {2013#(<= main_~j~0 5)} is VALID [2018-11-18 23:46:56,586 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {2013#(<= main_~j~0 5)} is VALID [2018-11-18 23:46:56,587 INFO L273 TraceCheckUtils]: 23: Hoare triple {2013#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {2014#(<= main_~j~0 6)} is VALID [2018-11-18 23:46:56,587 INFO L273 TraceCheckUtils]: 24: Hoare triple {2014#(<= main_~j~0 6)} assume true; {2014#(<= main_~j~0 6)} is VALID [2018-11-18 23:46:56,588 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {2014#(<= main_~j~0 6)} is VALID [2018-11-18 23:46:56,588 INFO L273 TraceCheckUtils]: 26: Hoare triple {2014#(<= main_~j~0 6)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {2015#(<= main_~j~0 7)} is VALID [2018-11-18 23:46:56,589 INFO L273 TraceCheckUtils]: 27: Hoare triple {2015#(<= main_~j~0 7)} assume true; {2015#(<= main_~j~0 7)} is VALID [2018-11-18 23:46:56,590 INFO L273 TraceCheckUtils]: 28: Hoare triple {2015#(<= main_~j~0 7)} assume !(~j~0 < 20); {2007#false} is VALID [2018-11-18 23:46:56,590 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-18 23:46:56,590 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 + 8 * ~i~0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + 8 * ~i~0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + 8 * ~i~0, 4);~i~0 := 10 + #t~mem5;havoc #t~mem5; {2007#false} is VALID [2018-11-18 23:46:56,590 INFO L273 TraceCheckUtils]: 31: Hoare triple {2007#false} assume true; {2007#false} is VALID [2018-11-18 23:46:56,591 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-18 23:46:56,591 INFO L273 TraceCheckUtils]: 33: Hoare triple {2007#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {2007#false} is VALID [2018-11-18 23:46:56,591 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-18 23:46:56,591 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 + 8 * ~b, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {2007#false} is VALID [2018-11-18 23:46:56,592 INFO L273 TraceCheckUtils]: 36: Hoare triple {2007#false} assume true; {2007#false} is VALID [2018-11-18 23:46:56,592 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {2007#false} {2007#false} #59#return; {2007#false} is VALID [2018-11-18 23:46:56,592 INFO L273 TraceCheckUtils]: 38: Hoare triple {2007#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {2007#false} is VALID [2018-11-18 23:46:56,593 INFO L273 TraceCheckUtils]: 39: Hoare triple {2007#false} assume 0 == #t~ret8;havoc #t~ret8; {2007#false} is VALID [2018-11-18 23:46:56,593 INFO L273 TraceCheckUtils]: 40: Hoare triple {2007#false} assume !false; {2007#false} is VALID [2018-11-18 23:46:56,594 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-18 23:46:56,613 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:46:56,613 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 11 [2018-11-18 23:46:56,614 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 41 [2018-11-18 23:46:56,614 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:46:56,614 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2018-11-18 23:46:56,696 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-18 23:46:56,696 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2018-11-18 23:46:56,696 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2018-11-18 23:46:56,697 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=55, Unknown=0, NotChecked=0, Total=110 [2018-11-18 23:46:56,697 INFO L87 Difference]: Start difference. First operand 42 states and 43 transitions. Second operand 11 states. [2018-11-18 23:46:56,888 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:46:56,888 INFO L93 Difference]: Finished difference Result 59 states and 61 transitions. [2018-11-18 23:46:56,888 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-11-18 23:46:56,889 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 41 [2018-11-18 23:46:56,889 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:46:56,889 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-11-18 23:46:56,891 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 61 transitions. [2018-11-18 23:46:56,891 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-11-18 23:46:56,893 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 61 transitions. [2018-11-18 23:46:56,893 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 61 transitions. [2018-11-18 23:46:56,964 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-18 23:46:56,966 INFO L225 Difference]: With dead ends: 59 [2018-11-18 23:46:56,966 INFO L226 Difference]: Without dead ends: 46 [2018-11-18 23:46:56,967 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 50 GetRequests, 41 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=55, Invalid=55, Unknown=0, NotChecked=0, Total=110 [2018-11-18 23:46:56,967 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2018-11-18 23:46:56,989 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 45. [2018-11-18 23:46:56,990 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:46:56,990 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand 45 states. [2018-11-18 23:46:56,990 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand 45 states. [2018-11-18 23:46:56,990 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 45 states. [2018-11-18 23:46:56,992 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:46:56,992 INFO L93 Difference]: Finished difference Result 46 states and 47 transitions. [2018-11-18 23:46:56,992 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 47 transitions. [2018-11-18 23:46:56,992 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:46:56,992 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:46:56,993 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand 46 states. [2018-11-18 23:46:56,993 INFO L87 Difference]: Start difference. First operand 45 states. Second operand 46 states. [2018-11-18 23:46:56,994 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:46:56,994 INFO L93 Difference]: Finished difference Result 46 states and 47 transitions. [2018-11-18 23:46:56,995 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 47 transitions. [2018-11-18 23:46:56,995 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:46:56,995 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:46:56,995 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:46:56,995 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:46:56,995 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 45 states. [2018-11-18 23:46:56,997 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 46 transitions. [2018-11-18 23:46:56,997 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 46 transitions. Word has length 41 [2018-11-18 23:46:56,997 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:46:56,997 INFO L480 AbstractCegarLoop]: Abstraction has 45 states and 46 transitions. [2018-11-18 23:46:56,997 INFO L481 AbstractCegarLoop]: Interpolant automaton has 11 states. [2018-11-18 23:46:56,997 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 46 transitions. [2018-11-18 23:46:56,998 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2018-11-18 23:46:56,998 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:46:56,998 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-18 23:46:56,998 INFO L423 AbstractCegarLoop]: === Iteration 10 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:46:56,999 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:46:56,999 INFO L82 PathProgramCache]: Analyzing trace with hash -184814236, now seen corresponding path program 8 times [2018-11-18 23:46:56,999 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:46:56,999 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:46:57,000 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:46:57,000 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:46:57,000 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:46:57,016 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:46:57,163 INFO L256 TraceCheckUtils]: 0: Hoare triple {2373#true} call ULTIMATE.init(); {2373#true} is VALID [2018-11-18 23:46:57,164 INFO L273 TraceCheckUtils]: 1: Hoare triple {2373#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2373#true} is VALID [2018-11-18 23:46:57,164 INFO L273 TraceCheckUtils]: 2: Hoare triple {2373#true} assume true; {2373#true} is VALID [2018-11-18 23:46:57,164 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2373#true} {2373#true} #55#return; {2373#true} is VALID [2018-11-18 23:46:57,165 INFO L256 TraceCheckUtils]: 4: Hoare triple {2373#true} call #t~ret9 := main(); {2373#true} is VALID [2018-11-18 23:46:57,165 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-18 23:46:57,166 INFO L273 TraceCheckUtils]: 6: Hoare triple {2375#(= main_~j~0 0)} assume true; {2375#(= main_~j~0 0)} is VALID [2018-11-18 23:46:57,167 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {2375#(= main_~j~0 0)} is VALID [2018-11-18 23:46:57,167 INFO L273 TraceCheckUtils]: 8: Hoare triple {2375#(= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {2376#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:57,167 INFO L273 TraceCheckUtils]: 9: Hoare triple {2376#(<= main_~j~0 1)} assume true; {2376#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:57,168 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {2376#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:57,168 INFO L273 TraceCheckUtils]: 11: Hoare triple {2376#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {2377#(<= main_~j~0 2)} is VALID [2018-11-18 23:46:57,169 INFO L273 TraceCheckUtils]: 12: Hoare triple {2377#(<= main_~j~0 2)} assume true; {2377#(<= main_~j~0 2)} is VALID [2018-11-18 23:46:57,169 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {2377#(<= main_~j~0 2)} is VALID [2018-11-18 23:46:57,170 INFO L273 TraceCheckUtils]: 14: Hoare triple {2377#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {2378#(<= main_~j~0 3)} is VALID [2018-11-18 23:46:57,171 INFO L273 TraceCheckUtils]: 15: Hoare triple {2378#(<= main_~j~0 3)} assume true; {2378#(<= main_~j~0 3)} is VALID [2018-11-18 23:46:57,171 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {2378#(<= main_~j~0 3)} is VALID [2018-11-18 23:46:57,172 INFO L273 TraceCheckUtils]: 17: Hoare triple {2378#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {2379#(<= main_~j~0 4)} is VALID [2018-11-18 23:46:57,173 INFO L273 TraceCheckUtils]: 18: Hoare triple {2379#(<= main_~j~0 4)} assume true; {2379#(<= main_~j~0 4)} is VALID [2018-11-18 23:46:57,173 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {2379#(<= main_~j~0 4)} is VALID [2018-11-18 23:46:57,174 INFO L273 TraceCheckUtils]: 20: Hoare triple {2379#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {2380#(<= main_~j~0 5)} is VALID [2018-11-18 23:46:57,174 INFO L273 TraceCheckUtils]: 21: Hoare triple {2380#(<= main_~j~0 5)} assume true; {2380#(<= main_~j~0 5)} is VALID [2018-11-18 23:46:57,175 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {2380#(<= main_~j~0 5)} is VALID [2018-11-18 23:46:57,176 INFO L273 TraceCheckUtils]: 23: Hoare triple {2380#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {2381#(<= main_~j~0 6)} is VALID [2018-11-18 23:46:57,176 INFO L273 TraceCheckUtils]: 24: Hoare triple {2381#(<= main_~j~0 6)} assume true; {2381#(<= main_~j~0 6)} is VALID [2018-11-18 23:46:57,177 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {2381#(<= main_~j~0 6)} is VALID [2018-11-18 23:46:57,177 INFO L273 TraceCheckUtils]: 26: Hoare triple {2381#(<= main_~j~0 6)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {2382#(<= main_~j~0 7)} is VALID [2018-11-18 23:46:57,193 INFO L273 TraceCheckUtils]: 27: Hoare triple {2382#(<= main_~j~0 7)} assume true; {2382#(<= main_~j~0 7)} is VALID [2018-11-18 23:46:57,194 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {2382#(<= main_~j~0 7)} is VALID [2018-11-18 23:46:57,194 INFO L273 TraceCheckUtils]: 29: Hoare triple {2382#(<= main_~j~0 7)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {2383#(<= main_~j~0 8)} is VALID [2018-11-18 23:46:57,194 INFO L273 TraceCheckUtils]: 30: Hoare triple {2383#(<= main_~j~0 8)} assume true; {2383#(<= main_~j~0 8)} is VALID [2018-11-18 23:46:57,195 INFO L273 TraceCheckUtils]: 31: Hoare triple {2383#(<= main_~j~0 8)} assume !(~j~0 < 20); {2374#false} is VALID [2018-11-18 23:46:57,195 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-18 23:46:57,195 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 + 8 * ~i~0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + 8 * ~i~0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + 8 * ~i~0, 4);~i~0 := 10 + #t~mem5;havoc #t~mem5; {2374#false} is VALID [2018-11-18 23:46:57,195 INFO L273 TraceCheckUtils]: 34: Hoare triple {2374#false} assume true; {2374#false} is VALID [2018-11-18 23:46:57,195 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-18 23:46:57,196 INFO L273 TraceCheckUtils]: 36: Hoare triple {2374#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {2374#false} is VALID [2018-11-18 23:46:57,196 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-18 23:46:57,196 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 + 8 * ~b, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {2373#true} is VALID [2018-11-18 23:46:57,196 INFO L273 TraceCheckUtils]: 39: Hoare triple {2373#true} assume true; {2373#true} is VALID [2018-11-18 23:46:57,196 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {2373#true} {2374#false} #59#return; {2374#false} is VALID [2018-11-18 23:46:57,197 INFO L273 TraceCheckUtils]: 41: Hoare triple {2374#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {2374#false} is VALID [2018-11-18 23:46:57,197 INFO L273 TraceCheckUtils]: 42: Hoare triple {2374#false} assume 0 == #t~ret8;havoc #t~ret8; {2374#false} is VALID [2018-11-18 23:46:57,197 INFO L273 TraceCheckUtils]: 43: Hoare triple {2374#false} assume !false; {2374#false} is VALID [2018-11-18 23:46:57,199 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-18 23:46:57,199 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:46:57,200 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-18 23:46:57,210 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-18 23:46:57,236 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-18 23:46:57,236 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-18 23:46:57,250 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:46:57,251 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:46:57,489 INFO L256 TraceCheckUtils]: 0: Hoare triple {2373#true} call ULTIMATE.init(); {2373#true} is VALID [2018-11-18 23:46:57,489 INFO L273 TraceCheckUtils]: 1: Hoare triple {2373#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2373#true} is VALID [2018-11-18 23:46:57,489 INFO L273 TraceCheckUtils]: 2: Hoare triple {2373#true} assume true; {2373#true} is VALID [2018-11-18 23:46:57,489 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2373#true} {2373#true} #55#return; {2373#true} is VALID [2018-11-18 23:46:57,489 INFO L256 TraceCheckUtils]: 4: Hoare triple {2373#true} call #t~ret9 := main(); {2373#true} is VALID [2018-11-18 23:46:57,490 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-18 23:46:57,490 INFO L273 TraceCheckUtils]: 6: Hoare triple {2402#(<= main_~j~0 0)} assume true; {2402#(<= main_~j~0 0)} is VALID [2018-11-18 23:46:57,491 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {2402#(<= main_~j~0 0)} is VALID [2018-11-18 23:46:57,491 INFO L273 TraceCheckUtils]: 8: Hoare triple {2402#(<= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {2376#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:57,492 INFO L273 TraceCheckUtils]: 9: Hoare triple {2376#(<= main_~j~0 1)} assume true; {2376#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:57,492 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {2376#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:57,492 INFO L273 TraceCheckUtils]: 11: Hoare triple {2376#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {2377#(<= main_~j~0 2)} is VALID [2018-11-18 23:46:57,493 INFO L273 TraceCheckUtils]: 12: Hoare triple {2377#(<= main_~j~0 2)} assume true; {2377#(<= main_~j~0 2)} is VALID [2018-11-18 23:46:57,493 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {2377#(<= main_~j~0 2)} is VALID [2018-11-18 23:46:57,494 INFO L273 TraceCheckUtils]: 14: Hoare triple {2377#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {2378#(<= main_~j~0 3)} is VALID [2018-11-18 23:46:57,494 INFO L273 TraceCheckUtils]: 15: Hoare triple {2378#(<= main_~j~0 3)} assume true; {2378#(<= main_~j~0 3)} is VALID [2018-11-18 23:46:57,495 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {2378#(<= main_~j~0 3)} is VALID [2018-11-18 23:46:57,495 INFO L273 TraceCheckUtils]: 17: Hoare triple {2378#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {2379#(<= main_~j~0 4)} is VALID [2018-11-18 23:46:57,496 INFO L273 TraceCheckUtils]: 18: Hoare triple {2379#(<= main_~j~0 4)} assume true; {2379#(<= main_~j~0 4)} is VALID [2018-11-18 23:46:57,497 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {2379#(<= main_~j~0 4)} is VALID [2018-11-18 23:46:57,498 INFO L273 TraceCheckUtils]: 20: Hoare triple {2379#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {2380#(<= main_~j~0 5)} is VALID [2018-11-18 23:46:57,498 INFO L273 TraceCheckUtils]: 21: Hoare triple {2380#(<= main_~j~0 5)} assume true; {2380#(<= main_~j~0 5)} is VALID [2018-11-18 23:46:57,499 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {2380#(<= main_~j~0 5)} is VALID [2018-11-18 23:46:57,499 INFO L273 TraceCheckUtils]: 23: Hoare triple {2380#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {2381#(<= main_~j~0 6)} is VALID [2018-11-18 23:46:57,500 INFO L273 TraceCheckUtils]: 24: Hoare triple {2381#(<= main_~j~0 6)} assume true; {2381#(<= main_~j~0 6)} is VALID [2018-11-18 23:46:57,500 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {2381#(<= main_~j~0 6)} is VALID [2018-11-18 23:46:57,501 INFO L273 TraceCheckUtils]: 26: Hoare triple {2381#(<= main_~j~0 6)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {2382#(<= main_~j~0 7)} is VALID [2018-11-18 23:46:57,502 INFO L273 TraceCheckUtils]: 27: Hoare triple {2382#(<= main_~j~0 7)} assume true; {2382#(<= main_~j~0 7)} is VALID [2018-11-18 23:46:57,502 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {2382#(<= main_~j~0 7)} is VALID [2018-11-18 23:46:57,503 INFO L273 TraceCheckUtils]: 29: Hoare triple {2382#(<= main_~j~0 7)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {2383#(<= main_~j~0 8)} is VALID [2018-11-18 23:46:57,503 INFO L273 TraceCheckUtils]: 30: Hoare triple {2383#(<= main_~j~0 8)} assume true; {2383#(<= main_~j~0 8)} is VALID [2018-11-18 23:46:57,504 INFO L273 TraceCheckUtils]: 31: Hoare triple {2383#(<= main_~j~0 8)} assume !(~j~0 < 20); {2374#false} is VALID [2018-11-18 23:46:57,504 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-18 23:46:57,505 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 + 8 * ~i~0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + 8 * ~i~0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + 8 * ~i~0, 4);~i~0 := 10 + #t~mem5;havoc #t~mem5; {2374#false} is VALID [2018-11-18 23:46:57,505 INFO L273 TraceCheckUtils]: 34: Hoare triple {2374#false} assume true; {2374#false} is VALID [2018-11-18 23:46:57,505 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-18 23:46:57,505 INFO L273 TraceCheckUtils]: 36: Hoare triple {2374#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {2374#false} is VALID [2018-11-18 23:46:57,505 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-18 23:46:57,506 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 + 8 * ~b, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {2374#false} is VALID [2018-11-18 23:46:57,506 INFO L273 TraceCheckUtils]: 39: Hoare triple {2374#false} assume true; {2374#false} is VALID [2018-11-18 23:46:57,506 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {2374#false} {2374#false} #59#return; {2374#false} is VALID [2018-11-18 23:46:57,506 INFO L273 TraceCheckUtils]: 41: Hoare triple {2374#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {2374#false} is VALID [2018-11-18 23:46:57,506 INFO L273 TraceCheckUtils]: 42: Hoare triple {2374#false} assume 0 == #t~ret8;havoc #t~ret8; {2374#false} is VALID [2018-11-18 23:46:57,507 INFO L273 TraceCheckUtils]: 43: Hoare triple {2374#false} assume !false; {2374#false} is VALID [2018-11-18 23:46:57,508 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-18 23:46:57,527 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:46:57,527 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 12 [2018-11-18 23:46:57,528 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 44 [2018-11-18 23:46:57,528 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:46:57,528 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2018-11-18 23:46:57,586 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-18 23:46:57,586 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-11-18 23:46:57,587 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-11-18 23:46:57,587 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=66, Unknown=0, NotChecked=0, Total=132 [2018-11-18 23:46:57,588 INFO L87 Difference]: Start difference. First operand 45 states and 46 transitions. Second operand 12 states. [2018-11-18 23:46:57,831 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:46:57,831 INFO L93 Difference]: Finished difference Result 62 states and 64 transitions. [2018-11-18 23:46:57,831 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2018-11-18 23:46:57,831 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 44 [2018-11-18 23:46:57,832 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:46:57,832 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-11-18 23:46:57,833 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 64 transitions. [2018-11-18 23:46:57,834 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-11-18 23:46:57,835 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 64 transitions. [2018-11-18 23:46:57,836 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 64 transitions. [2018-11-18 23:46:57,902 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-18 23:46:57,903 INFO L225 Difference]: With dead ends: 62 [2018-11-18 23:46:57,903 INFO L226 Difference]: Without dead ends: 49 [2018-11-18 23:46:57,904 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 54 GetRequests, 44 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=66, Invalid=66, Unknown=0, NotChecked=0, Total=132 [2018-11-18 23:46:57,904 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 49 states. [2018-11-18 23:46:58,063 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 49 to 48. [2018-11-18 23:46:58,063 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:46:58,063 INFO L82 GeneralOperation]: Start isEquivalent. First operand 49 states. Second operand 48 states. [2018-11-18 23:46:58,063 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand 48 states. [2018-11-18 23:46:58,063 INFO L87 Difference]: Start difference. First operand 49 states. Second operand 48 states. [2018-11-18 23:46:58,065 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:46:58,065 INFO L93 Difference]: Finished difference Result 49 states and 50 transitions. [2018-11-18 23:46:58,066 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 50 transitions. [2018-11-18 23:46:58,066 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:46:58,066 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:46:58,066 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand 49 states. [2018-11-18 23:46:58,066 INFO L87 Difference]: Start difference. First operand 48 states. Second operand 49 states. [2018-11-18 23:46:58,067 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:46:58,067 INFO L93 Difference]: Finished difference Result 49 states and 50 transitions. [2018-11-18 23:46:58,067 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 50 transitions. [2018-11-18 23:46:58,067 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:46:58,067 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:46:58,068 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:46:58,068 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:46:58,068 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 48 states. [2018-11-18 23:46:58,069 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 49 transitions. [2018-11-18 23:46:58,069 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 49 transitions. Word has length 44 [2018-11-18 23:46:58,069 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:46:58,069 INFO L480 AbstractCegarLoop]: Abstraction has 48 states and 49 transitions. [2018-11-18 23:46:58,069 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2018-11-18 23:46:58,069 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 49 transitions. [2018-11-18 23:46:58,070 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2018-11-18 23:46:58,070 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:46:58,070 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-18 23:46:58,070 INFO L423 AbstractCegarLoop]: === Iteration 11 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:46:58,070 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:46:58,070 INFO L82 PathProgramCache]: Analyzing trace with hash 280330771, now seen corresponding path program 9 times [2018-11-18 23:46:58,070 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:46:58,071 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:46:58,071 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:46:58,071 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-18 23:46:58,072 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:46:58,087 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:46:58,281 INFO L256 TraceCheckUtils]: 0: Hoare triple {2764#true} call ULTIMATE.init(); {2764#true} is VALID [2018-11-18 23:46:58,282 INFO L273 TraceCheckUtils]: 1: Hoare triple {2764#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2764#true} is VALID [2018-11-18 23:46:58,282 INFO L273 TraceCheckUtils]: 2: Hoare triple {2764#true} assume true; {2764#true} is VALID [2018-11-18 23:46:58,282 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2764#true} {2764#true} #55#return; {2764#true} is VALID [2018-11-18 23:46:58,283 INFO L256 TraceCheckUtils]: 4: Hoare triple {2764#true} call #t~ret9 := main(); {2764#true} is VALID [2018-11-18 23:46:58,283 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-18 23:46:58,285 INFO L273 TraceCheckUtils]: 6: Hoare triple {2766#(= main_~j~0 0)} assume true; {2766#(= main_~j~0 0)} is VALID [2018-11-18 23:46:58,285 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {2766#(= main_~j~0 0)} is VALID [2018-11-18 23:46:58,286 INFO L273 TraceCheckUtils]: 8: Hoare triple {2766#(= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {2767#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:58,287 INFO L273 TraceCheckUtils]: 9: Hoare triple {2767#(<= main_~j~0 1)} assume true; {2767#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:58,287 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {2767#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:58,288 INFO L273 TraceCheckUtils]: 11: Hoare triple {2767#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {2768#(<= main_~j~0 2)} is VALID [2018-11-18 23:46:58,289 INFO L273 TraceCheckUtils]: 12: Hoare triple {2768#(<= main_~j~0 2)} assume true; {2768#(<= main_~j~0 2)} is VALID [2018-11-18 23:46:58,290 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {2768#(<= main_~j~0 2)} is VALID [2018-11-18 23:46:58,291 INFO L273 TraceCheckUtils]: 14: Hoare triple {2768#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {2769#(<= main_~j~0 3)} is VALID [2018-11-18 23:46:58,291 INFO L273 TraceCheckUtils]: 15: Hoare triple {2769#(<= main_~j~0 3)} assume true; {2769#(<= main_~j~0 3)} is VALID [2018-11-18 23:46:58,292 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {2769#(<= main_~j~0 3)} is VALID [2018-11-18 23:46:58,293 INFO L273 TraceCheckUtils]: 17: Hoare triple {2769#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {2770#(<= main_~j~0 4)} is VALID [2018-11-18 23:46:58,293 INFO L273 TraceCheckUtils]: 18: Hoare triple {2770#(<= main_~j~0 4)} assume true; {2770#(<= main_~j~0 4)} is VALID [2018-11-18 23:46:58,294 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {2770#(<= main_~j~0 4)} is VALID [2018-11-18 23:46:58,295 INFO L273 TraceCheckUtils]: 20: Hoare triple {2770#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {2771#(<= main_~j~0 5)} is VALID [2018-11-18 23:46:58,295 INFO L273 TraceCheckUtils]: 21: Hoare triple {2771#(<= main_~j~0 5)} assume true; {2771#(<= main_~j~0 5)} is VALID [2018-11-18 23:46:58,296 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {2771#(<= main_~j~0 5)} is VALID [2018-11-18 23:46:58,297 INFO L273 TraceCheckUtils]: 23: Hoare triple {2771#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {2772#(<= main_~j~0 6)} is VALID [2018-11-18 23:46:58,298 INFO L273 TraceCheckUtils]: 24: Hoare triple {2772#(<= main_~j~0 6)} assume true; {2772#(<= main_~j~0 6)} is VALID [2018-11-18 23:46:58,298 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {2772#(<= main_~j~0 6)} is VALID [2018-11-18 23:46:58,299 INFO L273 TraceCheckUtils]: 26: Hoare triple {2772#(<= main_~j~0 6)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {2773#(<= main_~j~0 7)} is VALID [2018-11-18 23:46:58,300 INFO L273 TraceCheckUtils]: 27: Hoare triple {2773#(<= main_~j~0 7)} assume true; {2773#(<= main_~j~0 7)} is VALID [2018-11-18 23:46:58,300 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {2773#(<= main_~j~0 7)} is VALID [2018-11-18 23:46:58,301 INFO L273 TraceCheckUtils]: 29: Hoare triple {2773#(<= main_~j~0 7)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {2774#(<= main_~j~0 8)} is VALID [2018-11-18 23:46:58,302 INFO L273 TraceCheckUtils]: 30: Hoare triple {2774#(<= main_~j~0 8)} assume true; {2774#(<= main_~j~0 8)} is VALID [2018-11-18 23:46:58,302 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {2774#(<= main_~j~0 8)} is VALID [2018-11-18 23:46:58,303 INFO L273 TraceCheckUtils]: 32: Hoare triple {2774#(<= main_~j~0 8)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {2775#(<= main_~j~0 9)} is VALID [2018-11-18 23:46:58,304 INFO L273 TraceCheckUtils]: 33: Hoare triple {2775#(<= main_~j~0 9)} assume true; {2775#(<= main_~j~0 9)} is VALID [2018-11-18 23:46:58,304 INFO L273 TraceCheckUtils]: 34: Hoare triple {2775#(<= main_~j~0 9)} assume !(~j~0 < 20); {2765#false} is VALID [2018-11-18 23:46:58,305 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-18 23:46:58,305 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 + 8 * ~i~0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + 8 * ~i~0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + 8 * ~i~0, 4);~i~0 := 10 + #t~mem5;havoc #t~mem5; {2765#false} is VALID [2018-11-18 23:46:58,305 INFO L273 TraceCheckUtils]: 37: Hoare triple {2765#false} assume true; {2765#false} is VALID [2018-11-18 23:46:58,305 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-18 23:46:58,306 INFO L273 TraceCheckUtils]: 39: Hoare triple {2765#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {2765#false} is VALID [2018-11-18 23:46:58,306 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-18 23:46:58,306 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 + 8 * ~b, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {2764#true} is VALID [2018-11-18 23:46:58,307 INFO L273 TraceCheckUtils]: 42: Hoare triple {2764#true} assume true; {2764#true} is VALID [2018-11-18 23:46:58,307 INFO L268 TraceCheckUtils]: 43: Hoare quadruple {2764#true} {2765#false} #59#return; {2765#false} is VALID [2018-11-18 23:46:58,307 INFO L273 TraceCheckUtils]: 44: Hoare triple {2765#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {2765#false} is VALID [2018-11-18 23:46:58,307 INFO L273 TraceCheckUtils]: 45: Hoare triple {2765#false} assume 0 == #t~ret8;havoc #t~ret8; {2765#false} is VALID [2018-11-18 23:46:58,308 INFO L273 TraceCheckUtils]: 46: Hoare triple {2765#false} assume !false; {2765#false} is VALID [2018-11-18 23:46:58,311 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-18 23:46:58,311 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:46:58,311 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-18 23:46:58,320 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-18 23:46:58,525 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 10 check-sat command(s) [2018-11-18 23:46:58,525 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-18 23:46:58,544 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:46:58,546 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:46:58,677 INFO L256 TraceCheckUtils]: 0: Hoare triple {2764#true} call ULTIMATE.init(); {2764#true} is VALID [2018-11-18 23:46:58,677 INFO L273 TraceCheckUtils]: 1: Hoare triple {2764#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2764#true} is VALID [2018-11-18 23:46:58,677 INFO L273 TraceCheckUtils]: 2: Hoare triple {2764#true} assume true; {2764#true} is VALID [2018-11-18 23:46:58,677 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2764#true} {2764#true} #55#return; {2764#true} is VALID [2018-11-18 23:46:58,677 INFO L256 TraceCheckUtils]: 4: Hoare triple {2764#true} call #t~ret9 := main(); {2764#true} is VALID [2018-11-18 23:46:58,678 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-18 23:46:58,678 INFO L273 TraceCheckUtils]: 6: Hoare triple {2794#(<= main_~j~0 0)} assume true; {2794#(<= main_~j~0 0)} is VALID [2018-11-18 23:46:58,679 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {2794#(<= main_~j~0 0)} is VALID [2018-11-18 23:46:58,680 INFO L273 TraceCheckUtils]: 8: Hoare triple {2794#(<= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {2767#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:58,680 INFO L273 TraceCheckUtils]: 9: Hoare triple {2767#(<= main_~j~0 1)} assume true; {2767#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:58,681 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {2767#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:58,682 INFO L273 TraceCheckUtils]: 11: Hoare triple {2767#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {2768#(<= main_~j~0 2)} is VALID [2018-11-18 23:46:58,682 INFO L273 TraceCheckUtils]: 12: Hoare triple {2768#(<= main_~j~0 2)} assume true; {2768#(<= main_~j~0 2)} is VALID [2018-11-18 23:46:58,683 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {2768#(<= main_~j~0 2)} is VALID [2018-11-18 23:46:58,683 INFO L273 TraceCheckUtils]: 14: Hoare triple {2768#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {2769#(<= main_~j~0 3)} is VALID [2018-11-18 23:46:58,684 INFO L273 TraceCheckUtils]: 15: Hoare triple {2769#(<= main_~j~0 3)} assume true; {2769#(<= main_~j~0 3)} is VALID [2018-11-18 23:46:58,684 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {2769#(<= main_~j~0 3)} is VALID [2018-11-18 23:46:58,685 INFO L273 TraceCheckUtils]: 17: Hoare triple {2769#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {2770#(<= main_~j~0 4)} is VALID [2018-11-18 23:46:58,686 INFO L273 TraceCheckUtils]: 18: Hoare triple {2770#(<= main_~j~0 4)} assume true; {2770#(<= main_~j~0 4)} is VALID [2018-11-18 23:46:58,686 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {2770#(<= main_~j~0 4)} is VALID [2018-11-18 23:46:58,687 INFO L273 TraceCheckUtils]: 20: Hoare triple {2770#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {2771#(<= main_~j~0 5)} is VALID [2018-11-18 23:46:58,687 INFO L273 TraceCheckUtils]: 21: Hoare triple {2771#(<= main_~j~0 5)} assume true; {2771#(<= main_~j~0 5)} is VALID [2018-11-18 23:46:58,688 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {2771#(<= main_~j~0 5)} is VALID [2018-11-18 23:46:58,689 INFO L273 TraceCheckUtils]: 23: Hoare triple {2771#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {2772#(<= main_~j~0 6)} is VALID [2018-11-18 23:46:58,689 INFO L273 TraceCheckUtils]: 24: Hoare triple {2772#(<= main_~j~0 6)} assume true; {2772#(<= main_~j~0 6)} is VALID [2018-11-18 23:46:58,690 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {2772#(<= main_~j~0 6)} is VALID [2018-11-18 23:46:58,690 INFO L273 TraceCheckUtils]: 26: Hoare triple {2772#(<= main_~j~0 6)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {2773#(<= main_~j~0 7)} is VALID [2018-11-18 23:46:58,691 INFO L273 TraceCheckUtils]: 27: Hoare triple {2773#(<= main_~j~0 7)} assume true; {2773#(<= main_~j~0 7)} is VALID [2018-11-18 23:46:58,691 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {2773#(<= main_~j~0 7)} is VALID [2018-11-18 23:46:58,692 INFO L273 TraceCheckUtils]: 29: Hoare triple {2773#(<= main_~j~0 7)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {2774#(<= main_~j~0 8)} is VALID [2018-11-18 23:46:58,693 INFO L273 TraceCheckUtils]: 30: Hoare triple {2774#(<= main_~j~0 8)} assume true; {2774#(<= main_~j~0 8)} is VALID [2018-11-18 23:46:58,693 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {2774#(<= main_~j~0 8)} is VALID [2018-11-18 23:46:58,694 INFO L273 TraceCheckUtils]: 32: Hoare triple {2774#(<= main_~j~0 8)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {2775#(<= main_~j~0 9)} is VALID [2018-11-18 23:46:58,694 INFO L273 TraceCheckUtils]: 33: Hoare triple {2775#(<= main_~j~0 9)} assume true; {2775#(<= main_~j~0 9)} is VALID [2018-11-18 23:46:58,695 INFO L273 TraceCheckUtils]: 34: Hoare triple {2775#(<= main_~j~0 9)} assume !(~j~0 < 20); {2765#false} is VALID [2018-11-18 23:46:58,695 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-18 23:46:58,695 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 + 8 * ~i~0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + 8 * ~i~0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + 8 * ~i~0, 4);~i~0 := 10 + #t~mem5;havoc #t~mem5; {2765#false} is VALID [2018-11-18 23:46:58,696 INFO L273 TraceCheckUtils]: 37: Hoare triple {2765#false} assume true; {2765#false} is VALID [2018-11-18 23:46:58,696 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-18 23:46:58,696 INFO L273 TraceCheckUtils]: 39: Hoare triple {2765#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {2765#false} is VALID [2018-11-18 23:46:58,696 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-18 23:46:58,696 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 + 8 * ~b, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {2765#false} is VALID [2018-11-18 23:46:58,697 INFO L273 TraceCheckUtils]: 42: Hoare triple {2765#false} assume true; {2765#false} is VALID [2018-11-18 23:46:58,697 INFO L268 TraceCheckUtils]: 43: Hoare quadruple {2765#false} {2765#false} #59#return; {2765#false} is VALID [2018-11-18 23:46:58,697 INFO L273 TraceCheckUtils]: 44: Hoare triple {2765#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {2765#false} is VALID [2018-11-18 23:46:58,697 INFO L273 TraceCheckUtils]: 45: Hoare triple {2765#false} assume 0 == #t~ret8;havoc #t~ret8; {2765#false} is VALID [2018-11-18 23:46:58,698 INFO L273 TraceCheckUtils]: 46: Hoare triple {2765#false} assume !false; {2765#false} is VALID [2018-11-18 23:46:58,700 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-18 23:46:58,719 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:46:58,719 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 13 [2018-11-18 23:46:58,720 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 47 [2018-11-18 23:46:58,720 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:46:58,720 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states. [2018-11-18 23:46:58,820 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-18 23:46:58,820 INFO L459 AbstractCegarLoop]: Interpolant automaton has 13 states [2018-11-18 23:46:58,820 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2018-11-18 23:46:58,821 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=78, Invalid=78, Unknown=0, NotChecked=0, Total=156 [2018-11-18 23:46:58,821 INFO L87 Difference]: Start difference. First operand 48 states and 49 transitions. Second operand 13 states. [2018-11-18 23:46:59,065 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:46:59,065 INFO L93 Difference]: Finished difference Result 65 states and 67 transitions. [2018-11-18 23:46:59,066 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2018-11-18 23:46:59,066 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 47 [2018-11-18 23:46:59,066 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:46:59,066 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2018-11-18 23:46:59,069 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 67 transitions. [2018-11-18 23:46:59,069 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2018-11-18 23:46:59,070 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 67 transitions. [2018-11-18 23:46:59,071 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 67 transitions. [2018-11-18 23:46:59,137 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-18 23:46:59,139 INFO L225 Difference]: With dead ends: 65 [2018-11-18 23:46:59,139 INFO L226 Difference]: Without dead ends: 52 [2018-11-18 23:46:59,140 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-18 23:46:59,140 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2018-11-18 23:46:59,160 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 51. [2018-11-18 23:46:59,160 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:46:59,160 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand 51 states. [2018-11-18 23:46:59,160 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand 51 states. [2018-11-18 23:46:59,161 INFO L87 Difference]: Start difference. First operand 52 states. Second operand 51 states. [2018-11-18 23:46:59,162 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:46:59,162 INFO L93 Difference]: Finished difference Result 52 states and 53 transitions. [2018-11-18 23:46:59,162 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 53 transitions. [2018-11-18 23:46:59,162 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:46:59,162 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:46:59,162 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand 52 states. [2018-11-18 23:46:59,163 INFO L87 Difference]: Start difference. First operand 51 states. Second operand 52 states. [2018-11-18 23:46:59,164 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:46:59,164 INFO L93 Difference]: Finished difference Result 52 states and 53 transitions. [2018-11-18 23:46:59,164 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 53 transitions. [2018-11-18 23:46:59,164 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:46:59,164 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:46:59,164 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:46:59,164 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:46:59,165 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 51 states. [2018-11-18 23:46:59,165 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 52 transitions. [2018-11-18 23:46:59,166 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 52 transitions. Word has length 47 [2018-11-18 23:46:59,166 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:46:59,166 INFO L480 AbstractCegarLoop]: Abstraction has 51 states and 52 transitions. [2018-11-18 23:46:59,166 INFO L481 AbstractCegarLoop]: Interpolant automaton has 13 states. [2018-11-18 23:46:59,166 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 52 transitions. [2018-11-18 23:46:59,166 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2018-11-18 23:46:59,167 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:46:59,167 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-18 23:46:59,167 INFO L423 AbstractCegarLoop]: === Iteration 12 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:46:59,167 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:46:59,167 INFO L82 PathProgramCache]: Analyzing trace with hash 1850737412, now seen corresponding path program 10 times [2018-11-18 23:46:59,167 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:46:59,168 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:46:59,168 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:46:59,168 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-18 23:46:59,169 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:46:59,184 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:46:59,396 INFO L256 TraceCheckUtils]: 0: Hoare triple {3179#true} call ULTIMATE.init(); {3179#true} is VALID [2018-11-18 23:46:59,397 INFO L273 TraceCheckUtils]: 1: Hoare triple {3179#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {3179#true} is VALID [2018-11-18 23:46:59,397 INFO L273 TraceCheckUtils]: 2: Hoare triple {3179#true} assume true; {3179#true} is VALID [2018-11-18 23:46:59,397 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3179#true} {3179#true} #55#return; {3179#true} is VALID [2018-11-18 23:46:59,397 INFO L256 TraceCheckUtils]: 4: Hoare triple {3179#true} call #t~ret9 := main(); {3179#true} is VALID [2018-11-18 23:46:59,398 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-18 23:46:59,398 INFO L273 TraceCheckUtils]: 6: Hoare triple {3181#(= main_~j~0 0)} assume true; {3181#(= main_~j~0 0)} is VALID [2018-11-18 23:46:59,398 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {3181#(= main_~j~0 0)} is VALID [2018-11-18 23:46:59,399 INFO L273 TraceCheckUtils]: 8: Hoare triple {3181#(= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {3182#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:59,399 INFO L273 TraceCheckUtils]: 9: Hoare triple {3182#(<= main_~j~0 1)} assume true; {3182#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:59,400 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {3182#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:59,400 INFO L273 TraceCheckUtils]: 11: Hoare triple {3182#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {3183#(<= main_~j~0 2)} is VALID [2018-11-18 23:46:59,401 INFO L273 TraceCheckUtils]: 12: Hoare triple {3183#(<= main_~j~0 2)} assume true; {3183#(<= main_~j~0 2)} is VALID [2018-11-18 23:46:59,402 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {3183#(<= main_~j~0 2)} is VALID [2018-11-18 23:46:59,402 INFO L273 TraceCheckUtils]: 14: Hoare triple {3183#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {3184#(<= main_~j~0 3)} is VALID [2018-11-18 23:46:59,403 INFO L273 TraceCheckUtils]: 15: Hoare triple {3184#(<= main_~j~0 3)} assume true; {3184#(<= main_~j~0 3)} is VALID [2018-11-18 23:46:59,403 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {3184#(<= main_~j~0 3)} is VALID [2018-11-18 23:46:59,425 INFO L273 TraceCheckUtils]: 17: Hoare triple {3184#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {3185#(<= main_~j~0 4)} is VALID [2018-11-18 23:46:59,427 INFO L273 TraceCheckUtils]: 18: Hoare triple {3185#(<= main_~j~0 4)} assume true; {3185#(<= main_~j~0 4)} is VALID [2018-11-18 23:46:59,427 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {3185#(<= main_~j~0 4)} is VALID [2018-11-18 23:46:59,428 INFO L273 TraceCheckUtils]: 20: Hoare triple {3185#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {3186#(<= main_~j~0 5)} is VALID [2018-11-18 23:46:59,428 INFO L273 TraceCheckUtils]: 21: Hoare triple {3186#(<= main_~j~0 5)} assume true; {3186#(<= main_~j~0 5)} is VALID [2018-11-18 23:46:59,428 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {3186#(<= main_~j~0 5)} is VALID [2018-11-18 23:46:59,429 INFO L273 TraceCheckUtils]: 23: Hoare triple {3186#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {3187#(<= main_~j~0 6)} is VALID [2018-11-18 23:46:59,429 INFO L273 TraceCheckUtils]: 24: Hoare triple {3187#(<= main_~j~0 6)} assume true; {3187#(<= main_~j~0 6)} is VALID [2018-11-18 23:46:59,429 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {3187#(<= main_~j~0 6)} is VALID [2018-11-18 23:46:59,430 INFO L273 TraceCheckUtils]: 26: Hoare triple {3187#(<= main_~j~0 6)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {3188#(<= main_~j~0 7)} is VALID [2018-11-18 23:46:59,431 INFO L273 TraceCheckUtils]: 27: Hoare triple {3188#(<= main_~j~0 7)} assume true; {3188#(<= main_~j~0 7)} is VALID [2018-11-18 23:46:59,431 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {3188#(<= main_~j~0 7)} is VALID [2018-11-18 23:46:59,432 INFO L273 TraceCheckUtils]: 29: Hoare triple {3188#(<= main_~j~0 7)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {3189#(<= main_~j~0 8)} is VALID [2018-11-18 23:46:59,432 INFO L273 TraceCheckUtils]: 30: Hoare triple {3189#(<= main_~j~0 8)} assume true; {3189#(<= main_~j~0 8)} is VALID [2018-11-18 23:46:59,433 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {3189#(<= main_~j~0 8)} is VALID [2018-11-18 23:46:59,434 INFO L273 TraceCheckUtils]: 32: Hoare triple {3189#(<= main_~j~0 8)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {3190#(<= main_~j~0 9)} is VALID [2018-11-18 23:46:59,434 INFO L273 TraceCheckUtils]: 33: Hoare triple {3190#(<= main_~j~0 9)} assume true; {3190#(<= main_~j~0 9)} is VALID [2018-11-18 23:46:59,435 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {3190#(<= main_~j~0 9)} is VALID [2018-11-18 23:46:59,435 INFO L273 TraceCheckUtils]: 35: Hoare triple {3190#(<= main_~j~0 9)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {3191#(<= main_~j~0 10)} is VALID [2018-11-18 23:46:59,436 INFO L273 TraceCheckUtils]: 36: Hoare triple {3191#(<= main_~j~0 10)} assume true; {3191#(<= main_~j~0 10)} is VALID [2018-11-18 23:46:59,436 INFO L273 TraceCheckUtils]: 37: Hoare triple {3191#(<= main_~j~0 10)} assume !(~j~0 < 20); {3180#false} is VALID [2018-11-18 23:46:59,437 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-18 23:46:59,437 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 + 8 * ~i~0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + 8 * ~i~0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + 8 * ~i~0, 4);~i~0 := 10 + #t~mem5;havoc #t~mem5; {3180#false} is VALID [2018-11-18 23:46:59,437 INFO L273 TraceCheckUtils]: 40: Hoare triple {3180#false} assume true; {3180#false} is VALID [2018-11-18 23:46:59,437 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-18 23:46:59,438 INFO L273 TraceCheckUtils]: 42: Hoare triple {3180#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {3180#false} is VALID [2018-11-18 23:46:59,438 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-18 23:46:59,438 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 + 8 * ~b, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {3179#true} is VALID [2018-11-18 23:46:59,438 INFO L273 TraceCheckUtils]: 45: Hoare triple {3179#true} assume true; {3179#true} is VALID [2018-11-18 23:46:59,438 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {3179#true} {3180#false} #59#return; {3180#false} is VALID [2018-11-18 23:46:59,439 INFO L273 TraceCheckUtils]: 47: Hoare triple {3180#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {3180#false} is VALID [2018-11-18 23:46:59,439 INFO L273 TraceCheckUtils]: 48: Hoare triple {3180#false} assume 0 == #t~ret8;havoc #t~ret8; {3180#false} is VALID [2018-11-18 23:46:59,439 INFO L273 TraceCheckUtils]: 49: Hoare triple {3180#false} assume !false; {3180#false} is VALID [2018-11-18 23:46:59,442 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-18 23:46:59,442 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:46:59,442 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-18 23:46:59,451 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-18 23:46:59,490 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-18 23:46:59,491 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-18 23:46:59,511 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:46:59,512 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:46:59,639 INFO L256 TraceCheckUtils]: 0: Hoare triple {3179#true} call ULTIMATE.init(); {3179#true} is VALID [2018-11-18 23:46:59,640 INFO L273 TraceCheckUtils]: 1: Hoare triple {3179#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {3179#true} is VALID [2018-11-18 23:46:59,640 INFO L273 TraceCheckUtils]: 2: Hoare triple {3179#true} assume true; {3179#true} is VALID [2018-11-18 23:46:59,640 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3179#true} {3179#true} #55#return; {3179#true} is VALID [2018-11-18 23:46:59,641 INFO L256 TraceCheckUtils]: 4: Hoare triple {3179#true} call #t~ret9 := main(); {3179#true} is VALID [2018-11-18 23:46:59,641 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-18 23:46:59,642 INFO L273 TraceCheckUtils]: 6: Hoare triple {3210#(<= main_~j~0 0)} assume true; {3210#(<= main_~j~0 0)} is VALID [2018-11-18 23:46:59,642 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {3210#(<= main_~j~0 0)} is VALID [2018-11-18 23:46:59,643 INFO L273 TraceCheckUtils]: 8: Hoare triple {3210#(<= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {3182#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:59,643 INFO L273 TraceCheckUtils]: 9: Hoare triple {3182#(<= main_~j~0 1)} assume true; {3182#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:59,654 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {3182#(<= main_~j~0 1)} is VALID [2018-11-18 23:46:59,655 INFO L273 TraceCheckUtils]: 11: Hoare triple {3182#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {3183#(<= main_~j~0 2)} is VALID [2018-11-18 23:46:59,655 INFO L273 TraceCheckUtils]: 12: Hoare triple {3183#(<= main_~j~0 2)} assume true; {3183#(<= main_~j~0 2)} is VALID [2018-11-18 23:46:59,655 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {3183#(<= main_~j~0 2)} is VALID [2018-11-18 23:46:59,656 INFO L273 TraceCheckUtils]: 14: Hoare triple {3183#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {3184#(<= main_~j~0 3)} is VALID [2018-11-18 23:46:59,657 INFO L273 TraceCheckUtils]: 15: Hoare triple {3184#(<= main_~j~0 3)} assume true; {3184#(<= main_~j~0 3)} is VALID [2018-11-18 23:46:59,657 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {3184#(<= main_~j~0 3)} is VALID [2018-11-18 23:46:59,658 INFO L273 TraceCheckUtils]: 17: Hoare triple {3184#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {3185#(<= main_~j~0 4)} is VALID [2018-11-18 23:46:59,658 INFO L273 TraceCheckUtils]: 18: Hoare triple {3185#(<= main_~j~0 4)} assume true; {3185#(<= main_~j~0 4)} is VALID [2018-11-18 23:46:59,658 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {3185#(<= main_~j~0 4)} is VALID [2018-11-18 23:46:59,659 INFO L273 TraceCheckUtils]: 20: Hoare triple {3185#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {3186#(<= main_~j~0 5)} is VALID [2018-11-18 23:46:59,659 INFO L273 TraceCheckUtils]: 21: Hoare triple {3186#(<= main_~j~0 5)} assume true; {3186#(<= main_~j~0 5)} is VALID [2018-11-18 23:46:59,660 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {3186#(<= main_~j~0 5)} is VALID [2018-11-18 23:46:59,661 INFO L273 TraceCheckUtils]: 23: Hoare triple {3186#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {3187#(<= main_~j~0 6)} is VALID [2018-11-18 23:46:59,661 INFO L273 TraceCheckUtils]: 24: Hoare triple {3187#(<= main_~j~0 6)} assume true; {3187#(<= main_~j~0 6)} is VALID [2018-11-18 23:46:59,662 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {3187#(<= main_~j~0 6)} is VALID [2018-11-18 23:46:59,663 INFO L273 TraceCheckUtils]: 26: Hoare triple {3187#(<= main_~j~0 6)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {3188#(<= main_~j~0 7)} is VALID [2018-11-18 23:46:59,663 INFO L273 TraceCheckUtils]: 27: Hoare triple {3188#(<= main_~j~0 7)} assume true; {3188#(<= main_~j~0 7)} is VALID [2018-11-18 23:46:59,664 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {3188#(<= main_~j~0 7)} is VALID [2018-11-18 23:46:59,665 INFO L273 TraceCheckUtils]: 29: Hoare triple {3188#(<= main_~j~0 7)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {3189#(<= main_~j~0 8)} is VALID [2018-11-18 23:46:59,665 INFO L273 TraceCheckUtils]: 30: Hoare triple {3189#(<= main_~j~0 8)} assume true; {3189#(<= main_~j~0 8)} is VALID [2018-11-18 23:46:59,666 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {3189#(<= main_~j~0 8)} is VALID [2018-11-18 23:46:59,666 INFO L273 TraceCheckUtils]: 32: Hoare triple {3189#(<= main_~j~0 8)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {3190#(<= main_~j~0 9)} is VALID [2018-11-18 23:46:59,667 INFO L273 TraceCheckUtils]: 33: Hoare triple {3190#(<= main_~j~0 9)} assume true; {3190#(<= main_~j~0 9)} is VALID [2018-11-18 23:46:59,667 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {3190#(<= main_~j~0 9)} is VALID [2018-11-18 23:46:59,668 INFO L273 TraceCheckUtils]: 35: Hoare triple {3190#(<= main_~j~0 9)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {3191#(<= main_~j~0 10)} is VALID [2018-11-18 23:46:59,669 INFO L273 TraceCheckUtils]: 36: Hoare triple {3191#(<= main_~j~0 10)} assume true; {3191#(<= main_~j~0 10)} is VALID [2018-11-18 23:46:59,669 INFO L273 TraceCheckUtils]: 37: Hoare triple {3191#(<= main_~j~0 10)} assume !(~j~0 < 20); {3180#false} is VALID [2018-11-18 23:46:59,670 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-18 23:46:59,670 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 + 8 * ~i~0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + 8 * ~i~0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + 8 * ~i~0, 4);~i~0 := 10 + #t~mem5;havoc #t~mem5; {3180#false} is VALID [2018-11-18 23:46:59,670 INFO L273 TraceCheckUtils]: 40: Hoare triple {3180#false} assume true; {3180#false} is VALID [2018-11-18 23:46:59,670 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-18 23:46:59,670 INFO L273 TraceCheckUtils]: 42: Hoare triple {3180#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {3180#false} is VALID [2018-11-18 23:46:59,671 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-18 23:46:59,671 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 + 8 * ~b, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {3180#false} is VALID [2018-11-18 23:46:59,671 INFO L273 TraceCheckUtils]: 45: Hoare triple {3180#false} assume true; {3180#false} is VALID [2018-11-18 23:46:59,671 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {3180#false} {3180#false} #59#return; {3180#false} is VALID [2018-11-18 23:46:59,671 INFO L273 TraceCheckUtils]: 47: Hoare triple {3180#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {3180#false} is VALID [2018-11-18 23:46:59,672 INFO L273 TraceCheckUtils]: 48: Hoare triple {3180#false} assume 0 == #t~ret8;havoc #t~ret8; {3180#false} is VALID [2018-11-18 23:46:59,672 INFO L273 TraceCheckUtils]: 49: Hoare triple {3180#false} assume !false; {3180#false} is VALID [2018-11-18 23:46:59,674 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-18 23:46:59,695 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:46:59,696 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 14 [2018-11-18 23:46:59,696 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 50 [2018-11-18 23:46:59,696 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:46:59,696 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states. [2018-11-18 23:46:59,749 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-18 23:46:59,750 INFO L459 AbstractCegarLoop]: Interpolant automaton has 14 states [2018-11-18 23:46:59,750 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2018-11-18 23:46:59,750 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=91, Invalid=91, Unknown=0, NotChecked=0, Total=182 [2018-11-18 23:46:59,750 INFO L87 Difference]: Start difference. First operand 51 states and 52 transitions. Second operand 14 states. [2018-11-18 23:47:00,046 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:47:00,046 INFO L93 Difference]: Finished difference Result 68 states and 70 transitions. [2018-11-18 23:47:00,046 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2018-11-18 23:47:00,046 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 50 [2018-11-18 23:47:00,047 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:47:00,047 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-11-18 23:47:00,048 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 70 transitions. [2018-11-18 23:47:00,048 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-11-18 23:47:00,050 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 70 transitions. [2018-11-18 23:47:00,050 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 70 transitions. [2018-11-18 23:47:00,128 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-18 23:47:00,129 INFO L225 Difference]: With dead ends: 68 [2018-11-18 23:47:00,129 INFO L226 Difference]: Without dead ends: 55 [2018-11-18 23:47:00,130 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 62 GetRequests, 50 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 18 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=91, Invalid=91, Unknown=0, NotChecked=0, Total=182 [2018-11-18 23:47:00,130 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2018-11-18 23:47:00,145 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 54. [2018-11-18 23:47:00,146 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:47:00,146 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand 54 states. [2018-11-18 23:47:00,146 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 54 states. [2018-11-18 23:47:00,146 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 54 states. [2018-11-18 23:47:00,148 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:47:00,148 INFO L93 Difference]: Finished difference Result 55 states and 56 transitions. [2018-11-18 23:47:00,148 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 56 transitions. [2018-11-18 23:47:00,149 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:47:00,149 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:47:00,149 INFO L74 IsIncluded]: Start isIncluded. First operand 54 states. Second operand 55 states. [2018-11-18 23:47:00,149 INFO L87 Difference]: Start difference. First operand 54 states. Second operand 55 states. [2018-11-18 23:47:00,150 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:47:00,151 INFO L93 Difference]: Finished difference Result 55 states and 56 transitions. [2018-11-18 23:47:00,151 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 56 transitions. [2018-11-18 23:47:00,151 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:47:00,151 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:47:00,151 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:47:00,151 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:47:00,152 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 54 states. [2018-11-18 23:47:00,153 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 55 transitions. [2018-11-18 23:47:00,153 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 55 transitions. Word has length 50 [2018-11-18 23:47:00,153 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:47:00,153 INFO L480 AbstractCegarLoop]: Abstraction has 54 states and 55 transitions. [2018-11-18 23:47:00,153 INFO L481 AbstractCegarLoop]: Interpolant automaton has 14 states. [2018-11-18 23:47:00,154 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 55 transitions. [2018-11-18 23:47:00,154 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 54 [2018-11-18 23:47:00,154 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:47:00,154 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-18 23:47:00,155 INFO L423 AbstractCegarLoop]: === Iteration 13 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:47:00,155 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:47:00,155 INFO L82 PathProgramCache]: Analyzing trace with hash 756224115, now seen corresponding path program 11 times [2018-11-18 23:47:00,155 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:47:00,155 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:47:00,156 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:47:00,156 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-18 23:47:00,156 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:47:00,170 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:47:00,387 INFO L256 TraceCheckUtils]: 0: Hoare triple {3618#true} call ULTIMATE.init(); {3618#true} is VALID [2018-11-18 23:47:00,388 INFO L273 TraceCheckUtils]: 1: Hoare triple {3618#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {3618#true} is VALID [2018-11-18 23:47:00,388 INFO L273 TraceCheckUtils]: 2: Hoare triple {3618#true} assume true; {3618#true} is VALID [2018-11-18 23:47:00,388 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3618#true} {3618#true} #55#return; {3618#true} is VALID [2018-11-18 23:47:00,388 INFO L256 TraceCheckUtils]: 4: Hoare triple {3618#true} call #t~ret9 := main(); {3618#true} is VALID [2018-11-18 23:47:00,389 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-18 23:47:00,390 INFO L273 TraceCheckUtils]: 6: Hoare triple {3620#(= main_~j~0 0)} assume true; {3620#(= main_~j~0 0)} is VALID [2018-11-18 23:47:00,411 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {3620#(= main_~j~0 0)} is VALID [2018-11-18 23:47:00,425 INFO L273 TraceCheckUtils]: 8: Hoare triple {3620#(= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {3621#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:00,433 INFO L273 TraceCheckUtils]: 9: Hoare triple {3621#(<= main_~j~0 1)} assume true; {3621#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:00,453 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {3621#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:00,468 INFO L273 TraceCheckUtils]: 11: Hoare triple {3621#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {3622#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:00,477 INFO L273 TraceCheckUtils]: 12: Hoare triple {3622#(<= main_~j~0 2)} assume true; {3622#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:00,491 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {3622#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:00,505 INFO L273 TraceCheckUtils]: 14: Hoare triple {3622#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {3623#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:00,507 INFO L273 TraceCheckUtils]: 15: Hoare triple {3623#(<= main_~j~0 3)} assume true; {3623#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:00,507 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {3623#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:00,509 INFO L273 TraceCheckUtils]: 17: Hoare triple {3623#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {3624#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:00,509 INFO L273 TraceCheckUtils]: 18: Hoare triple {3624#(<= main_~j~0 4)} assume true; {3624#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:00,510 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {3624#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:00,510 INFO L273 TraceCheckUtils]: 20: Hoare triple {3624#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {3625#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:00,511 INFO L273 TraceCheckUtils]: 21: Hoare triple {3625#(<= main_~j~0 5)} assume true; {3625#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:00,511 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {3625#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:00,512 INFO L273 TraceCheckUtils]: 23: Hoare triple {3625#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {3626#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:00,512 INFO L273 TraceCheckUtils]: 24: Hoare triple {3626#(<= main_~j~0 6)} assume true; {3626#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:00,513 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {3626#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:00,514 INFO L273 TraceCheckUtils]: 26: Hoare triple {3626#(<= main_~j~0 6)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {3627#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:00,514 INFO L273 TraceCheckUtils]: 27: Hoare triple {3627#(<= main_~j~0 7)} assume true; {3627#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:00,515 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {3627#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:00,516 INFO L273 TraceCheckUtils]: 29: Hoare triple {3627#(<= main_~j~0 7)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {3628#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:00,517 INFO L273 TraceCheckUtils]: 30: Hoare triple {3628#(<= main_~j~0 8)} assume true; {3628#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:00,517 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {3628#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:00,518 INFO L273 TraceCheckUtils]: 32: Hoare triple {3628#(<= main_~j~0 8)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {3629#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:00,519 INFO L273 TraceCheckUtils]: 33: Hoare triple {3629#(<= main_~j~0 9)} assume true; {3629#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:00,520 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {3629#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:00,520 INFO L273 TraceCheckUtils]: 35: Hoare triple {3629#(<= main_~j~0 9)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {3630#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:00,521 INFO L273 TraceCheckUtils]: 36: Hoare triple {3630#(<= main_~j~0 10)} assume true; {3630#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:00,522 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {3630#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:00,522 INFO L273 TraceCheckUtils]: 38: Hoare triple {3630#(<= main_~j~0 10)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {3631#(<= main_~j~0 11)} is VALID [2018-11-18 23:47:00,523 INFO L273 TraceCheckUtils]: 39: Hoare triple {3631#(<= main_~j~0 11)} assume true; {3631#(<= main_~j~0 11)} is VALID [2018-11-18 23:47:00,524 INFO L273 TraceCheckUtils]: 40: Hoare triple {3631#(<= main_~j~0 11)} assume !(~j~0 < 20); {3619#false} is VALID [2018-11-18 23:47:00,524 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-18 23:47:00,524 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 + 8 * ~i~0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + 8 * ~i~0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + 8 * ~i~0, 4);~i~0 := 10 + #t~mem5;havoc #t~mem5; {3619#false} is VALID [2018-11-18 23:47:00,524 INFO L273 TraceCheckUtils]: 43: Hoare triple {3619#false} assume true; {3619#false} is VALID [2018-11-18 23:47:00,524 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-18 23:47:00,525 INFO L273 TraceCheckUtils]: 45: Hoare triple {3619#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {3619#false} is VALID [2018-11-18 23:47:00,525 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-18 23:47:00,525 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 + 8 * ~b, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {3618#true} is VALID [2018-11-18 23:47:00,525 INFO L273 TraceCheckUtils]: 48: Hoare triple {3618#true} assume true; {3618#true} is VALID [2018-11-18 23:47:00,526 INFO L268 TraceCheckUtils]: 49: Hoare quadruple {3618#true} {3619#false} #59#return; {3619#false} is VALID [2018-11-18 23:47:00,526 INFO L273 TraceCheckUtils]: 50: Hoare triple {3619#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {3619#false} is VALID [2018-11-18 23:47:00,526 INFO L273 TraceCheckUtils]: 51: Hoare triple {3619#false} assume 0 == #t~ret8;havoc #t~ret8; {3619#false} is VALID [2018-11-18 23:47:00,526 INFO L273 TraceCheckUtils]: 52: Hoare triple {3619#false} assume !false; {3619#false} is VALID [2018-11-18 23:47:00,529 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-18 23:47:00,529 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:47:00,529 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-18 23:47:00,546 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-18 23:47:00,764 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 12 check-sat command(s) [2018-11-18 23:47:00,764 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-18 23:47:00,779 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:47:00,780 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:47:01,043 INFO L256 TraceCheckUtils]: 0: Hoare triple {3618#true} call ULTIMATE.init(); {3618#true} is VALID [2018-11-18 23:47:01,043 INFO L273 TraceCheckUtils]: 1: Hoare triple {3618#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {3618#true} is VALID [2018-11-18 23:47:01,043 INFO L273 TraceCheckUtils]: 2: Hoare triple {3618#true} assume true; {3618#true} is VALID [2018-11-18 23:47:01,044 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3618#true} {3618#true} #55#return; {3618#true} is VALID [2018-11-18 23:47:01,044 INFO L256 TraceCheckUtils]: 4: Hoare triple {3618#true} call #t~ret9 := main(); {3618#true} is VALID [2018-11-18 23:47:01,045 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-18 23:47:01,045 INFO L273 TraceCheckUtils]: 6: Hoare triple {3650#(<= main_~j~0 0)} assume true; {3650#(<= main_~j~0 0)} is VALID [2018-11-18 23:47:01,047 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {3650#(<= main_~j~0 0)} is VALID [2018-11-18 23:47:01,050 INFO L273 TraceCheckUtils]: 8: Hoare triple {3650#(<= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {3621#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:01,052 INFO L273 TraceCheckUtils]: 9: Hoare triple {3621#(<= main_~j~0 1)} assume true; {3621#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:01,052 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {3621#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:01,055 INFO L273 TraceCheckUtils]: 11: Hoare triple {3621#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {3622#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:01,055 INFO L273 TraceCheckUtils]: 12: Hoare triple {3622#(<= main_~j~0 2)} assume true; {3622#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:01,057 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {3622#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:01,057 INFO L273 TraceCheckUtils]: 14: Hoare triple {3622#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {3623#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:01,059 INFO L273 TraceCheckUtils]: 15: Hoare triple {3623#(<= main_~j~0 3)} assume true; {3623#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:01,059 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {3623#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:01,062 INFO L273 TraceCheckUtils]: 17: Hoare triple {3623#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {3624#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:01,062 INFO L273 TraceCheckUtils]: 18: Hoare triple {3624#(<= main_~j~0 4)} assume true; {3624#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:01,064 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {3624#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:01,064 INFO L273 TraceCheckUtils]: 20: Hoare triple {3624#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {3625#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:01,066 INFO L273 TraceCheckUtils]: 21: Hoare triple {3625#(<= main_~j~0 5)} assume true; {3625#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:01,066 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {3625#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:01,068 INFO L273 TraceCheckUtils]: 23: Hoare triple {3625#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {3626#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:01,068 INFO L273 TraceCheckUtils]: 24: Hoare triple {3626#(<= main_~j~0 6)} assume true; {3626#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:01,070 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {3626#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:01,070 INFO L273 TraceCheckUtils]: 26: Hoare triple {3626#(<= main_~j~0 6)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {3627#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:01,072 INFO L273 TraceCheckUtils]: 27: Hoare triple {3627#(<= main_~j~0 7)} assume true; {3627#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:01,072 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {3627#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:01,074 INFO L273 TraceCheckUtils]: 29: Hoare triple {3627#(<= main_~j~0 7)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {3628#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:01,074 INFO L273 TraceCheckUtils]: 30: Hoare triple {3628#(<= main_~j~0 8)} assume true; {3628#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:01,076 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {3628#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:01,076 INFO L273 TraceCheckUtils]: 32: Hoare triple {3628#(<= main_~j~0 8)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {3629#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:01,082 INFO L273 TraceCheckUtils]: 33: Hoare triple {3629#(<= main_~j~0 9)} assume true; {3629#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:01,082 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {3629#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:01,082 INFO L273 TraceCheckUtils]: 35: Hoare triple {3629#(<= main_~j~0 9)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {3630#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:01,084 INFO L273 TraceCheckUtils]: 36: Hoare triple {3630#(<= main_~j~0 10)} assume true; {3630#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:01,084 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {3630#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:01,087 INFO L273 TraceCheckUtils]: 38: Hoare triple {3630#(<= main_~j~0 10)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {3631#(<= main_~j~0 11)} is VALID [2018-11-18 23:47:01,087 INFO L273 TraceCheckUtils]: 39: Hoare triple {3631#(<= main_~j~0 11)} assume true; {3631#(<= main_~j~0 11)} is VALID [2018-11-18 23:47:01,089 INFO L273 TraceCheckUtils]: 40: Hoare triple {3631#(<= main_~j~0 11)} assume !(~j~0 < 20); {3619#false} is VALID [2018-11-18 23:47:01,089 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-18 23:47:01,089 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 + 8 * ~i~0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + 8 * ~i~0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + 8 * ~i~0, 4);~i~0 := 10 + #t~mem5;havoc #t~mem5; {3619#false} is VALID [2018-11-18 23:47:01,089 INFO L273 TraceCheckUtils]: 43: Hoare triple {3619#false} assume true; {3619#false} is VALID [2018-11-18 23:47:01,089 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-18 23:47:01,089 INFO L273 TraceCheckUtils]: 45: Hoare triple {3619#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {3619#false} is VALID [2018-11-18 23:47:01,089 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-18 23:47:01,090 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 + 8 * ~b, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {3619#false} is VALID [2018-11-18 23:47:01,090 INFO L273 TraceCheckUtils]: 48: Hoare triple {3619#false} assume true; {3619#false} is VALID [2018-11-18 23:47:01,090 INFO L268 TraceCheckUtils]: 49: Hoare quadruple {3619#false} {3619#false} #59#return; {3619#false} is VALID [2018-11-18 23:47:01,090 INFO L273 TraceCheckUtils]: 50: Hoare triple {3619#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {3619#false} is VALID [2018-11-18 23:47:01,090 INFO L273 TraceCheckUtils]: 51: Hoare triple {3619#false} assume 0 == #t~ret8;havoc #t~ret8; {3619#false} is VALID [2018-11-18 23:47:01,090 INFO L273 TraceCheckUtils]: 52: Hoare triple {3619#false} assume !false; {3619#false} is VALID [2018-11-18 23:47:01,092 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-18 23:47:01,111 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:47:01,111 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 14] total 15 [2018-11-18 23:47:01,112 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 53 [2018-11-18 23:47:01,112 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:47:01,112 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states. [2018-11-18 23:47:01,198 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-18 23:47:01,198 INFO L459 AbstractCegarLoop]: Interpolant automaton has 15 states [2018-11-18 23:47:01,199 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2018-11-18 23:47:01,199 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=105, Invalid=105, Unknown=0, NotChecked=0, Total=210 [2018-11-18 23:47:01,199 INFO L87 Difference]: Start difference. First operand 54 states and 55 transitions. Second operand 15 states. [2018-11-18 23:47:01,540 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:47:01,540 INFO L93 Difference]: Finished difference Result 71 states and 73 transitions. [2018-11-18 23:47:01,540 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2018-11-18 23:47:01,541 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 53 [2018-11-18 23:47:01,541 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:47:01,541 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-18 23:47:01,543 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 73 transitions. [2018-11-18 23:47:01,543 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-18 23:47:01,546 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 73 transitions. [2018-11-18 23:47:01,546 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 73 transitions. [2018-11-18 23:47:01,645 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-18 23:47:01,646 INFO L225 Difference]: With dead ends: 71 [2018-11-18 23:47:01,647 INFO L226 Difference]: Without dead ends: 58 [2018-11-18 23:47:01,647 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-18 23:47:01,648 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 58 states. [2018-11-18 23:47:01,676 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 58 to 57. [2018-11-18 23:47:01,676 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:47:01,676 INFO L82 GeneralOperation]: Start isEquivalent. First operand 58 states. Second operand 57 states. [2018-11-18 23:47:01,676 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand 57 states. [2018-11-18 23:47:01,676 INFO L87 Difference]: Start difference. First operand 58 states. Second operand 57 states. [2018-11-18 23:47:01,678 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:47:01,678 INFO L93 Difference]: Finished difference Result 58 states and 59 transitions. [2018-11-18 23:47:01,678 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 59 transitions. [2018-11-18 23:47:01,679 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:47:01,679 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:47:01,679 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand 58 states. [2018-11-18 23:47:01,679 INFO L87 Difference]: Start difference. First operand 57 states. Second operand 58 states. [2018-11-18 23:47:01,680 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:47:01,681 INFO L93 Difference]: Finished difference Result 58 states and 59 transitions. [2018-11-18 23:47:01,681 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 59 transitions. [2018-11-18 23:47:01,681 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:47:01,681 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:47:01,682 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:47:01,682 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:47:01,682 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 57 states. [2018-11-18 23:47:01,683 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 58 transitions. [2018-11-18 23:47:01,683 INFO L78 Accepts]: Start accepts. Automaton has 57 states and 58 transitions. Word has length 53 [2018-11-18 23:47:01,684 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:47:01,684 INFO L480 AbstractCegarLoop]: Abstraction has 57 states and 58 transitions. [2018-11-18 23:47:01,684 INFO L481 AbstractCegarLoop]: Interpolant automaton has 15 states. [2018-11-18 23:47:01,684 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 58 transitions. [2018-11-18 23:47:01,684 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2018-11-18 23:47:01,685 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:47:01,685 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-18 23:47:01,685 INFO L423 AbstractCegarLoop]: === Iteration 14 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:47:01,685 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:47:01,685 INFO L82 PathProgramCache]: Analyzing trace with hash 1502304420, now seen corresponding path program 12 times [2018-11-18 23:47:01,685 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:47:01,686 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:47:01,686 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:47:01,686 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-18 23:47:01,686 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:47:01,701 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:47:02,110 INFO L256 TraceCheckUtils]: 0: Hoare triple {4081#true} call ULTIMATE.init(); {4081#true} is VALID [2018-11-18 23:47:02,111 INFO L273 TraceCheckUtils]: 1: Hoare triple {4081#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {4081#true} is VALID [2018-11-18 23:47:02,111 INFO L273 TraceCheckUtils]: 2: Hoare triple {4081#true} assume true; {4081#true} is VALID [2018-11-18 23:47:02,112 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4081#true} {4081#true} #55#return; {4081#true} is VALID [2018-11-18 23:47:02,112 INFO L256 TraceCheckUtils]: 4: Hoare triple {4081#true} call #t~ret9 := main(); {4081#true} is VALID [2018-11-18 23:47:02,113 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-18 23:47:02,114 INFO L273 TraceCheckUtils]: 6: Hoare triple {4083#(= main_~j~0 0)} assume true; {4083#(= main_~j~0 0)} is VALID [2018-11-18 23:47:02,114 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {4083#(= main_~j~0 0)} is VALID [2018-11-18 23:47:02,115 INFO L273 TraceCheckUtils]: 8: Hoare triple {4083#(= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {4084#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:02,115 INFO L273 TraceCheckUtils]: 9: Hoare triple {4084#(<= main_~j~0 1)} assume true; {4084#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:02,115 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {4084#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:02,116 INFO L273 TraceCheckUtils]: 11: Hoare triple {4084#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {4085#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:02,116 INFO L273 TraceCheckUtils]: 12: Hoare triple {4085#(<= main_~j~0 2)} assume true; {4085#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:02,117 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {4085#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:02,117 INFO L273 TraceCheckUtils]: 14: Hoare triple {4085#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {4086#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:02,118 INFO L273 TraceCheckUtils]: 15: Hoare triple {4086#(<= main_~j~0 3)} assume true; {4086#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:02,119 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {4086#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:02,119 INFO L273 TraceCheckUtils]: 17: Hoare triple {4086#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {4087#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:02,120 INFO L273 TraceCheckUtils]: 18: Hoare triple {4087#(<= main_~j~0 4)} assume true; {4087#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:02,121 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {4087#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:02,121 INFO L273 TraceCheckUtils]: 20: Hoare triple {4087#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {4088#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:02,122 INFO L273 TraceCheckUtils]: 21: Hoare triple {4088#(<= main_~j~0 5)} assume true; {4088#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:02,123 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {4088#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:02,123 INFO L273 TraceCheckUtils]: 23: Hoare triple {4088#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {4089#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:02,124 INFO L273 TraceCheckUtils]: 24: Hoare triple {4089#(<= main_~j~0 6)} assume true; {4089#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:02,124 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {4089#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:02,125 INFO L273 TraceCheckUtils]: 26: Hoare triple {4089#(<= main_~j~0 6)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {4090#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:02,126 INFO L273 TraceCheckUtils]: 27: Hoare triple {4090#(<= main_~j~0 7)} assume true; {4090#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:02,126 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {4090#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:02,127 INFO L273 TraceCheckUtils]: 29: Hoare triple {4090#(<= main_~j~0 7)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {4091#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:02,128 INFO L273 TraceCheckUtils]: 30: Hoare triple {4091#(<= main_~j~0 8)} assume true; {4091#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:02,128 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {4091#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:02,129 INFO L273 TraceCheckUtils]: 32: Hoare triple {4091#(<= main_~j~0 8)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {4092#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:02,130 INFO L273 TraceCheckUtils]: 33: Hoare triple {4092#(<= main_~j~0 9)} assume true; {4092#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:02,130 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {4092#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:02,131 INFO L273 TraceCheckUtils]: 35: Hoare triple {4092#(<= main_~j~0 9)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {4093#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:02,132 INFO L273 TraceCheckUtils]: 36: Hoare triple {4093#(<= main_~j~0 10)} assume true; {4093#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:02,132 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {4093#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:02,133 INFO L273 TraceCheckUtils]: 38: Hoare triple {4093#(<= main_~j~0 10)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {4094#(<= main_~j~0 11)} is VALID [2018-11-18 23:47:02,134 INFO L273 TraceCheckUtils]: 39: Hoare triple {4094#(<= main_~j~0 11)} assume true; {4094#(<= main_~j~0 11)} is VALID [2018-11-18 23:47:02,134 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {4094#(<= main_~j~0 11)} is VALID [2018-11-18 23:47:02,135 INFO L273 TraceCheckUtils]: 41: Hoare triple {4094#(<= main_~j~0 11)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {4095#(<= main_~j~0 12)} is VALID [2018-11-18 23:47:02,136 INFO L273 TraceCheckUtils]: 42: Hoare triple {4095#(<= main_~j~0 12)} assume true; {4095#(<= main_~j~0 12)} is VALID [2018-11-18 23:47:02,137 INFO L273 TraceCheckUtils]: 43: Hoare triple {4095#(<= main_~j~0 12)} assume !(~j~0 < 20); {4082#false} is VALID [2018-11-18 23:47:02,137 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-18 23:47:02,137 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 + 8 * ~i~0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + 8 * ~i~0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + 8 * ~i~0, 4);~i~0 := 10 + #t~mem5;havoc #t~mem5; {4082#false} is VALID [2018-11-18 23:47:02,137 INFO L273 TraceCheckUtils]: 46: Hoare triple {4082#false} assume true; {4082#false} is VALID [2018-11-18 23:47:02,138 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-18 23:47:02,138 INFO L273 TraceCheckUtils]: 48: Hoare triple {4082#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {4082#false} is VALID [2018-11-18 23:47:02,138 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-18 23:47:02,138 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 + 8 * ~b, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {4081#true} is VALID [2018-11-18 23:47:02,139 INFO L273 TraceCheckUtils]: 51: Hoare triple {4081#true} assume true; {4081#true} is VALID [2018-11-18 23:47:02,139 INFO L268 TraceCheckUtils]: 52: Hoare quadruple {4081#true} {4082#false} #59#return; {4082#false} is VALID [2018-11-18 23:47:02,139 INFO L273 TraceCheckUtils]: 53: Hoare triple {4082#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {4082#false} is VALID [2018-11-18 23:47:02,139 INFO L273 TraceCheckUtils]: 54: Hoare triple {4082#false} assume 0 == #t~ret8;havoc #t~ret8; {4082#false} is VALID [2018-11-18 23:47:02,140 INFO L273 TraceCheckUtils]: 55: Hoare triple {4082#false} assume !false; {4082#false} is VALID [2018-11-18 23:47:02,144 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-18 23:47:02,144 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:47:02,144 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-18 23:47:02,152 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-18 23:47:03,066 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 13 check-sat command(s) [2018-11-18 23:47:03,066 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-18 23:47:03,091 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:47:03,093 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:47:03,231 INFO L256 TraceCheckUtils]: 0: Hoare triple {4081#true} call ULTIMATE.init(); {4081#true} is VALID [2018-11-18 23:47:03,232 INFO L273 TraceCheckUtils]: 1: Hoare triple {4081#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {4081#true} is VALID [2018-11-18 23:47:03,232 INFO L273 TraceCheckUtils]: 2: Hoare triple {4081#true} assume true; {4081#true} is VALID [2018-11-18 23:47:03,232 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4081#true} {4081#true} #55#return; {4081#true} is VALID [2018-11-18 23:47:03,232 INFO L256 TraceCheckUtils]: 4: Hoare triple {4081#true} call #t~ret9 := main(); {4081#true} is VALID [2018-11-18 23:47:03,233 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-18 23:47:03,234 INFO L273 TraceCheckUtils]: 6: Hoare triple {4114#(<= main_~j~0 0)} assume true; {4114#(<= main_~j~0 0)} is VALID [2018-11-18 23:47:03,234 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {4114#(<= main_~j~0 0)} is VALID [2018-11-18 23:47:03,235 INFO L273 TraceCheckUtils]: 8: Hoare triple {4114#(<= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {4084#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:03,236 INFO L273 TraceCheckUtils]: 9: Hoare triple {4084#(<= main_~j~0 1)} assume true; {4084#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:03,236 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {4084#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:03,237 INFO L273 TraceCheckUtils]: 11: Hoare triple {4084#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {4085#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:03,238 INFO L273 TraceCheckUtils]: 12: Hoare triple {4085#(<= main_~j~0 2)} assume true; {4085#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:03,239 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {4085#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:03,239 INFO L273 TraceCheckUtils]: 14: Hoare triple {4085#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {4086#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:03,240 INFO L273 TraceCheckUtils]: 15: Hoare triple {4086#(<= main_~j~0 3)} assume true; {4086#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:03,241 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {4086#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:03,241 INFO L273 TraceCheckUtils]: 17: Hoare triple {4086#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {4087#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:03,242 INFO L273 TraceCheckUtils]: 18: Hoare triple {4087#(<= main_~j~0 4)} assume true; {4087#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:03,243 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {4087#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:03,243 INFO L273 TraceCheckUtils]: 20: Hoare triple {4087#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {4088#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:03,244 INFO L273 TraceCheckUtils]: 21: Hoare triple {4088#(<= main_~j~0 5)} assume true; {4088#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:03,245 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {4088#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:03,246 INFO L273 TraceCheckUtils]: 23: Hoare triple {4088#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {4089#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:03,247 INFO L273 TraceCheckUtils]: 24: Hoare triple {4089#(<= main_~j~0 6)} assume true; {4089#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:03,247 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {4089#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:03,248 INFO L273 TraceCheckUtils]: 26: Hoare triple {4089#(<= main_~j~0 6)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {4090#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:03,249 INFO L273 TraceCheckUtils]: 27: Hoare triple {4090#(<= main_~j~0 7)} assume true; {4090#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:03,251 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {4090#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:03,252 INFO L273 TraceCheckUtils]: 29: Hoare triple {4090#(<= main_~j~0 7)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {4091#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:03,252 INFO L273 TraceCheckUtils]: 30: Hoare triple {4091#(<= main_~j~0 8)} assume true; {4091#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:03,253 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {4091#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:03,254 INFO L273 TraceCheckUtils]: 32: Hoare triple {4091#(<= main_~j~0 8)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {4092#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:03,254 INFO L273 TraceCheckUtils]: 33: Hoare triple {4092#(<= main_~j~0 9)} assume true; {4092#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:03,254 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {4092#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:03,255 INFO L273 TraceCheckUtils]: 35: Hoare triple {4092#(<= main_~j~0 9)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {4093#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:03,255 INFO L273 TraceCheckUtils]: 36: Hoare triple {4093#(<= main_~j~0 10)} assume true; {4093#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:03,256 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {4093#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:03,257 INFO L273 TraceCheckUtils]: 38: Hoare triple {4093#(<= main_~j~0 10)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {4094#(<= main_~j~0 11)} is VALID [2018-11-18 23:47:03,257 INFO L273 TraceCheckUtils]: 39: Hoare triple {4094#(<= main_~j~0 11)} assume true; {4094#(<= main_~j~0 11)} is VALID [2018-11-18 23:47:03,258 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {4094#(<= main_~j~0 11)} is VALID [2018-11-18 23:47:03,259 INFO L273 TraceCheckUtils]: 41: Hoare triple {4094#(<= main_~j~0 11)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {4095#(<= main_~j~0 12)} is VALID [2018-11-18 23:47:03,259 INFO L273 TraceCheckUtils]: 42: Hoare triple {4095#(<= main_~j~0 12)} assume true; {4095#(<= main_~j~0 12)} is VALID [2018-11-18 23:47:03,260 INFO L273 TraceCheckUtils]: 43: Hoare triple {4095#(<= main_~j~0 12)} assume !(~j~0 < 20); {4082#false} is VALID [2018-11-18 23:47:03,260 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-18 23:47:03,261 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 + 8 * ~i~0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + 8 * ~i~0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + 8 * ~i~0, 4);~i~0 := 10 + #t~mem5;havoc #t~mem5; {4082#false} is VALID [2018-11-18 23:47:03,261 INFO L273 TraceCheckUtils]: 46: Hoare triple {4082#false} assume true; {4082#false} is VALID [2018-11-18 23:47:03,261 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-18 23:47:03,261 INFO L273 TraceCheckUtils]: 48: Hoare triple {4082#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {4082#false} is VALID [2018-11-18 23:47:03,262 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-18 23:47:03,262 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 + 8 * ~b, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {4082#false} is VALID [2018-11-18 23:47:03,262 INFO L273 TraceCheckUtils]: 51: Hoare triple {4082#false} assume true; {4082#false} is VALID [2018-11-18 23:47:03,262 INFO L268 TraceCheckUtils]: 52: Hoare quadruple {4082#false} {4082#false} #59#return; {4082#false} is VALID [2018-11-18 23:47:03,263 INFO L273 TraceCheckUtils]: 53: Hoare triple {4082#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {4082#false} is VALID [2018-11-18 23:47:03,263 INFO L273 TraceCheckUtils]: 54: Hoare triple {4082#false} assume 0 == #t~ret8;havoc #t~ret8; {4082#false} is VALID [2018-11-18 23:47:03,263 INFO L273 TraceCheckUtils]: 55: Hoare triple {4082#false} assume !false; {4082#false} is VALID [2018-11-18 23:47:03,267 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-18 23:47:03,287 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:47:03,287 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 15] total 16 [2018-11-18 23:47:03,288 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 56 [2018-11-18 23:47:03,288 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:47:03,288 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states. [2018-11-18 23:47:03,355 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-18 23:47:03,355 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2018-11-18 23:47:03,356 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2018-11-18 23:47:03,370 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=120, Invalid=120, Unknown=0, NotChecked=0, Total=240 [2018-11-18 23:47:03,370 INFO L87 Difference]: Start difference. First operand 57 states and 58 transitions. Second operand 16 states. [2018-11-18 23:47:03,687 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:47:03,688 INFO L93 Difference]: Finished difference Result 74 states and 76 transitions. [2018-11-18 23:47:03,688 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2018-11-18 23:47:03,688 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 56 [2018-11-18 23:47:03,689 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:47:03,689 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-18 23:47:03,690 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 76 transitions. [2018-11-18 23:47:03,690 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-18 23:47:03,691 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 76 transitions. [2018-11-18 23:47:03,692 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 76 transitions. [2018-11-18 23:47:03,778 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-18 23:47:03,780 INFO L225 Difference]: With dead ends: 74 [2018-11-18 23:47:03,780 INFO L226 Difference]: Without dead ends: 61 [2018-11-18 23:47:03,780 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 70 GetRequests, 56 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=120, Invalid=120, Unknown=0, NotChecked=0, Total=240 [2018-11-18 23:47:03,781 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 61 states. [2018-11-18 23:47:03,799 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 61 to 60. [2018-11-18 23:47:03,799 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:47:03,800 INFO L82 GeneralOperation]: Start isEquivalent. First operand 61 states. Second operand 60 states. [2018-11-18 23:47:03,800 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand 60 states. [2018-11-18 23:47:03,800 INFO L87 Difference]: Start difference. First operand 61 states. Second operand 60 states. [2018-11-18 23:47:03,801 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:47:03,801 INFO L93 Difference]: Finished difference Result 61 states and 62 transitions. [2018-11-18 23:47:03,801 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 62 transitions. [2018-11-18 23:47:03,802 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:47:03,802 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:47:03,802 INFO L74 IsIncluded]: Start isIncluded. First operand 60 states. Second operand 61 states. [2018-11-18 23:47:03,802 INFO L87 Difference]: Start difference. First operand 60 states. Second operand 61 states. [2018-11-18 23:47:03,803 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:47:03,804 INFO L93 Difference]: Finished difference Result 61 states and 62 transitions. [2018-11-18 23:47:03,804 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 62 transitions. [2018-11-18 23:47:03,804 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:47:03,804 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:47:03,804 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:47:03,804 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:47:03,805 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 60 states. [2018-11-18 23:47:03,806 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 61 transitions. [2018-11-18 23:47:03,806 INFO L78 Accepts]: Start accepts. Automaton has 60 states and 61 transitions. Word has length 56 [2018-11-18 23:47:03,806 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:47:03,806 INFO L480 AbstractCegarLoop]: Abstraction has 60 states and 61 transitions. [2018-11-18 23:47:03,806 INFO L481 AbstractCegarLoop]: Interpolant automaton has 16 states. [2018-11-18 23:47:03,807 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 61 transitions. [2018-11-18 23:47:03,807 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2018-11-18 23:47:03,807 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:47:03,807 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-18 23:47:03,808 INFO L423 AbstractCegarLoop]: === Iteration 15 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:47:03,808 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:47:03,808 INFO L82 PathProgramCache]: Analyzing trace with hash 1524913875, now seen corresponding path program 13 times [2018-11-18 23:47:03,808 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:47:03,808 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:47:03,809 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:47:03,809 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-18 23:47:03,810 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:47:03,824 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:47:04,825 INFO L256 TraceCheckUtils]: 0: Hoare triple {4568#true} call ULTIMATE.init(); {4568#true} is VALID [2018-11-18 23:47:04,826 INFO L273 TraceCheckUtils]: 1: Hoare triple {4568#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {4568#true} is VALID [2018-11-18 23:47:04,826 INFO L273 TraceCheckUtils]: 2: Hoare triple {4568#true} assume true; {4568#true} is VALID [2018-11-18 23:47:04,826 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4568#true} {4568#true} #55#return; {4568#true} is VALID [2018-11-18 23:47:04,826 INFO L256 TraceCheckUtils]: 4: Hoare triple {4568#true} call #t~ret9 := main(); {4568#true} is VALID [2018-11-18 23:47:04,827 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-18 23:47:04,827 INFO L273 TraceCheckUtils]: 6: Hoare triple {4570#(= main_~j~0 0)} assume true; {4570#(= main_~j~0 0)} is VALID [2018-11-18 23:47:04,828 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {4570#(= main_~j~0 0)} is VALID [2018-11-18 23:47:04,828 INFO L273 TraceCheckUtils]: 8: Hoare triple {4570#(= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {4571#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:04,829 INFO L273 TraceCheckUtils]: 9: Hoare triple {4571#(<= main_~j~0 1)} assume true; {4571#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:04,829 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {4571#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:04,830 INFO L273 TraceCheckUtils]: 11: Hoare triple {4571#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {4572#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:04,830 INFO L273 TraceCheckUtils]: 12: Hoare triple {4572#(<= main_~j~0 2)} assume true; {4572#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:04,830 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {4572#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:04,831 INFO L273 TraceCheckUtils]: 14: Hoare triple {4572#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {4573#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:04,832 INFO L273 TraceCheckUtils]: 15: Hoare triple {4573#(<= main_~j~0 3)} assume true; {4573#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:04,832 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {4573#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:04,833 INFO L273 TraceCheckUtils]: 17: Hoare triple {4573#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {4574#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:04,833 INFO L273 TraceCheckUtils]: 18: Hoare triple {4574#(<= main_~j~0 4)} assume true; {4574#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:04,834 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {4574#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:04,834 INFO L273 TraceCheckUtils]: 20: Hoare triple {4574#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {4575#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:04,835 INFO L273 TraceCheckUtils]: 21: Hoare triple {4575#(<= main_~j~0 5)} assume true; {4575#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:04,836 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {4575#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:04,836 INFO L273 TraceCheckUtils]: 23: Hoare triple {4575#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {4576#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:04,837 INFO L273 TraceCheckUtils]: 24: Hoare triple {4576#(<= main_~j~0 6)} assume true; {4576#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:04,837 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {4576#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:04,838 INFO L273 TraceCheckUtils]: 26: Hoare triple {4576#(<= main_~j~0 6)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {4577#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:04,838 INFO L273 TraceCheckUtils]: 27: Hoare triple {4577#(<= main_~j~0 7)} assume true; {4577#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:04,839 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {4577#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:04,840 INFO L273 TraceCheckUtils]: 29: Hoare triple {4577#(<= main_~j~0 7)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {4578#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:04,840 INFO L273 TraceCheckUtils]: 30: Hoare triple {4578#(<= main_~j~0 8)} assume true; {4578#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:04,841 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {4578#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:04,841 INFO L273 TraceCheckUtils]: 32: Hoare triple {4578#(<= main_~j~0 8)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {4579#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:04,842 INFO L273 TraceCheckUtils]: 33: Hoare triple {4579#(<= main_~j~0 9)} assume true; {4579#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:04,842 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {4579#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:04,843 INFO L273 TraceCheckUtils]: 35: Hoare triple {4579#(<= main_~j~0 9)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {4580#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:04,844 INFO L273 TraceCheckUtils]: 36: Hoare triple {4580#(<= main_~j~0 10)} assume true; {4580#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:04,844 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {4580#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:04,845 INFO L273 TraceCheckUtils]: 38: Hoare triple {4580#(<= main_~j~0 10)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {4581#(<= main_~j~0 11)} is VALID [2018-11-18 23:47:04,845 INFO L273 TraceCheckUtils]: 39: Hoare triple {4581#(<= main_~j~0 11)} assume true; {4581#(<= main_~j~0 11)} is VALID [2018-11-18 23:47:04,846 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {4581#(<= main_~j~0 11)} is VALID [2018-11-18 23:47:04,847 INFO L273 TraceCheckUtils]: 41: Hoare triple {4581#(<= main_~j~0 11)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {4582#(<= main_~j~0 12)} is VALID [2018-11-18 23:47:04,847 INFO L273 TraceCheckUtils]: 42: Hoare triple {4582#(<= main_~j~0 12)} assume true; {4582#(<= main_~j~0 12)} is VALID [2018-11-18 23:47:04,848 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {4582#(<= main_~j~0 12)} is VALID [2018-11-18 23:47:04,848 INFO L273 TraceCheckUtils]: 44: Hoare triple {4582#(<= main_~j~0 12)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {4583#(<= main_~j~0 13)} is VALID [2018-11-18 23:47:04,849 INFO L273 TraceCheckUtils]: 45: Hoare triple {4583#(<= main_~j~0 13)} assume true; {4583#(<= main_~j~0 13)} is VALID [2018-11-18 23:47:04,849 INFO L273 TraceCheckUtils]: 46: Hoare triple {4583#(<= main_~j~0 13)} assume !(~j~0 < 20); {4569#false} is VALID [2018-11-18 23:47:04,850 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-18 23:47:04,850 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 + 8 * ~i~0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + 8 * ~i~0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + 8 * ~i~0, 4);~i~0 := 10 + #t~mem5;havoc #t~mem5; {4569#false} is VALID [2018-11-18 23:47:04,850 INFO L273 TraceCheckUtils]: 49: Hoare triple {4569#false} assume true; {4569#false} is VALID [2018-11-18 23:47:04,850 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-18 23:47:04,851 INFO L273 TraceCheckUtils]: 51: Hoare triple {4569#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {4569#false} is VALID [2018-11-18 23:47:04,851 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-18 23:47:04,851 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 + 8 * ~b, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {4568#true} is VALID [2018-11-18 23:47:04,851 INFO L273 TraceCheckUtils]: 54: Hoare triple {4568#true} assume true; {4568#true} is VALID [2018-11-18 23:47:04,851 INFO L268 TraceCheckUtils]: 55: Hoare quadruple {4568#true} {4569#false} #59#return; {4569#false} is VALID [2018-11-18 23:47:04,852 INFO L273 TraceCheckUtils]: 56: Hoare triple {4569#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {4569#false} is VALID [2018-11-18 23:47:04,852 INFO L273 TraceCheckUtils]: 57: Hoare triple {4569#false} assume 0 == #t~ret8;havoc #t~ret8; {4569#false} is VALID [2018-11-18 23:47:04,852 INFO L273 TraceCheckUtils]: 58: Hoare triple {4569#false} assume !false; {4569#false} is VALID [2018-11-18 23:47:04,854 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-18 23:47:04,855 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:47:04,855 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-18 23:47:04,863 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:47:04,902 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:47:04,919 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:47:04,920 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:47:05,081 INFO L256 TraceCheckUtils]: 0: Hoare triple {4568#true} call ULTIMATE.init(); {4568#true} is VALID [2018-11-18 23:47:05,081 INFO L273 TraceCheckUtils]: 1: Hoare triple {4568#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {4568#true} is VALID [2018-11-18 23:47:05,081 INFO L273 TraceCheckUtils]: 2: Hoare triple {4568#true} assume true; {4568#true} is VALID [2018-11-18 23:47:05,081 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4568#true} {4568#true} #55#return; {4568#true} is VALID [2018-11-18 23:47:05,082 INFO L256 TraceCheckUtils]: 4: Hoare triple {4568#true} call #t~ret9 := main(); {4568#true} is VALID [2018-11-18 23:47:05,083 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-18 23:47:05,083 INFO L273 TraceCheckUtils]: 6: Hoare triple {4602#(<= main_~j~0 0)} assume true; {4602#(<= main_~j~0 0)} is VALID [2018-11-18 23:47:05,084 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {4602#(<= main_~j~0 0)} is VALID [2018-11-18 23:47:05,084 INFO L273 TraceCheckUtils]: 8: Hoare triple {4602#(<= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {4571#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:05,085 INFO L273 TraceCheckUtils]: 9: Hoare triple {4571#(<= main_~j~0 1)} assume true; {4571#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:05,085 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {4571#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:05,085 INFO L273 TraceCheckUtils]: 11: Hoare triple {4571#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {4572#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:05,086 INFO L273 TraceCheckUtils]: 12: Hoare triple {4572#(<= main_~j~0 2)} assume true; {4572#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:05,086 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {4572#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:05,087 INFO L273 TraceCheckUtils]: 14: Hoare triple {4572#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {4573#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:05,087 INFO L273 TraceCheckUtils]: 15: Hoare triple {4573#(<= main_~j~0 3)} assume true; {4573#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:05,088 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {4573#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:05,089 INFO L273 TraceCheckUtils]: 17: Hoare triple {4573#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {4574#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:05,089 INFO L273 TraceCheckUtils]: 18: Hoare triple {4574#(<= main_~j~0 4)} assume true; {4574#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:05,090 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {4574#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:05,091 INFO L273 TraceCheckUtils]: 20: Hoare triple {4574#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {4575#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:05,091 INFO L273 TraceCheckUtils]: 21: Hoare triple {4575#(<= main_~j~0 5)} assume true; {4575#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:05,092 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {4575#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:05,093 INFO L273 TraceCheckUtils]: 23: Hoare triple {4575#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {4576#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:05,093 INFO L273 TraceCheckUtils]: 24: Hoare triple {4576#(<= main_~j~0 6)} assume true; {4576#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:05,094 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {4576#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:05,095 INFO L273 TraceCheckUtils]: 26: Hoare triple {4576#(<= main_~j~0 6)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {4577#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:05,095 INFO L273 TraceCheckUtils]: 27: Hoare triple {4577#(<= main_~j~0 7)} assume true; {4577#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:05,096 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {4577#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:05,097 INFO L273 TraceCheckUtils]: 29: Hoare triple {4577#(<= main_~j~0 7)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {4578#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:05,097 INFO L273 TraceCheckUtils]: 30: Hoare triple {4578#(<= main_~j~0 8)} assume true; {4578#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:05,098 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {4578#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:05,099 INFO L273 TraceCheckUtils]: 32: Hoare triple {4578#(<= main_~j~0 8)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {4579#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:05,099 INFO L273 TraceCheckUtils]: 33: Hoare triple {4579#(<= main_~j~0 9)} assume true; {4579#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:05,100 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {4579#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:05,100 INFO L273 TraceCheckUtils]: 35: Hoare triple {4579#(<= main_~j~0 9)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {4580#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:05,101 INFO L273 TraceCheckUtils]: 36: Hoare triple {4580#(<= main_~j~0 10)} assume true; {4580#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:05,101 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {4580#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:05,102 INFO L273 TraceCheckUtils]: 38: Hoare triple {4580#(<= main_~j~0 10)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {4581#(<= main_~j~0 11)} is VALID [2018-11-18 23:47:05,102 INFO L273 TraceCheckUtils]: 39: Hoare triple {4581#(<= main_~j~0 11)} assume true; {4581#(<= main_~j~0 11)} is VALID [2018-11-18 23:47:05,103 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {4581#(<= main_~j~0 11)} is VALID [2018-11-18 23:47:05,104 INFO L273 TraceCheckUtils]: 41: Hoare triple {4581#(<= main_~j~0 11)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {4582#(<= main_~j~0 12)} is VALID [2018-11-18 23:47:05,104 INFO L273 TraceCheckUtils]: 42: Hoare triple {4582#(<= main_~j~0 12)} assume true; {4582#(<= main_~j~0 12)} is VALID [2018-11-18 23:47:05,105 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {4582#(<= main_~j~0 12)} is VALID [2018-11-18 23:47:05,105 INFO L273 TraceCheckUtils]: 44: Hoare triple {4582#(<= main_~j~0 12)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {4583#(<= main_~j~0 13)} is VALID [2018-11-18 23:47:05,106 INFO L273 TraceCheckUtils]: 45: Hoare triple {4583#(<= main_~j~0 13)} assume true; {4583#(<= main_~j~0 13)} is VALID [2018-11-18 23:47:05,106 INFO L273 TraceCheckUtils]: 46: Hoare triple {4583#(<= main_~j~0 13)} assume !(~j~0 < 20); {4569#false} is VALID [2018-11-18 23:47:05,107 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-18 23:47:05,107 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 + 8 * ~i~0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + 8 * ~i~0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + 8 * ~i~0, 4);~i~0 := 10 + #t~mem5;havoc #t~mem5; {4569#false} is VALID [2018-11-18 23:47:05,107 INFO L273 TraceCheckUtils]: 49: Hoare triple {4569#false} assume true; {4569#false} is VALID [2018-11-18 23:47:05,107 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-18 23:47:05,108 INFO L273 TraceCheckUtils]: 51: Hoare triple {4569#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {4569#false} is VALID [2018-11-18 23:47:05,108 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-18 23:47:05,108 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 + 8 * ~b, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {4569#false} is VALID [2018-11-18 23:47:05,108 INFO L273 TraceCheckUtils]: 54: Hoare triple {4569#false} assume true; {4569#false} is VALID [2018-11-18 23:47:05,109 INFO L268 TraceCheckUtils]: 55: Hoare quadruple {4569#false} {4569#false} #59#return; {4569#false} is VALID [2018-11-18 23:47:05,109 INFO L273 TraceCheckUtils]: 56: Hoare triple {4569#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {4569#false} is VALID [2018-11-18 23:47:05,109 INFO L273 TraceCheckUtils]: 57: Hoare triple {4569#false} assume 0 == #t~ret8;havoc #t~ret8; {4569#false} is VALID [2018-11-18 23:47:05,110 INFO L273 TraceCheckUtils]: 58: Hoare triple {4569#false} assume !false; {4569#false} is VALID [2018-11-18 23:47:05,113 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-18 23:47:05,131 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:47:05,132 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 16] total 17 [2018-11-18 23:47:05,132 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 59 [2018-11-18 23:47:05,133 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:47:05,133 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states. [2018-11-18 23:47:05,199 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-18 23:47:05,199 INFO L459 AbstractCegarLoop]: Interpolant automaton has 17 states [2018-11-18 23:47:05,200 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2018-11-18 23:47:05,200 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=136, Invalid=136, Unknown=0, NotChecked=0, Total=272 [2018-11-18 23:47:05,200 INFO L87 Difference]: Start difference. First operand 60 states and 61 transitions. Second operand 17 states. [2018-11-18 23:47:05,425 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:47:05,425 INFO L93 Difference]: Finished difference Result 77 states and 79 transitions. [2018-11-18 23:47:05,426 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2018-11-18 23:47:05,426 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 59 [2018-11-18 23:47:05,426 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:47:05,426 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-11-18 23:47:05,428 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 79 transitions. [2018-11-18 23:47:05,428 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-11-18 23:47:05,429 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 79 transitions. [2018-11-18 23:47:05,429 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 79 transitions. [2018-11-18 23:47:06,300 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-18 23:47:06,302 INFO L225 Difference]: With dead ends: 77 [2018-11-18 23:47:06,302 INFO L226 Difference]: Without dead ends: 64 [2018-11-18 23:47:06,303 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 74 GetRequests, 59 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=136, Invalid=136, Unknown=0, NotChecked=0, Total=272 [2018-11-18 23:47:06,303 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2018-11-18 23:47:06,746 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 63. [2018-11-18 23:47:06,746 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:47:06,746 INFO L82 GeneralOperation]: Start isEquivalent. First operand 64 states. Second operand 63 states. [2018-11-18 23:47:06,746 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand 63 states. [2018-11-18 23:47:06,746 INFO L87 Difference]: Start difference. First operand 64 states. Second operand 63 states. [2018-11-18 23:47:06,748 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:47:06,748 INFO L93 Difference]: Finished difference Result 64 states and 65 transitions. [2018-11-18 23:47:06,748 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 65 transitions. [2018-11-18 23:47:06,748 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:47:06,748 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:47:06,748 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand 64 states. [2018-11-18 23:47:06,748 INFO L87 Difference]: Start difference. First operand 63 states. Second operand 64 states. [2018-11-18 23:47:06,749 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:47:06,749 INFO L93 Difference]: Finished difference Result 64 states and 65 transitions. [2018-11-18 23:47:06,750 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 65 transitions. [2018-11-18 23:47:06,750 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:47:06,750 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:47:06,750 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:47:06,750 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:47:06,750 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 63 states. [2018-11-18 23:47:06,752 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 63 states to 63 states and 64 transitions. [2018-11-18 23:47:06,752 INFO L78 Accepts]: Start accepts. Automaton has 63 states and 64 transitions. Word has length 59 [2018-11-18 23:47:06,752 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:47:06,752 INFO L480 AbstractCegarLoop]: Abstraction has 63 states and 64 transitions. [2018-11-18 23:47:06,752 INFO L481 AbstractCegarLoop]: Interpolant automaton has 17 states. [2018-11-18 23:47:06,752 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 64 transitions. [2018-11-18 23:47:06,753 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2018-11-18 23:47:06,753 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:47:06,753 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-18 23:47:06,753 INFO L423 AbstractCegarLoop]: === Iteration 16 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:47:06,754 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:47:06,754 INFO L82 PathProgramCache]: Analyzing trace with hash 773322308, now seen corresponding path program 14 times [2018-11-18 23:47:06,754 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:47:06,754 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:47:06,755 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:47:06,755 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:47:06,755 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:47:06,770 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:47:07,271 INFO L256 TraceCheckUtils]: 0: Hoare triple {5079#true} call ULTIMATE.init(); {5079#true} is VALID [2018-11-18 23:47:07,271 INFO L273 TraceCheckUtils]: 1: Hoare triple {5079#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {5079#true} is VALID [2018-11-18 23:47:07,272 INFO L273 TraceCheckUtils]: 2: Hoare triple {5079#true} assume true; {5079#true} is VALID [2018-11-18 23:47:07,272 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5079#true} {5079#true} #55#return; {5079#true} is VALID [2018-11-18 23:47:07,272 INFO L256 TraceCheckUtils]: 4: Hoare triple {5079#true} call #t~ret9 := main(); {5079#true} is VALID [2018-11-18 23:47:07,273 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-18 23:47:07,273 INFO L273 TraceCheckUtils]: 6: Hoare triple {5081#(= main_~j~0 0)} assume true; {5081#(= main_~j~0 0)} is VALID [2018-11-18 23:47:07,274 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5081#(= main_~j~0 0)} is VALID [2018-11-18 23:47:07,274 INFO L273 TraceCheckUtils]: 8: Hoare triple {5081#(= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5082#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:07,275 INFO L273 TraceCheckUtils]: 9: Hoare triple {5082#(<= main_~j~0 1)} assume true; {5082#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:07,275 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5082#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:07,276 INFO L273 TraceCheckUtils]: 11: Hoare triple {5082#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5083#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:07,276 INFO L273 TraceCheckUtils]: 12: Hoare triple {5083#(<= main_~j~0 2)} assume true; {5083#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:07,277 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5083#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:07,278 INFO L273 TraceCheckUtils]: 14: Hoare triple {5083#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5084#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:07,278 INFO L273 TraceCheckUtils]: 15: Hoare triple {5084#(<= main_~j~0 3)} assume true; {5084#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:07,279 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5084#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:07,279 INFO L273 TraceCheckUtils]: 17: Hoare triple {5084#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5085#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:07,280 INFO L273 TraceCheckUtils]: 18: Hoare triple {5085#(<= main_~j~0 4)} assume true; {5085#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:07,280 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5085#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:07,281 INFO L273 TraceCheckUtils]: 20: Hoare triple {5085#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5086#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:07,282 INFO L273 TraceCheckUtils]: 21: Hoare triple {5086#(<= main_~j~0 5)} assume true; {5086#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:07,282 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5086#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:07,283 INFO L273 TraceCheckUtils]: 23: Hoare triple {5086#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5087#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:07,283 INFO L273 TraceCheckUtils]: 24: Hoare triple {5087#(<= main_~j~0 6)} assume true; {5087#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:07,284 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5087#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:07,285 INFO L273 TraceCheckUtils]: 26: Hoare triple {5087#(<= main_~j~0 6)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5088#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:07,285 INFO L273 TraceCheckUtils]: 27: Hoare triple {5088#(<= main_~j~0 7)} assume true; {5088#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:07,286 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5088#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:07,286 INFO L273 TraceCheckUtils]: 29: Hoare triple {5088#(<= main_~j~0 7)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5089#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:07,287 INFO L273 TraceCheckUtils]: 30: Hoare triple {5089#(<= main_~j~0 8)} assume true; {5089#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:07,287 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5089#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:07,288 INFO L273 TraceCheckUtils]: 32: Hoare triple {5089#(<= main_~j~0 8)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5090#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:07,289 INFO L273 TraceCheckUtils]: 33: Hoare triple {5090#(<= main_~j~0 9)} assume true; {5090#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:07,289 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5090#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:07,290 INFO L273 TraceCheckUtils]: 35: Hoare triple {5090#(<= main_~j~0 9)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5091#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:07,290 INFO L273 TraceCheckUtils]: 36: Hoare triple {5091#(<= main_~j~0 10)} assume true; {5091#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:07,291 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5091#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:07,291 INFO L273 TraceCheckUtils]: 38: Hoare triple {5091#(<= main_~j~0 10)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5092#(<= main_~j~0 11)} is VALID [2018-11-18 23:47:07,292 INFO L273 TraceCheckUtils]: 39: Hoare triple {5092#(<= main_~j~0 11)} assume true; {5092#(<= main_~j~0 11)} is VALID [2018-11-18 23:47:07,293 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5092#(<= main_~j~0 11)} is VALID [2018-11-18 23:47:07,293 INFO L273 TraceCheckUtils]: 41: Hoare triple {5092#(<= main_~j~0 11)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5093#(<= main_~j~0 12)} is VALID [2018-11-18 23:47:07,294 INFO L273 TraceCheckUtils]: 42: Hoare triple {5093#(<= main_~j~0 12)} assume true; {5093#(<= main_~j~0 12)} is VALID [2018-11-18 23:47:07,294 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5093#(<= main_~j~0 12)} is VALID [2018-11-18 23:47:07,295 INFO L273 TraceCheckUtils]: 44: Hoare triple {5093#(<= main_~j~0 12)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5094#(<= main_~j~0 13)} is VALID [2018-11-18 23:47:07,295 INFO L273 TraceCheckUtils]: 45: Hoare triple {5094#(<= main_~j~0 13)} assume true; {5094#(<= main_~j~0 13)} is VALID [2018-11-18 23:47:07,296 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5094#(<= main_~j~0 13)} is VALID [2018-11-18 23:47:07,297 INFO L273 TraceCheckUtils]: 47: Hoare triple {5094#(<= main_~j~0 13)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5095#(<= main_~j~0 14)} is VALID [2018-11-18 23:47:07,297 INFO L273 TraceCheckUtils]: 48: Hoare triple {5095#(<= main_~j~0 14)} assume true; {5095#(<= main_~j~0 14)} is VALID [2018-11-18 23:47:07,298 INFO L273 TraceCheckUtils]: 49: Hoare triple {5095#(<= main_~j~0 14)} assume !(~j~0 < 20); {5080#false} is VALID [2018-11-18 23:47:07,298 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-18 23:47:07,298 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 + 8 * ~i~0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + 8 * ~i~0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + 8 * ~i~0, 4);~i~0 := 10 + #t~mem5;havoc #t~mem5; {5080#false} is VALID [2018-11-18 23:47:07,298 INFO L273 TraceCheckUtils]: 52: Hoare triple {5080#false} assume true; {5080#false} is VALID [2018-11-18 23:47:07,299 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-18 23:47:07,299 INFO L273 TraceCheckUtils]: 54: Hoare triple {5080#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {5080#false} is VALID [2018-11-18 23:47:07,299 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-18 23:47:07,299 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 + 8 * ~b, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {5079#true} is VALID [2018-11-18 23:47:07,299 INFO L273 TraceCheckUtils]: 57: Hoare triple {5079#true} assume true; {5079#true} is VALID [2018-11-18 23:47:07,300 INFO L268 TraceCheckUtils]: 58: Hoare quadruple {5079#true} {5080#false} #59#return; {5080#false} is VALID [2018-11-18 23:47:07,300 INFO L273 TraceCheckUtils]: 59: Hoare triple {5080#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {5080#false} is VALID [2018-11-18 23:47:07,300 INFO L273 TraceCheckUtils]: 60: Hoare triple {5080#false} assume 0 == #t~ret8;havoc #t~ret8; {5080#false} is VALID [2018-11-18 23:47:07,300 INFO L273 TraceCheckUtils]: 61: Hoare triple {5080#false} assume !false; {5080#false} is VALID [2018-11-18 23:47:07,303 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-18 23:47:07,303 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:47:07,303 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-18 23:47:07,312 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-18 23:47:07,360 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-18 23:47:07,360 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-18 23:47:07,389 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:47:07,390 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:47:07,600 INFO L256 TraceCheckUtils]: 0: Hoare triple {5079#true} call ULTIMATE.init(); {5079#true} is VALID [2018-11-18 23:47:07,601 INFO L273 TraceCheckUtils]: 1: Hoare triple {5079#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {5079#true} is VALID [2018-11-18 23:47:07,601 INFO L273 TraceCheckUtils]: 2: Hoare triple {5079#true} assume true; {5079#true} is VALID [2018-11-18 23:47:07,601 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5079#true} {5079#true} #55#return; {5079#true} is VALID [2018-11-18 23:47:07,602 INFO L256 TraceCheckUtils]: 4: Hoare triple {5079#true} call #t~ret9 := main(); {5079#true} is VALID [2018-11-18 23:47:07,602 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-18 23:47:07,603 INFO L273 TraceCheckUtils]: 6: Hoare triple {5114#(<= main_~j~0 0)} assume true; {5114#(<= main_~j~0 0)} is VALID [2018-11-18 23:47:07,603 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5114#(<= main_~j~0 0)} is VALID [2018-11-18 23:47:07,603 INFO L273 TraceCheckUtils]: 8: Hoare triple {5114#(<= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5082#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:07,604 INFO L273 TraceCheckUtils]: 9: Hoare triple {5082#(<= main_~j~0 1)} assume true; {5082#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:07,604 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5082#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:07,605 INFO L273 TraceCheckUtils]: 11: Hoare triple {5082#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5083#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:07,605 INFO L273 TraceCheckUtils]: 12: Hoare triple {5083#(<= main_~j~0 2)} assume true; {5083#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:07,605 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5083#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:07,606 INFO L273 TraceCheckUtils]: 14: Hoare triple {5083#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5084#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:07,606 INFO L273 TraceCheckUtils]: 15: Hoare triple {5084#(<= main_~j~0 3)} assume true; {5084#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:07,607 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5084#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:07,608 INFO L273 TraceCheckUtils]: 17: Hoare triple {5084#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5085#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:07,608 INFO L273 TraceCheckUtils]: 18: Hoare triple {5085#(<= main_~j~0 4)} assume true; {5085#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:07,609 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5085#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:07,609 INFO L273 TraceCheckUtils]: 20: Hoare triple {5085#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5086#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:07,610 INFO L273 TraceCheckUtils]: 21: Hoare triple {5086#(<= main_~j~0 5)} assume true; {5086#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:07,610 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5086#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:07,611 INFO L273 TraceCheckUtils]: 23: Hoare triple {5086#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5087#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:07,611 INFO L273 TraceCheckUtils]: 24: Hoare triple {5087#(<= main_~j~0 6)} assume true; {5087#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:07,612 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5087#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:07,613 INFO L273 TraceCheckUtils]: 26: Hoare triple {5087#(<= main_~j~0 6)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5088#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:07,613 INFO L273 TraceCheckUtils]: 27: Hoare triple {5088#(<= main_~j~0 7)} assume true; {5088#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:07,614 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5088#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:07,614 INFO L273 TraceCheckUtils]: 29: Hoare triple {5088#(<= main_~j~0 7)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5089#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:07,615 INFO L273 TraceCheckUtils]: 30: Hoare triple {5089#(<= main_~j~0 8)} assume true; {5089#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:07,615 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5089#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:07,616 INFO L273 TraceCheckUtils]: 32: Hoare triple {5089#(<= main_~j~0 8)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5090#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:07,617 INFO L273 TraceCheckUtils]: 33: Hoare triple {5090#(<= main_~j~0 9)} assume true; {5090#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:07,617 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5090#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:07,618 INFO L273 TraceCheckUtils]: 35: Hoare triple {5090#(<= main_~j~0 9)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5091#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:07,618 INFO L273 TraceCheckUtils]: 36: Hoare triple {5091#(<= main_~j~0 10)} assume true; {5091#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:07,619 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5091#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:07,620 INFO L273 TraceCheckUtils]: 38: Hoare triple {5091#(<= main_~j~0 10)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5092#(<= main_~j~0 11)} is VALID [2018-11-18 23:47:07,620 INFO L273 TraceCheckUtils]: 39: Hoare triple {5092#(<= main_~j~0 11)} assume true; {5092#(<= main_~j~0 11)} is VALID [2018-11-18 23:47:07,621 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5092#(<= main_~j~0 11)} is VALID [2018-11-18 23:47:07,621 INFO L273 TraceCheckUtils]: 41: Hoare triple {5092#(<= main_~j~0 11)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5093#(<= main_~j~0 12)} is VALID [2018-11-18 23:47:07,622 INFO L273 TraceCheckUtils]: 42: Hoare triple {5093#(<= main_~j~0 12)} assume true; {5093#(<= main_~j~0 12)} is VALID [2018-11-18 23:47:07,622 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5093#(<= main_~j~0 12)} is VALID [2018-11-18 23:47:07,623 INFO L273 TraceCheckUtils]: 44: Hoare triple {5093#(<= main_~j~0 12)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5094#(<= main_~j~0 13)} is VALID [2018-11-18 23:47:07,624 INFO L273 TraceCheckUtils]: 45: Hoare triple {5094#(<= main_~j~0 13)} assume true; {5094#(<= main_~j~0 13)} is VALID [2018-11-18 23:47:07,624 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5094#(<= main_~j~0 13)} is VALID [2018-11-18 23:47:07,625 INFO L273 TraceCheckUtils]: 47: Hoare triple {5094#(<= main_~j~0 13)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5095#(<= main_~j~0 14)} is VALID [2018-11-18 23:47:07,625 INFO L273 TraceCheckUtils]: 48: Hoare triple {5095#(<= main_~j~0 14)} assume true; {5095#(<= main_~j~0 14)} is VALID [2018-11-18 23:47:07,626 INFO L273 TraceCheckUtils]: 49: Hoare triple {5095#(<= main_~j~0 14)} assume !(~j~0 < 20); {5080#false} is VALID [2018-11-18 23:47:07,626 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-18 23:47:07,626 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 + 8 * ~i~0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + 8 * ~i~0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + 8 * ~i~0, 4);~i~0 := 10 + #t~mem5;havoc #t~mem5; {5080#false} is VALID [2018-11-18 23:47:07,627 INFO L273 TraceCheckUtils]: 52: Hoare triple {5080#false} assume true; {5080#false} is VALID [2018-11-18 23:47:07,627 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-18 23:47:07,627 INFO L273 TraceCheckUtils]: 54: Hoare triple {5080#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {5080#false} is VALID [2018-11-18 23:47:07,627 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-18 23:47:07,627 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 + 8 * ~b, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {5080#false} is VALID [2018-11-18 23:47:07,628 INFO L273 TraceCheckUtils]: 57: Hoare triple {5080#false} assume true; {5080#false} is VALID [2018-11-18 23:47:07,628 INFO L268 TraceCheckUtils]: 58: Hoare quadruple {5080#false} {5080#false} #59#return; {5080#false} is VALID [2018-11-18 23:47:07,628 INFO L273 TraceCheckUtils]: 59: Hoare triple {5080#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {5080#false} is VALID [2018-11-18 23:47:07,628 INFO L273 TraceCheckUtils]: 60: Hoare triple {5080#false} assume 0 == #t~ret8;havoc #t~ret8; {5080#false} is VALID [2018-11-18 23:47:07,628 INFO L273 TraceCheckUtils]: 61: Hoare triple {5080#false} assume !false; {5080#false} is VALID [2018-11-18 23:47:07,631 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-18 23:47:07,649 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:47:07,650 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 17] total 18 [2018-11-18 23:47:07,650 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 62 [2018-11-18 23:47:07,650 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:47:07,650 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states. [2018-11-18 23:47:07,731 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-18 23:47:07,731 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2018-11-18 23:47:07,731 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2018-11-18 23:47:07,732 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=153, Invalid=153, Unknown=0, NotChecked=0, Total=306 [2018-11-18 23:47:07,732 INFO L87 Difference]: Start difference. First operand 63 states and 64 transitions. Second operand 18 states. [2018-11-18 23:47:08,064 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:47:08,065 INFO L93 Difference]: Finished difference Result 80 states and 82 transitions. [2018-11-18 23:47:08,065 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2018-11-18 23:47:08,065 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 62 [2018-11-18 23:47:08,065 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:47:08,066 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-18 23:47:08,067 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 82 transitions. [2018-11-18 23:47:08,067 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-18 23:47:08,068 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 82 transitions. [2018-11-18 23:47:08,068 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 82 transitions. [2018-11-18 23:47:08,232 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-18 23:47:08,234 INFO L225 Difference]: With dead ends: 80 [2018-11-18 23:47:08,234 INFO L226 Difference]: Without dead ends: 67 [2018-11-18 23:47:08,235 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 78 GetRequests, 62 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=153, Invalid=153, Unknown=0, NotChecked=0, Total=306 [2018-11-18 23:47:08,235 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2018-11-18 23:47:08,255 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 66. [2018-11-18 23:47:08,255 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:47:08,255 INFO L82 GeneralOperation]: Start isEquivalent. First operand 67 states. Second operand 66 states. [2018-11-18 23:47:08,255 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand 66 states. [2018-11-18 23:47:08,255 INFO L87 Difference]: Start difference. First operand 67 states. Second operand 66 states. [2018-11-18 23:47:08,257 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:47:08,257 INFO L93 Difference]: Finished difference Result 67 states and 68 transitions. [2018-11-18 23:47:08,257 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 68 transitions. [2018-11-18 23:47:08,258 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:47:08,258 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:47:08,258 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand 67 states. [2018-11-18 23:47:08,258 INFO L87 Difference]: Start difference. First operand 66 states. Second operand 67 states. [2018-11-18 23:47:08,259 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:47:08,259 INFO L93 Difference]: Finished difference Result 67 states and 68 transitions. [2018-11-18 23:47:08,259 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 68 transitions. [2018-11-18 23:47:08,260 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:47:08,260 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:47:08,260 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:47:08,260 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:47:08,260 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 66 states. [2018-11-18 23:47:08,261 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 66 states to 66 states and 67 transitions. [2018-11-18 23:47:08,261 INFO L78 Accepts]: Start accepts. Automaton has 66 states and 67 transitions. Word has length 62 [2018-11-18 23:47:08,262 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:47:08,262 INFO L480 AbstractCegarLoop]: Abstraction has 66 states and 67 transitions. [2018-11-18 23:47:08,262 INFO L481 AbstractCegarLoop]: Interpolant automaton has 18 states. [2018-11-18 23:47:08,262 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 67 transitions. [2018-11-18 23:47:08,263 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 66 [2018-11-18 23:47:08,263 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:47:08,263 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-18 23:47:08,263 INFO L423 AbstractCegarLoop]: === Iteration 17 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:47:08,263 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:47:08,263 INFO L82 PathProgramCache]: Analyzing trace with hash -226536141, now seen corresponding path program 15 times [2018-11-18 23:47:08,264 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:47:08,264 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:47:08,264 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:47:08,265 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-18 23:47:08,265 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:47:08,279 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:47:08,852 INFO L256 TraceCheckUtils]: 0: Hoare triple {5614#true} call ULTIMATE.init(); {5614#true} is VALID [2018-11-18 23:47:08,852 INFO L273 TraceCheckUtils]: 1: Hoare triple {5614#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {5614#true} is VALID [2018-11-18 23:47:08,852 INFO L273 TraceCheckUtils]: 2: Hoare triple {5614#true} assume true; {5614#true} is VALID [2018-11-18 23:47:08,852 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5614#true} {5614#true} #55#return; {5614#true} is VALID [2018-11-18 23:47:08,853 INFO L256 TraceCheckUtils]: 4: Hoare triple {5614#true} call #t~ret9 := main(); {5614#true} is VALID [2018-11-18 23:47:08,853 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-18 23:47:08,854 INFO L273 TraceCheckUtils]: 6: Hoare triple {5616#(= main_~j~0 0)} assume true; {5616#(= main_~j~0 0)} is VALID [2018-11-18 23:47:08,854 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5616#(= main_~j~0 0)} is VALID [2018-11-18 23:47:08,855 INFO L273 TraceCheckUtils]: 8: Hoare triple {5616#(= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5617#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:08,855 INFO L273 TraceCheckUtils]: 9: Hoare triple {5617#(<= main_~j~0 1)} assume true; {5617#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:08,855 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5617#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:08,856 INFO L273 TraceCheckUtils]: 11: Hoare triple {5617#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5618#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:08,856 INFO L273 TraceCheckUtils]: 12: Hoare triple {5618#(<= main_~j~0 2)} assume true; {5618#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:08,856 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5618#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:08,857 INFO L273 TraceCheckUtils]: 14: Hoare triple {5618#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5619#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:08,857 INFO L273 TraceCheckUtils]: 15: Hoare triple {5619#(<= main_~j~0 3)} assume true; {5619#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:08,857 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5619#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:08,858 INFO L273 TraceCheckUtils]: 17: Hoare triple {5619#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5620#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:08,859 INFO L273 TraceCheckUtils]: 18: Hoare triple {5620#(<= main_~j~0 4)} assume true; {5620#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:08,859 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5620#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:08,860 INFO L273 TraceCheckUtils]: 20: Hoare triple {5620#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5621#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:08,860 INFO L273 TraceCheckUtils]: 21: Hoare triple {5621#(<= main_~j~0 5)} assume true; {5621#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:08,861 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5621#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:08,861 INFO L273 TraceCheckUtils]: 23: Hoare triple {5621#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5622#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:08,862 INFO L273 TraceCheckUtils]: 24: Hoare triple {5622#(<= main_~j~0 6)} assume true; {5622#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:08,862 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5622#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:08,863 INFO L273 TraceCheckUtils]: 26: Hoare triple {5622#(<= main_~j~0 6)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5623#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:08,864 INFO L273 TraceCheckUtils]: 27: Hoare triple {5623#(<= main_~j~0 7)} assume true; {5623#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:08,864 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5623#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:08,865 INFO L273 TraceCheckUtils]: 29: Hoare triple {5623#(<= main_~j~0 7)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5624#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:08,865 INFO L273 TraceCheckUtils]: 30: Hoare triple {5624#(<= main_~j~0 8)} assume true; {5624#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:08,866 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5624#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:08,867 INFO L273 TraceCheckUtils]: 32: Hoare triple {5624#(<= main_~j~0 8)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5625#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:08,867 INFO L273 TraceCheckUtils]: 33: Hoare triple {5625#(<= main_~j~0 9)} assume true; {5625#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:08,868 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5625#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:08,868 INFO L273 TraceCheckUtils]: 35: Hoare triple {5625#(<= main_~j~0 9)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5626#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:08,869 INFO L273 TraceCheckUtils]: 36: Hoare triple {5626#(<= main_~j~0 10)} assume true; {5626#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:08,869 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5626#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:08,870 INFO L273 TraceCheckUtils]: 38: Hoare triple {5626#(<= main_~j~0 10)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5627#(<= main_~j~0 11)} is VALID [2018-11-18 23:47:08,871 INFO L273 TraceCheckUtils]: 39: Hoare triple {5627#(<= main_~j~0 11)} assume true; {5627#(<= main_~j~0 11)} is VALID [2018-11-18 23:47:08,871 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5627#(<= main_~j~0 11)} is VALID [2018-11-18 23:47:08,872 INFO L273 TraceCheckUtils]: 41: Hoare triple {5627#(<= main_~j~0 11)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5628#(<= main_~j~0 12)} is VALID [2018-11-18 23:47:08,872 INFO L273 TraceCheckUtils]: 42: Hoare triple {5628#(<= main_~j~0 12)} assume true; {5628#(<= main_~j~0 12)} is VALID [2018-11-18 23:47:08,873 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5628#(<= main_~j~0 12)} is VALID [2018-11-18 23:47:08,873 INFO L273 TraceCheckUtils]: 44: Hoare triple {5628#(<= main_~j~0 12)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5629#(<= main_~j~0 13)} is VALID [2018-11-18 23:47:08,874 INFO L273 TraceCheckUtils]: 45: Hoare triple {5629#(<= main_~j~0 13)} assume true; {5629#(<= main_~j~0 13)} is VALID [2018-11-18 23:47:08,874 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5629#(<= main_~j~0 13)} is VALID [2018-11-18 23:47:08,875 INFO L273 TraceCheckUtils]: 47: Hoare triple {5629#(<= main_~j~0 13)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5630#(<= main_~j~0 14)} is VALID [2018-11-18 23:47:08,876 INFO L273 TraceCheckUtils]: 48: Hoare triple {5630#(<= main_~j~0 14)} assume true; {5630#(<= main_~j~0 14)} is VALID [2018-11-18 23:47:08,876 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5630#(<= main_~j~0 14)} is VALID [2018-11-18 23:47:08,877 INFO L273 TraceCheckUtils]: 50: Hoare triple {5630#(<= main_~j~0 14)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5631#(<= main_~j~0 15)} is VALID [2018-11-18 23:47:08,877 INFO L273 TraceCheckUtils]: 51: Hoare triple {5631#(<= main_~j~0 15)} assume true; {5631#(<= main_~j~0 15)} is VALID [2018-11-18 23:47:08,878 INFO L273 TraceCheckUtils]: 52: Hoare triple {5631#(<= main_~j~0 15)} assume !(~j~0 < 20); {5615#false} is VALID [2018-11-18 23:47:08,878 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-18 23:47:08,878 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 + 8 * ~i~0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + 8 * ~i~0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + 8 * ~i~0, 4);~i~0 := 10 + #t~mem5;havoc #t~mem5; {5615#false} is VALID [2018-11-18 23:47:08,879 INFO L273 TraceCheckUtils]: 55: Hoare triple {5615#false} assume true; {5615#false} is VALID [2018-11-18 23:47:08,879 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-18 23:47:08,879 INFO L273 TraceCheckUtils]: 57: Hoare triple {5615#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {5615#false} is VALID [2018-11-18 23:47:08,879 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-18 23:47:08,879 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 + 8 * ~b, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {5614#true} is VALID [2018-11-18 23:47:08,880 INFO L273 TraceCheckUtils]: 60: Hoare triple {5614#true} assume true; {5614#true} is VALID [2018-11-18 23:47:08,880 INFO L268 TraceCheckUtils]: 61: Hoare quadruple {5614#true} {5615#false} #59#return; {5615#false} is VALID [2018-11-18 23:47:08,880 INFO L273 TraceCheckUtils]: 62: Hoare triple {5615#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {5615#false} is VALID [2018-11-18 23:47:08,880 INFO L273 TraceCheckUtils]: 63: Hoare triple {5615#false} assume 0 == #t~ret8;havoc #t~ret8; {5615#false} is VALID [2018-11-18 23:47:08,880 INFO L273 TraceCheckUtils]: 64: Hoare triple {5615#false} assume !false; {5615#false} is VALID [2018-11-18 23:47:08,883 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-18 23:47:08,884 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:47:08,884 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-18 23:47:08,892 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-18 23:47:11,544 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 16 check-sat command(s) [2018-11-18 23:47:11,544 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-18 23:47:11,562 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:47:11,563 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:47:11,754 INFO L256 TraceCheckUtils]: 0: Hoare triple {5614#true} call ULTIMATE.init(); {5614#true} is VALID [2018-11-18 23:47:11,754 INFO L273 TraceCheckUtils]: 1: Hoare triple {5614#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {5614#true} is VALID [2018-11-18 23:47:11,754 INFO L273 TraceCheckUtils]: 2: Hoare triple {5614#true} assume true; {5614#true} is VALID [2018-11-18 23:47:11,754 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5614#true} {5614#true} #55#return; {5614#true} is VALID [2018-11-18 23:47:11,755 INFO L256 TraceCheckUtils]: 4: Hoare triple {5614#true} call #t~ret9 := main(); {5614#true} is VALID [2018-11-18 23:47:11,755 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-18 23:47:11,756 INFO L273 TraceCheckUtils]: 6: Hoare triple {5650#(<= main_~j~0 0)} assume true; {5650#(<= main_~j~0 0)} is VALID [2018-11-18 23:47:11,756 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5650#(<= main_~j~0 0)} is VALID [2018-11-18 23:47:11,757 INFO L273 TraceCheckUtils]: 8: Hoare triple {5650#(<= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5617#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:11,757 INFO L273 TraceCheckUtils]: 9: Hoare triple {5617#(<= main_~j~0 1)} assume true; {5617#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:11,758 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5617#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:11,758 INFO L273 TraceCheckUtils]: 11: Hoare triple {5617#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5618#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:11,758 INFO L273 TraceCheckUtils]: 12: Hoare triple {5618#(<= main_~j~0 2)} assume true; {5618#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:11,759 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5618#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:11,760 INFO L273 TraceCheckUtils]: 14: Hoare triple {5618#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5619#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:11,760 INFO L273 TraceCheckUtils]: 15: Hoare triple {5619#(<= main_~j~0 3)} assume true; {5619#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:11,761 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5619#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:11,762 INFO L273 TraceCheckUtils]: 17: Hoare triple {5619#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5620#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:11,762 INFO L273 TraceCheckUtils]: 18: Hoare triple {5620#(<= main_~j~0 4)} assume true; {5620#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:11,763 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5620#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:11,764 INFO L273 TraceCheckUtils]: 20: Hoare triple {5620#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5621#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:11,764 INFO L273 TraceCheckUtils]: 21: Hoare triple {5621#(<= main_~j~0 5)} assume true; {5621#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:11,765 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5621#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:11,765 INFO L273 TraceCheckUtils]: 23: Hoare triple {5621#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5622#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:11,766 INFO L273 TraceCheckUtils]: 24: Hoare triple {5622#(<= main_~j~0 6)} assume true; {5622#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:11,766 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5622#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:11,767 INFO L273 TraceCheckUtils]: 26: Hoare triple {5622#(<= main_~j~0 6)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5623#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:11,768 INFO L273 TraceCheckUtils]: 27: Hoare triple {5623#(<= main_~j~0 7)} assume true; {5623#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:11,768 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5623#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:11,772 INFO L273 TraceCheckUtils]: 29: Hoare triple {5623#(<= main_~j~0 7)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5624#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:11,772 INFO L273 TraceCheckUtils]: 30: Hoare triple {5624#(<= main_~j~0 8)} assume true; {5624#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:11,773 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5624#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:11,773 INFO L273 TraceCheckUtils]: 32: Hoare triple {5624#(<= main_~j~0 8)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5625#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:11,773 INFO L273 TraceCheckUtils]: 33: Hoare triple {5625#(<= main_~j~0 9)} assume true; {5625#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:11,774 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5625#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:11,777 INFO L273 TraceCheckUtils]: 35: Hoare triple {5625#(<= main_~j~0 9)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5626#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:11,777 INFO L273 TraceCheckUtils]: 36: Hoare triple {5626#(<= main_~j~0 10)} assume true; {5626#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:11,777 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5626#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:11,778 INFO L273 TraceCheckUtils]: 38: Hoare triple {5626#(<= main_~j~0 10)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5627#(<= main_~j~0 11)} is VALID [2018-11-18 23:47:11,778 INFO L273 TraceCheckUtils]: 39: Hoare triple {5627#(<= main_~j~0 11)} assume true; {5627#(<= main_~j~0 11)} is VALID [2018-11-18 23:47:11,778 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5627#(<= main_~j~0 11)} is VALID [2018-11-18 23:47:11,779 INFO L273 TraceCheckUtils]: 41: Hoare triple {5627#(<= main_~j~0 11)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5628#(<= main_~j~0 12)} is VALID [2018-11-18 23:47:11,779 INFO L273 TraceCheckUtils]: 42: Hoare triple {5628#(<= main_~j~0 12)} assume true; {5628#(<= main_~j~0 12)} is VALID [2018-11-18 23:47:11,780 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5628#(<= main_~j~0 12)} is VALID [2018-11-18 23:47:11,780 INFO L273 TraceCheckUtils]: 44: Hoare triple {5628#(<= main_~j~0 12)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5629#(<= main_~j~0 13)} is VALID [2018-11-18 23:47:11,780 INFO L273 TraceCheckUtils]: 45: Hoare triple {5629#(<= main_~j~0 13)} assume true; {5629#(<= main_~j~0 13)} is VALID [2018-11-18 23:47:11,781 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5629#(<= main_~j~0 13)} is VALID [2018-11-18 23:47:11,784 INFO L273 TraceCheckUtils]: 47: Hoare triple {5629#(<= main_~j~0 13)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5630#(<= main_~j~0 14)} is VALID [2018-11-18 23:47:11,784 INFO L273 TraceCheckUtils]: 48: Hoare triple {5630#(<= main_~j~0 14)} assume true; {5630#(<= main_~j~0 14)} is VALID [2018-11-18 23:47:11,785 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {5630#(<= main_~j~0 14)} is VALID [2018-11-18 23:47:11,803 INFO L273 TraceCheckUtils]: 50: Hoare triple {5630#(<= main_~j~0 14)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {5631#(<= main_~j~0 15)} is VALID [2018-11-18 23:47:11,812 INFO L273 TraceCheckUtils]: 51: Hoare triple {5631#(<= main_~j~0 15)} assume true; {5631#(<= main_~j~0 15)} is VALID [2018-11-18 23:47:11,825 INFO L273 TraceCheckUtils]: 52: Hoare triple {5631#(<= main_~j~0 15)} assume !(~j~0 < 20); {5615#false} is VALID [2018-11-18 23:47:11,825 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-18 23:47:11,825 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 + 8 * ~i~0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + 8 * ~i~0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + 8 * ~i~0, 4);~i~0 := 10 + #t~mem5;havoc #t~mem5; {5615#false} is VALID [2018-11-18 23:47:11,826 INFO L273 TraceCheckUtils]: 55: Hoare triple {5615#false} assume true; {5615#false} is VALID [2018-11-18 23:47:11,826 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-18 23:47:11,826 INFO L273 TraceCheckUtils]: 57: Hoare triple {5615#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {5615#false} is VALID [2018-11-18 23:47:11,826 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-18 23:47:11,826 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 + 8 * ~b, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {5615#false} is VALID [2018-11-18 23:47:11,826 INFO L273 TraceCheckUtils]: 60: Hoare triple {5615#false} assume true; {5615#false} is VALID [2018-11-18 23:47:11,826 INFO L268 TraceCheckUtils]: 61: Hoare quadruple {5615#false} {5615#false} #59#return; {5615#false} is VALID [2018-11-18 23:47:11,826 INFO L273 TraceCheckUtils]: 62: Hoare triple {5615#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {5615#false} is VALID [2018-11-18 23:47:11,827 INFO L273 TraceCheckUtils]: 63: Hoare triple {5615#false} assume 0 == #t~ret8;havoc #t~ret8; {5615#false} is VALID [2018-11-18 23:47:11,827 INFO L273 TraceCheckUtils]: 64: Hoare triple {5615#false} assume !false; {5615#false} is VALID [2018-11-18 23:47:11,829 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-18 23:47:11,850 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:47:11,850 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 18] total 19 [2018-11-18 23:47:11,851 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 65 [2018-11-18 23:47:11,851 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:47:11,851 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states. [2018-11-18 23:47:11,922 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-18 23:47:11,922 INFO L459 AbstractCegarLoop]: Interpolant automaton has 19 states [2018-11-18 23:47:11,923 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2018-11-18 23:47:11,923 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=171, Invalid=171, Unknown=0, NotChecked=0, Total=342 [2018-11-18 23:47:11,923 INFO L87 Difference]: Start difference. First operand 66 states and 67 transitions. Second operand 19 states. [2018-11-18 23:47:12,887 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:47:12,888 INFO L93 Difference]: Finished difference Result 83 states and 85 transitions. [2018-11-18 23:47:12,888 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2018-11-18 23:47:12,888 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 65 [2018-11-18 23:47:12,888 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:47:12,888 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-18 23:47:12,889 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 85 transitions. [2018-11-18 23:47:12,891 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-18 23:47:12,892 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 85 transitions. [2018-11-18 23:47:12,892 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states and 85 transitions. [2018-11-18 23:47:13,353 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-18 23:47:13,355 INFO L225 Difference]: With dead ends: 83 [2018-11-18 23:47:13,355 INFO L226 Difference]: Without dead ends: 70 [2018-11-18 23:47:13,358 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 82 GetRequests, 65 SyntacticMatches, 0 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=171, Invalid=171, Unknown=0, NotChecked=0, Total=342 [2018-11-18 23:47:13,358 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2018-11-18 23:47:13,390 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 69. [2018-11-18 23:47:13,390 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:47:13,390 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand 69 states. [2018-11-18 23:47:13,390 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand 69 states. [2018-11-18 23:47:13,390 INFO L87 Difference]: Start difference. First operand 70 states. Second operand 69 states. [2018-11-18 23:47:13,392 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:47:13,392 INFO L93 Difference]: Finished difference Result 70 states and 71 transitions. [2018-11-18 23:47:13,392 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 71 transitions. [2018-11-18 23:47:13,392 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:47:13,392 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:47:13,393 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand 70 states. [2018-11-18 23:47:13,393 INFO L87 Difference]: Start difference. First operand 69 states. Second operand 70 states. [2018-11-18 23:47:13,394 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:47:13,394 INFO L93 Difference]: Finished difference Result 70 states and 71 transitions. [2018-11-18 23:47:13,394 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 71 transitions. [2018-11-18 23:47:13,394 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:47:13,394 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:47:13,394 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:47:13,394 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:47:13,395 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 69 states. [2018-11-18 23:47:13,395 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 69 states to 69 states and 70 transitions. [2018-11-18 23:47:13,396 INFO L78 Accepts]: Start accepts. Automaton has 69 states and 70 transitions. Word has length 65 [2018-11-18 23:47:13,396 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:47:13,396 INFO L480 AbstractCegarLoop]: Abstraction has 69 states and 70 transitions. [2018-11-18 23:47:13,396 INFO L481 AbstractCegarLoop]: Interpolant automaton has 19 states. [2018-11-18 23:47:13,396 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 70 transitions. [2018-11-18 23:47:13,396 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 69 [2018-11-18 23:47:13,396 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:47:13,397 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-18 23:47:13,397 INFO L423 AbstractCegarLoop]: === Iteration 18 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:47:13,397 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:47:13,397 INFO L82 PathProgramCache]: Analyzing trace with hash -1411392540, now seen corresponding path program 16 times [2018-11-18 23:47:13,397 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:47:13,397 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:47:13,398 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:47:13,398 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-18 23:47:13,398 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:47:13,411 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:47:14,265 INFO L256 TraceCheckUtils]: 0: Hoare triple {6173#true} call ULTIMATE.init(); {6173#true} is VALID [2018-11-18 23:47:14,266 INFO L273 TraceCheckUtils]: 1: Hoare triple {6173#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {6173#true} is VALID [2018-11-18 23:47:14,266 INFO L273 TraceCheckUtils]: 2: Hoare triple {6173#true} assume true; {6173#true} is VALID [2018-11-18 23:47:14,266 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6173#true} {6173#true} #55#return; {6173#true} is VALID [2018-11-18 23:47:14,266 INFO L256 TraceCheckUtils]: 4: Hoare triple {6173#true} call #t~ret9 := main(); {6173#true} is VALID [2018-11-18 23:47:14,267 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-18 23:47:14,267 INFO L273 TraceCheckUtils]: 6: Hoare triple {6175#(= main_~j~0 0)} assume true; {6175#(= main_~j~0 0)} is VALID [2018-11-18 23:47:14,267 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6175#(= main_~j~0 0)} is VALID [2018-11-18 23:47:14,268 INFO L273 TraceCheckUtils]: 8: Hoare triple {6175#(= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6176#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:14,268 INFO L273 TraceCheckUtils]: 9: Hoare triple {6176#(<= main_~j~0 1)} assume true; {6176#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:14,269 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6176#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:14,269 INFO L273 TraceCheckUtils]: 11: Hoare triple {6176#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6177#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:14,270 INFO L273 TraceCheckUtils]: 12: Hoare triple {6177#(<= main_~j~0 2)} assume true; {6177#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:14,270 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6177#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:14,271 INFO L273 TraceCheckUtils]: 14: Hoare triple {6177#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6178#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:14,272 INFO L273 TraceCheckUtils]: 15: Hoare triple {6178#(<= main_~j~0 3)} assume true; {6178#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:14,273 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6178#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:14,273 INFO L273 TraceCheckUtils]: 17: Hoare triple {6178#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6179#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:14,274 INFO L273 TraceCheckUtils]: 18: Hoare triple {6179#(<= main_~j~0 4)} assume true; {6179#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:14,274 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6179#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:14,275 INFO L273 TraceCheckUtils]: 20: Hoare triple {6179#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6180#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:14,276 INFO L273 TraceCheckUtils]: 21: Hoare triple {6180#(<= main_~j~0 5)} assume true; {6180#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:14,276 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6180#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:14,277 INFO L273 TraceCheckUtils]: 23: Hoare triple {6180#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6181#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:14,278 INFO L273 TraceCheckUtils]: 24: Hoare triple {6181#(<= main_~j~0 6)} assume true; {6181#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:14,278 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6181#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:14,280 INFO L273 TraceCheckUtils]: 26: Hoare triple {6181#(<= main_~j~0 6)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6182#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:14,281 INFO L273 TraceCheckUtils]: 27: Hoare triple {6182#(<= main_~j~0 7)} assume true; {6182#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:14,282 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6182#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:14,282 INFO L273 TraceCheckUtils]: 29: Hoare triple {6182#(<= main_~j~0 7)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6183#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:14,283 INFO L273 TraceCheckUtils]: 30: Hoare triple {6183#(<= main_~j~0 8)} assume true; {6183#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:14,283 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6183#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:14,283 INFO L273 TraceCheckUtils]: 32: Hoare triple {6183#(<= main_~j~0 8)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6184#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:14,284 INFO L273 TraceCheckUtils]: 33: Hoare triple {6184#(<= main_~j~0 9)} assume true; {6184#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:14,284 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6184#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:14,285 INFO L273 TraceCheckUtils]: 35: Hoare triple {6184#(<= main_~j~0 9)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6185#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:14,285 INFO L273 TraceCheckUtils]: 36: Hoare triple {6185#(<= main_~j~0 10)} assume true; {6185#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:14,286 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6185#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:14,287 INFO L273 TraceCheckUtils]: 38: Hoare triple {6185#(<= main_~j~0 10)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6186#(<= main_~j~0 11)} is VALID [2018-11-18 23:47:14,287 INFO L273 TraceCheckUtils]: 39: Hoare triple {6186#(<= main_~j~0 11)} assume true; {6186#(<= main_~j~0 11)} is VALID [2018-11-18 23:47:14,288 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6186#(<= main_~j~0 11)} is VALID [2018-11-18 23:47:14,288 INFO L273 TraceCheckUtils]: 41: Hoare triple {6186#(<= main_~j~0 11)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6187#(<= main_~j~0 12)} is VALID [2018-11-18 23:47:14,289 INFO L273 TraceCheckUtils]: 42: Hoare triple {6187#(<= main_~j~0 12)} assume true; {6187#(<= main_~j~0 12)} is VALID [2018-11-18 23:47:14,289 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6187#(<= main_~j~0 12)} is VALID [2018-11-18 23:47:14,290 INFO L273 TraceCheckUtils]: 44: Hoare triple {6187#(<= main_~j~0 12)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6188#(<= main_~j~0 13)} is VALID [2018-11-18 23:47:14,291 INFO L273 TraceCheckUtils]: 45: Hoare triple {6188#(<= main_~j~0 13)} assume true; {6188#(<= main_~j~0 13)} is VALID [2018-11-18 23:47:14,291 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6188#(<= main_~j~0 13)} is VALID [2018-11-18 23:47:14,292 INFO L273 TraceCheckUtils]: 47: Hoare triple {6188#(<= main_~j~0 13)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6189#(<= main_~j~0 14)} is VALID [2018-11-18 23:47:14,293 INFO L273 TraceCheckUtils]: 48: Hoare triple {6189#(<= main_~j~0 14)} assume true; {6189#(<= main_~j~0 14)} is VALID [2018-11-18 23:47:14,293 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6189#(<= main_~j~0 14)} is VALID [2018-11-18 23:47:14,294 INFO L273 TraceCheckUtils]: 50: Hoare triple {6189#(<= main_~j~0 14)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6190#(<= main_~j~0 15)} is VALID [2018-11-18 23:47:14,295 INFO L273 TraceCheckUtils]: 51: Hoare triple {6190#(<= main_~j~0 15)} assume true; {6190#(<= main_~j~0 15)} is VALID [2018-11-18 23:47:14,295 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6190#(<= main_~j~0 15)} is VALID [2018-11-18 23:47:14,296 INFO L273 TraceCheckUtils]: 53: Hoare triple {6190#(<= main_~j~0 15)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6191#(<= main_~j~0 16)} is VALID [2018-11-18 23:47:14,297 INFO L273 TraceCheckUtils]: 54: Hoare triple {6191#(<= main_~j~0 16)} assume true; {6191#(<= main_~j~0 16)} is VALID [2018-11-18 23:47:14,297 INFO L273 TraceCheckUtils]: 55: Hoare triple {6191#(<= main_~j~0 16)} assume !(~j~0 < 20); {6174#false} is VALID [2018-11-18 23:47:14,298 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-18 23:47:14,298 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 + 8 * ~i~0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + 8 * ~i~0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + 8 * ~i~0, 4);~i~0 := 10 + #t~mem5;havoc #t~mem5; {6174#false} is VALID [2018-11-18 23:47:14,298 INFO L273 TraceCheckUtils]: 58: Hoare triple {6174#false} assume true; {6174#false} is VALID [2018-11-18 23:47:14,298 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-18 23:47:14,298 INFO L273 TraceCheckUtils]: 60: Hoare triple {6174#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {6174#false} is VALID [2018-11-18 23:47:14,299 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-18 23:47:14,299 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 + 8 * ~b, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {6173#true} is VALID [2018-11-18 23:47:14,299 INFO L273 TraceCheckUtils]: 63: Hoare triple {6173#true} assume true; {6173#true} is VALID [2018-11-18 23:47:14,299 INFO L268 TraceCheckUtils]: 64: Hoare quadruple {6173#true} {6174#false} #59#return; {6174#false} is VALID [2018-11-18 23:47:14,299 INFO L273 TraceCheckUtils]: 65: Hoare triple {6174#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {6174#false} is VALID [2018-11-18 23:47:14,300 INFO L273 TraceCheckUtils]: 66: Hoare triple {6174#false} assume 0 == #t~ret8;havoc #t~ret8; {6174#false} is VALID [2018-11-18 23:47:14,300 INFO L273 TraceCheckUtils]: 67: Hoare triple {6174#false} assume !false; {6174#false} is VALID [2018-11-18 23:47:14,304 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-18 23:47:14,304 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:47:14,304 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-18 23:47:14,325 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-18 23:47:14,382 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-18 23:47:14,382 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-18 23:47:14,410 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:47:14,412 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:47:14,586 INFO L256 TraceCheckUtils]: 0: Hoare triple {6173#true} call ULTIMATE.init(); {6173#true} is VALID [2018-11-18 23:47:14,586 INFO L273 TraceCheckUtils]: 1: Hoare triple {6173#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {6173#true} is VALID [2018-11-18 23:47:14,587 INFO L273 TraceCheckUtils]: 2: Hoare triple {6173#true} assume true; {6173#true} is VALID [2018-11-18 23:47:14,587 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6173#true} {6173#true} #55#return; {6173#true} is VALID [2018-11-18 23:47:14,587 INFO L256 TraceCheckUtils]: 4: Hoare triple {6173#true} call #t~ret9 := main(); {6173#true} is VALID [2018-11-18 23:47:14,588 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-18 23:47:14,588 INFO L273 TraceCheckUtils]: 6: Hoare triple {6210#(<= main_~j~0 0)} assume true; {6210#(<= main_~j~0 0)} is VALID [2018-11-18 23:47:14,588 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6210#(<= main_~j~0 0)} is VALID [2018-11-18 23:47:14,589 INFO L273 TraceCheckUtils]: 8: Hoare triple {6210#(<= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6176#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:14,589 INFO L273 TraceCheckUtils]: 9: Hoare triple {6176#(<= main_~j~0 1)} assume true; {6176#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:14,590 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6176#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:14,590 INFO L273 TraceCheckUtils]: 11: Hoare triple {6176#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6177#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:14,590 INFO L273 TraceCheckUtils]: 12: Hoare triple {6177#(<= main_~j~0 2)} assume true; {6177#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:14,591 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6177#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:14,592 INFO L273 TraceCheckUtils]: 14: Hoare triple {6177#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6178#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:14,593 INFO L273 TraceCheckUtils]: 15: Hoare triple {6178#(<= main_~j~0 3)} assume true; {6178#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:14,593 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6178#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:14,594 INFO L273 TraceCheckUtils]: 17: Hoare triple {6178#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6179#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:14,595 INFO L273 TraceCheckUtils]: 18: Hoare triple {6179#(<= main_~j~0 4)} assume true; {6179#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:14,595 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6179#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:14,596 INFO L273 TraceCheckUtils]: 20: Hoare triple {6179#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6180#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:14,597 INFO L273 TraceCheckUtils]: 21: Hoare triple {6180#(<= main_~j~0 5)} assume true; {6180#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:14,597 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6180#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:14,598 INFO L273 TraceCheckUtils]: 23: Hoare triple {6180#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6181#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:14,599 INFO L273 TraceCheckUtils]: 24: Hoare triple {6181#(<= main_~j~0 6)} assume true; {6181#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:14,599 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6181#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:14,600 INFO L273 TraceCheckUtils]: 26: Hoare triple {6181#(<= main_~j~0 6)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6182#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:14,600 INFO L273 TraceCheckUtils]: 27: Hoare triple {6182#(<= main_~j~0 7)} assume true; {6182#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:14,601 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6182#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:14,602 INFO L273 TraceCheckUtils]: 29: Hoare triple {6182#(<= main_~j~0 7)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6183#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:14,602 INFO L273 TraceCheckUtils]: 30: Hoare triple {6183#(<= main_~j~0 8)} assume true; {6183#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:14,603 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6183#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:14,603 INFO L273 TraceCheckUtils]: 32: Hoare triple {6183#(<= main_~j~0 8)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6184#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:14,604 INFO L273 TraceCheckUtils]: 33: Hoare triple {6184#(<= main_~j~0 9)} assume true; {6184#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:14,605 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6184#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:14,605 INFO L273 TraceCheckUtils]: 35: Hoare triple {6184#(<= main_~j~0 9)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6185#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:14,606 INFO L273 TraceCheckUtils]: 36: Hoare triple {6185#(<= main_~j~0 10)} assume true; {6185#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:14,606 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6185#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:14,607 INFO L273 TraceCheckUtils]: 38: Hoare triple {6185#(<= main_~j~0 10)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6186#(<= main_~j~0 11)} is VALID [2018-11-18 23:47:14,608 INFO L273 TraceCheckUtils]: 39: Hoare triple {6186#(<= main_~j~0 11)} assume true; {6186#(<= main_~j~0 11)} is VALID [2018-11-18 23:47:14,608 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6186#(<= main_~j~0 11)} is VALID [2018-11-18 23:47:14,609 INFO L273 TraceCheckUtils]: 41: Hoare triple {6186#(<= main_~j~0 11)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6187#(<= main_~j~0 12)} is VALID [2018-11-18 23:47:14,609 INFO L273 TraceCheckUtils]: 42: Hoare triple {6187#(<= main_~j~0 12)} assume true; {6187#(<= main_~j~0 12)} is VALID [2018-11-18 23:47:14,610 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6187#(<= main_~j~0 12)} is VALID [2018-11-18 23:47:14,611 INFO L273 TraceCheckUtils]: 44: Hoare triple {6187#(<= main_~j~0 12)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6188#(<= main_~j~0 13)} is VALID [2018-11-18 23:47:14,611 INFO L273 TraceCheckUtils]: 45: Hoare triple {6188#(<= main_~j~0 13)} assume true; {6188#(<= main_~j~0 13)} is VALID [2018-11-18 23:47:14,612 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6188#(<= main_~j~0 13)} is VALID [2018-11-18 23:47:14,613 INFO L273 TraceCheckUtils]: 47: Hoare triple {6188#(<= main_~j~0 13)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6189#(<= main_~j~0 14)} is VALID [2018-11-18 23:47:14,613 INFO L273 TraceCheckUtils]: 48: Hoare triple {6189#(<= main_~j~0 14)} assume true; {6189#(<= main_~j~0 14)} is VALID [2018-11-18 23:47:14,614 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6189#(<= main_~j~0 14)} is VALID [2018-11-18 23:47:14,614 INFO L273 TraceCheckUtils]: 50: Hoare triple {6189#(<= main_~j~0 14)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6190#(<= main_~j~0 15)} is VALID [2018-11-18 23:47:14,615 INFO L273 TraceCheckUtils]: 51: Hoare triple {6190#(<= main_~j~0 15)} assume true; {6190#(<= main_~j~0 15)} is VALID [2018-11-18 23:47:14,615 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6190#(<= main_~j~0 15)} is VALID [2018-11-18 23:47:14,616 INFO L273 TraceCheckUtils]: 53: Hoare triple {6190#(<= main_~j~0 15)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6191#(<= main_~j~0 16)} is VALID [2018-11-18 23:47:14,617 INFO L273 TraceCheckUtils]: 54: Hoare triple {6191#(<= main_~j~0 16)} assume true; {6191#(<= main_~j~0 16)} is VALID [2018-11-18 23:47:14,617 INFO L273 TraceCheckUtils]: 55: Hoare triple {6191#(<= main_~j~0 16)} assume !(~j~0 < 20); {6174#false} is VALID [2018-11-18 23:47:14,618 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-18 23:47:14,618 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 + 8 * ~i~0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + 8 * ~i~0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + 8 * ~i~0, 4);~i~0 := 10 + #t~mem5;havoc #t~mem5; {6174#false} is VALID [2018-11-18 23:47:14,618 INFO L273 TraceCheckUtils]: 58: Hoare triple {6174#false} assume true; {6174#false} is VALID [2018-11-18 23:47:14,618 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-18 23:47:14,618 INFO L273 TraceCheckUtils]: 60: Hoare triple {6174#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {6174#false} is VALID [2018-11-18 23:47:14,619 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-18 23:47:14,619 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 + 8 * ~b, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {6174#false} is VALID [2018-11-18 23:47:14,619 INFO L273 TraceCheckUtils]: 63: Hoare triple {6174#false} assume true; {6174#false} is VALID [2018-11-18 23:47:14,619 INFO L268 TraceCheckUtils]: 64: Hoare quadruple {6174#false} {6174#false} #59#return; {6174#false} is VALID [2018-11-18 23:47:14,619 INFO L273 TraceCheckUtils]: 65: Hoare triple {6174#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {6174#false} is VALID [2018-11-18 23:47:14,620 INFO L273 TraceCheckUtils]: 66: Hoare triple {6174#false} assume 0 == #t~ret8;havoc #t~ret8; {6174#false} is VALID [2018-11-18 23:47:14,620 INFO L273 TraceCheckUtils]: 67: Hoare triple {6174#false} assume !false; {6174#false} is VALID [2018-11-18 23:47:14,624 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-18 23:47:14,642 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:47:14,643 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 19] total 20 [2018-11-18 23:47:14,643 INFO L78 Accepts]: Start accepts. Automaton has 20 states. Word has length 68 [2018-11-18 23:47:14,643 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:47:14,643 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states. [2018-11-18 23:47:14,715 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-18 23:47:14,715 INFO L459 AbstractCegarLoop]: Interpolant automaton has 20 states [2018-11-18 23:47:14,716 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2018-11-18 23:47:14,716 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=190, Invalid=190, Unknown=0, NotChecked=0, Total=380 [2018-11-18 23:47:14,717 INFO L87 Difference]: Start difference. First operand 69 states and 70 transitions. Second operand 20 states. [2018-11-18 23:47:15,176 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:47:15,176 INFO L93 Difference]: Finished difference Result 86 states and 88 transitions. [2018-11-18 23:47:15,177 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2018-11-18 23:47:15,177 INFO L78 Accepts]: Start accepts. Automaton has 20 states. Word has length 68 [2018-11-18 23:47:15,177 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:47:15,178 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2018-11-18 23:47:15,179 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 88 transitions. [2018-11-18 23:47:15,179 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2018-11-18 23:47:15,181 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 88 transitions. [2018-11-18 23:47:15,181 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states and 88 transitions. [2018-11-18 23:47:15,627 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-18 23:47:15,629 INFO L225 Difference]: With dead ends: 86 [2018-11-18 23:47:15,629 INFO L226 Difference]: Without dead ends: 73 [2018-11-18 23:47:15,630 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-18 23:47:15,631 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 73 states. [2018-11-18 23:47:15,655 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 73 to 72. [2018-11-18 23:47:15,655 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:47:15,655 INFO L82 GeneralOperation]: Start isEquivalent. First operand 73 states. Second operand 72 states. [2018-11-18 23:47:15,655 INFO L74 IsIncluded]: Start isIncluded. First operand 73 states. Second operand 72 states. [2018-11-18 23:47:15,656 INFO L87 Difference]: Start difference. First operand 73 states. Second operand 72 states. [2018-11-18 23:47:15,657 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:47:15,657 INFO L93 Difference]: Finished difference Result 73 states and 74 transitions. [2018-11-18 23:47:15,658 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 74 transitions. [2018-11-18 23:47:15,658 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:47:15,658 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:47:15,658 INFO L74 IsIncluded]: Start isIncluded. First operand 72 states. Second operand 73 states. [2018-11-18 23:47:15,659 INFO L87 Difference]: Start difference. First operand 72 states. Second operand 73 states. [2018-11-18 23:47:15,660 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:47:15,660 INFO L93 Difference]: Finished difference Result 73 states and 74 transitions. [2018-11-18 23:47:15,661 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 74 transitions. [2018-11-18 23:47:15,661 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:47:15,661 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:47:15,661 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:47:15,662 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:47:15,662 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 72 states. [2018-11-18 23:47:15,663 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 72 states to 72 states and 73 transitions. [2018-11-18 23:47:15,663 INFO L78 Accepts]: Start accepts. Automaton has 72 states and 73 transitions. Word has length 68 [2018-11-18 23:47:15,664 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:47:15,664 INFO L480 AbstractCegarLoop]: Abstraction has 72 states and 73 transitions. [2018-11-18 23:47:15,664 INFO L481 AbstractCegarLoop]: Interpolant automaton has 20 states. [2018-11-18 23:47:15,664 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 73 transitions. [2018-11-18 23:47:15,665 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 72 [2018-11-18 23:47:15,665 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:47:15,665 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-18 23:47:15,665 INFO L423 AbstractCegarLoop]: === Iteration 19 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:47:15,666 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:47:15,666 INFO L82 PathProgramCache]: Analyzing trace with hash 867830675, now seen corresponding path program 17 times [2018-11-18 23:47:15,666 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:47:15,666 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:47:15,667 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:47:15,667 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-18 23:47:15,667 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:47:15,685 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:47:16,623 INFO L256 TraceCheckUtils]: 0: Hoare triple {6756#true} call ULTIMATE.init(); {6756#true} is VALID [2018-11-18 23:47:16,623 INFO L273 TraceCheckUtils]: 1: Hoare triple {6756#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {6756#true} is VALID [2018-11-18 23:47:16,623 INFO L273 TraceCheckUtils]: 2: Hoare triple {6756#true} assume true; {6756#true} is VALID [2018-11-18 23:47:16,623 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6756#true} {6756#true} #55#return; {6756#true} is VALID [2018-11-18 23:47:16,624 INFO L256 TraceCheckUtils]: 4: Hoare triple {6756#true} call #t~ret9 := main(); {6756#true} is VALID [2018-11-18 23:47:16,626 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-18 23:47:16,626 INFO L273 TraceCheckUtils]: 6: Hoare triple {6758#(= main_~j~0 0)} assume true; {6758#(= main_~j~0 0)} is VALID [2018-11-18 23:47:16,626 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6758#(= main_~j~0 0)} is VALID [2018-11-18 23:47:16,627 INFO L273 TraceCheckUtils]: 8: Hoare triple {6758#(= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6759#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:16,628 INFO L273 TraceCheckUtils]: 9: Hoare triple {6759#(<= main_~j~0 1)} assume true; {6759#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:16,628 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6759#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:16,629 INFO L273 TraceCheckUtils]: 11: Hoare triple {6759#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6760#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:16,629 INFO L273 TraceCheckUtils]: 12: Hoare triple {6760#(<= main_~j~0 2)} assume true; {6760#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:16,630 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6760#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:16,631 INFO L273 TraceCheckUtils]: 14: Hoare triple {6760#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6761#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:16,631 INFO L273 TraceCheckUtils]: 15: Hoare triple {6761#(<= main_~j~0 3)} assume true; {6761#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:16,632 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6761#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:16,632 INFO L273 TraceCheckUtils]: 17: Hoare triple {6761#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6762#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:16,633 INFO L273 TraceCheckUtils]: 18: Hoare triple {6762#(<= main_~j~0 4)} assume true; {6762#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:16,633 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6762#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:16,634 INFO L273 TraceCheckUtils]: 20: Hoare triple {6762#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6763#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:16,635 INFO L273 TraceCheckUtils]: 21: Hoare triple {6763#(<= main_~j~0 5)} assume true; {6763#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:16,635 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6763#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:16,636 INFO L273 TraceCheckUtils]: 23: Hoare triple {6763#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6764#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:16,636 INFO L273 TraceCheckUtils]: 24: Hoare triple {6764#(<= main_~j~0 6)} assume true; {6764#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:16,637 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6764#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:16,637 INFO L273 TraceCheckUtils]: 26: Hoare triple {6764#(<= main_~j~0 6)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6765#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:16,638 INFO L273 TraceCheckUtils]: 27: Hoare triple {6765#(<= main_~j~0 7)} assume true; {6765#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:16,638 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6765#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:16,639 INFO L273 TraceCheckUtils]: 29: Hoare triple {6765#(<= main_~j~0 7)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6766#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:16,640 INFO L273 TraceCheckUtils]: 30: Hoare triple {6766#(<= main_~j~0 8)} assume true; {6766#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:16,640 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6766#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:16,641 INFO L273 TraceCheckUtils]: 32: Hoare triple {6766#(<= main_~j~0 8)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6767#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:16,641 INFO L273 TraceCheckUtils]: 33: Hoare triple {6767#(<= main_~j~0 9)} assume true; {6767#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:16,642 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6767#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:16,642 INFO L273 TraceCheckUtils]: 35: Hoare triple {6767#(<= main_~j~0 9)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6768#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:16,643 INFO L273 TraceCheckUtils]: 36: Hoare triple {6768#(<= main_~j~0 10)} assume true; {6768#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:16,643 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6768#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:16,644 INFO L273 TraceCheckUtils]: 38: Hoare triple {6768#(<= main_~j~0 10)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6769#(<= main_~j~0 11)} is VALID [2018-11-18 23:47:16,645 INFO L273 TraceCheckUtils]: 39: Hoare triple {6769#(<= main_~j~0 11)} assume true; {6769#(<= main_~j~0 11)} is VALID [2018-11-18 23:47:16,645 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6769#(<= main_~j~0 11)} is VALID [2018-11-18 23:47:16,646 INFO L273 TraceCheckUtils]: 41: Hoare triple {6769#(<= main_~j~0 11)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6770#(<= main_~j~0 12)} is VALID [2018-11-18 23:47:16,646 INFO L273 TraceCheckUtils]: 42: Hoare triple {6770#(<= main_~j~0 12)} assume true; {6770#(<= main_~j~0 12)} is VALID [2018-11-18 23:47:16,647 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6770#(<= main_~j~0 12)} is VALID [2018-11-18 23:47:16,648 INFO L273 TraceCheckUtils]: 44: Hoare triple {6770#(<= main_~j~0 12)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6771#(<= main_~j~0 13)} is VALID [2018-11-18 23:47:16,648 INFO L273 TraceCheckUtils]: 45: Hoare triple {6771#(<= main_~j~0 13)} assume true; {6771#(<= main_~j~0 13)} is VALID [2018-11-18 23:47:16,649 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6771#(<= main_~j~0 13)} is VALID [2018-11-18 23:47:16,649 INFO L273 TraceCheckUtils]: 47: Hoare triple {6771#(<= main_~j~0 13)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6772#(<= main_~j~0 14)} is VALID [2018-11-18 23:47:16,650 INFO L273 TraceCheckUtils]: 48: Hoare triple {6772#(<= main_~j~0 14)} assume true; {6772#(<= main_~j~0 14)} is VALID [2018-11-18 23:47:16,650 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6772#(<= main_~j~0 14)} is VALID [2018-11-18 23:47:16,651 INFO L273 TraceCheckUtils]: 50: Hoare triple {6772#(<= main_~j~0 14)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6773#(<= main_~j~0 15)} is VALID [2018-11-18 23:47:16,651 INFO L273 TraceCheckUtils]: 51: Hoare triple {6773#(<= main_~j~0 15)} assume true; {6773#(<= main_~j~0 15)} is VALID [2018-11-18 23:47:16,652 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6773#(<= main_~j~0 15)} is VALID [2018-11-18 23:47:16,653 INFO L273 TraceCheckUtils]: 53: Hoare triple {6773#(<= main_~j~0 15)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6774#(<= main_~j~0 16)} is VALID [2018-11-18 23:47:16,653 INFO L273 TraceCheckUtils]: 54: Hoare triple {6774#(<= main_~j~0 16)} assume true; {6774#(<= main_~j~0 16)} is VALID [2018-11-18 23:47:16,654 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6774#(<= main_~j~0 16)} is VALID [2018-11-18 23:47:16,654 INFO L273 TraceCheckUtils]: 56: Hoare triple {6774#(<= main_~j~0 16)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6775#(<= main_~j~0 17)} is VALID [2018-11-18 23:47:16,655 INFO L273 TraceCheckUtils]: 57: Hoare triple {6775#(<= main_~j~0 17)} assume true; {6775#(<= main_~j~0 17)} is VALID [2018-11-18 23:47:16,655 INFO L273 TraceCheckUtils]: 58: Hoare triple {6775#(<= main_~j~0 17)} assume !(~j~0 < 20); {6757#false} is VALID [2018-11-18 23:47:16,656 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-18 23:47:16,656 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 + 8 * ~i~0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + 8 * ~i~0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + 8 * ~i~0, 4);~i~0 := 10 + #t~mem5;havoc #t~mem5; {6757#false} is VALID [2018-11-18 23:47:16,656 INFO L273 TraceCheckUtils]: 61: Hoare triple {6757#false} assume true; {6757#false} is VALID [2018-11-18 23:47:16,656 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-18 23:47:16,656 INFO L273 TraceCheckUtils]: 63: Hoare triple {6757#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {6757#false} is VALID [2018-11-18 23:47:16,657 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-18 23:47:16,657 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 + 8 * ~b, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {6756#true} is VALID [2018-11-18 23:47:16,657 INFO L273 TraceCheckUtils]: 66: Hoare triple {6756#true} assume true; {6756#true} is VALID [2018-11-18 23:47:16,657 INFO L268 TraceCheckUtils]: 67: Hoare quadruple {6756#true} {6757#false} #59#return; {6757#false} is VALID [2018-11-18 23:47:16,657 INFO L273 TraceCheckUtils]: 68: Hoare triple {6757#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {6757#false} is VALID [2018-11-18 23:47:16,658 INFO L273 TraceCheckUtils]: 69: Hoare triple {6757#false} assume 0 == #t~ret8;havoc #t~ret8; {6757#false} is VALID [2018-11-18 23:47:16,658 INFO L273 TraceCheckUtils]: 70: Hoare triple {6757#false} assume !false; {6757#false} is VALID [2018-11-18 23:47:16,661 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-18 23:47:16,662 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:47:16,662 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-18 23:47:16,670 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-18 23:47:19,289 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 18 check-sat command(s) [2018-11-18 23:47:19,289 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-18 23:47:19,307 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:47:19,308 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:47:19,550 INFO L256 TraceCheckUtils]: 0: Hoare triple {6756#true} call ULTIMATE.init(); {6756#true} is VALID [2018-11-18 23:47:19,551 INFO L273 TraceCheckUtils]: 1: Hoare triple {6756#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {6756#true} is VALID [2018-11-18 23:47:19,551 INFO L273 TraceCheckUtils]: 2: Hoare triple {6756#true} assume true; {6756#true} is VALID [2018-11-18 23:47:19,551 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6756#true} {6756#true} #55#return; {6756#true} is VALID [2018-11-18 23:47:19,551 INFO L256 TraceCheckUtils]: 4: Hoare triple {6756#true} call #t~ret9 := main(); {6756#true} is VALID [2018-11-18 23:47:19,552 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-18 23:47:19,552 INFO L273 TraceCheckUtils]: 6: Hoare triple {6794#(<= main_~j~0 0)} assume true; {6794#(<= main_~j~0 0)} is VALID [2018-11-18 23:47:19,553 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6794#(<= main_~j~0 0)} is VALID [2018-11-18 23:47:19,553 INFO L273 TraceCheckUtils]: 8: Hoare triple {6794#(<= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6759#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:19,554 INFO L273 TraceCheckUtils]: 9: Hoare triple {6759#(<= main_~j~0 1)} assume true; {6759#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:19,554 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6759#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:19,555 INFO L273 TraceCheckUtils]: 11: Hoare triple {6759#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6760#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:19,555 INFO L273 TraceCheckUtils]: 12: Hoare triple {6760#(<= main_~j~0 2)} assume true; {6760#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:19,555 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6760#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:19,556 INFO L273 TraceCheckUtils]: 14: Hoare triple {6760#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6761#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:19,557 INFO L273 TraceCheckUtils]: 15: Hoare triple {6761#(<= main_~j~0 3)} assume true; {6761#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:19,557 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6761#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:19,558 INFO L273 TraceCheckUtils]: 17: Hoare triple {6761#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6762#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:19,558 INFO L273 TraceCheckUtils]: 18: Hoare triple {6762#(<= main_~j~0 4)} assume true; {6762#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:19,559 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6762#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:19,560 INFO L273 TraceCheckUtils]: 20: Hoare triple {6762#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6763#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:19,560 INFO L273 TraceCheckUtils]: 21: Hoare triple {6763#(<= main_~j~0 5)} assume true; {6763#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:19,561 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6763#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:19,562 INFO L273 TraceCheckUtils]: 23: Hoare triple {6763#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6764#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:19,562 INFO L273 TraceCheckUtils]: 24: Hoare triple {6764#(<= main_~j~0 6)} assume true; {6764#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:19,563 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6764#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:19,563 INFO L273 TraceCheckUtils]: 26: Hoare triple {6764#(<= main_~j~0 6)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6765#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:19,564 INFO L273 TraceCheckUtils]: 27: Hoare triple {6765#(<= main_~j~0 7)} assume true; {6765#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:19,564 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6765#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:19,565 INFO L273 TraceCheckUtils]: 29: Hoare triple {6765#(<= main_~j~0 7)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6766#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:19,566 INFO L273 TraceCheckUtils]: 30: Hoare triple {6766#(<= main_~j~0 8)} assume true; {6766#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:19,566 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6766#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:19,567 INFO L273 TraceCheckUtils]: 32: Hoare triple {6766#(<= main_~j~0 8)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6767#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:19,568 INFO L273 TraceCheckUtils]: 33: Hoare triple {6767#(<= main_~j~0 9)} assume true; {6767#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:19,568 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6767#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:19,569 INFO L273 TraceCheckUtils]: 35: Hoare triple {6767#(<= main_~j~0 9)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6768#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:19,569 INFO L273 TraceCheckUtils]: 36: Hoare triple {6768#(<= main_~j~0 10)} assume true; {6768#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:19,570 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6768#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:19,571 INFO L273 TraceCheckUtils]: 38: Hoare triple {6768#(<= main_~j~0 10)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6769#(<= main_~j~0 11)} is VALID [2018-11-18 23:47:19,571 INFO L273 TraceCheckUtils]: 39: Hoare triple {6769#(<= main_~j~0 11)} assume true; {6769#(<= main_~j~0 11)} is VALID [2018-11-18 23:47:19,572 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6769#(<= main_~j~0 11)} is VALID [2018-11-18 23:47:19,573 INFO L273 TraceCheckUtils]: 41: Hoare triple {6769#(<= main_~j~0 11)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6770#(<= main_~j~0 12)} is VALID [2018-11-18 23:47:19,573 INFO L273 TraceCheckUtils]: 42: Hoare triple {6770#(<= main_~j~0 12)} assume true; {6770#(<= main_~j~0 12)} is VALID [2018-11-18 23:47:19,574 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6770#(<= main_~j~0 12)} is VALID [2018-11-18 23:47:19,574 INFO L273 TraceCheckUtils]: 44: Hoare triple {6770#(<= main_~j~0 12)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6771#(<= main_~j~0 13)} is VALID [2018-11-18 23:47:19,575 INFO L273 TraceCheckUtils]: 45: Hoare triple {6771#(<= main_~j~0 13)} assume true; {6771#(<= main_~j~0 13)} is VALID [2018-11-18 23:47:19,575 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6771#(<= main_~j~0 13)} is VALID [2018-11-18 23:47:19,576 INFO L273 TraceCheckUtils]: 47: Hoare triple {6771#(<= main_~j~0 13)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6772#(<= main_~j~0 14)} is VALID [2018-11-18 23:47:19,577 INFO L273 TraceCheckUtils]: 48: Hoare triple {6772#(<= main_~j~0 14)} assume true; {6772#(<= main_~j~0 14)} is VALID [2018-11-18 23:47:19,577 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6772#(<= main_~j~0 14)} is VALID [2018-11-18 23:47:19,578 INFO L273 TraceCheckUtils]: 50: Hoare triple {6772#(<= main_~j~0 14)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6773#(<= main_~j~0 15)} is VALID [2018-11-18 23:47:19,579 INFO L273 TraceCheckUtils]: 51: Hoare triple {6773#(<= main_~j~0 15)} assume true; {6773#(<= main_~j~0 15)} is VALID [2018-11-18 23:47:19,579 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6773#(<= main_~j~0 15)} is VALID [2018-11-18 23:47:19,580 INFO L273 TraceCheckUtils]: 53: Hoare triple {6773#(<= main_~j~0 15)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6774#(<= main_~j~0 16)} is VALID [2018-11-18 23:47:19,580 INFO L273 TraceCheckUtils]: 54: Hoare triple {6774#(<= main_~j~0 16)} assume true; {6774#(<= main_~j~0 16)} is VALID [2018-11-18 23:47:19,581 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {6774#(<= main_~j~0 16)} is VALID [2018-11-18 23:47:19,582 INFO L273 TraceCheckUtils]: 56: Hoare triple {6774#(<= main_~j~0 16)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {6775#(<= main_~j~0 17)} is VALID [2018-11-18 23:47:19,582 INFO L273 TraceCheckUtils]: 57: Hoare triple {6775#(<= main_~j~0 17)} assume true; {6775#(<= main_~j~0 17)} is VALID [2018-11-18 23:47:19,583 INFO L273 TraceCheckUtils]: 58: Hoare triple {6775#(<= main_~j~0 17)} assume !(~j~0 < 20); {6757#false} is VALID [2018-11-18 23:47:19,583 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-18 23:47:19,583 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 + 8 * ~i~0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + 8 * ~i~0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + 8 * ~i~0, 4);~i~0 := 10 + #t~mem5;havoc #t~mem5; {6757#false} is VALID [2018-11-18 23:47:19,584 INFO L273 TraceCheckUtils]: 61: Hoare triple {6757#false} assume true; {6757#false} is VALID [2018-11-18 23:47:19,584 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-18 23:47:19,584 INFO L273 TraceCheckUtils]: 63: Hoare triple {6757#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {6757#false} is VALID [2018-11-18 23:47:19,584 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-18 23:47:19,584 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 + 8 * ~b, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {6757#false} is VALID [2018-11-18 23:47:19,585 INFO L273 TraceCheckUtils]: 66: Hoare triple {6757#false} assume true; {6757#false} is VALID [2018-11-18 23:47:19,585 INFO L268 TraceCheckUtils]: 67: Hoare quadruple {6757#false} {6757#false} #59#return; {6757#false} is VALID [2018-11-18 23:47:19,585 INFO L273 TraceCheckUtils]: 68: Hoare triple {6757#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {6757#false} is VALID [2018-11-18 23:47:19,585 INFO L273 TraceCheckUtils]: 69: Hoare triple {6757#false} assume 0 == #t~ret8;havoc #t~ret8; {6757#false} is VALID [2018-11-18 23:47:19,585 INFO L273 TraceCheckUtils]: 70: Hoare triple {6757#false} assume !false; {6757#false} is VALID [2018-11-18 23:47:19,589 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-18 23:47:19,611 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:47:19,612 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 20] total 21 [2018-11-18 23:47:19,612 INFO L78 Accepts]: Start accepts. Automaton has 21 states. Word has length 71 [2018-11-18 23:47:19,612 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:47:19,613 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states. [2018-11-18 23:47:19,692 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-18 23:47:19,692 INFO L459 AbstractCegarLoop]: Interpolant automaton has 21 states [2018-11-18 23:47:19,692 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2018-11-18 23:47:19,693 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=210, Invalid=210, Unknown=0, NotChecked=0, Total=420 [2018-11-18 23:47:19,693 INFO L87 Difference]: Start difference. First operand 72 states and 73 transitions. Second operand 21 states. [2018-11-18 23:47:20,142 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:47:20,143 INFO L93 Difference]: Finished difference Result 89 states and 91 transitions. [2018-11-18 23:47:20,143 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2018-11-18 23:47:20,143 INFO L78 Accepts]: Start accepts. Automaton has 21 states. Word has length 71 [2018-11-18 23:47:20,143 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:47:20,144 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-11-18 23:47:20,145 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 91 transitions. [2018-11-18 23:47:20,145 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-11-18 23:47:20,146 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 91 transitions. [2018-11-18 23:47:20,147 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states and 91 transitions. [2018-11-18 23:47:20,698 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-18 23:47:20,699 INFO L225 Difference]: With dead ends: 89 [2018-11-18 23:47:20,700 INFO L226 Difference]: Without dead ends: 76 [2018-11-18 23:47:20,701 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 90 GetRequests, 71 SyntacticMatches, 0 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=210, Invalid=210, Unknown=0, NotChecked=0, Total=420 [2018-11-18 23:47:20,701 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 76 states. [2018-11-18 23:47:20,776 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 76 to 75. [2018-11-18 23:47:20,777 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:47:20,777 INFO L82 GeneralOperation]: Start isEquivalent. First operand 76 states. Second operand 75 states. [2018-11-18 23:47:20,777 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand 75 states. [2018-11-18 23:47:20,777 INFO L87 Difference]: Start difference. First operand 76 states. Second operand 75 states. [2018-11-18 23:47:20,780 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:47:20,780 INFO L93 Difference]: Finished difference Result 76 states and 77 transitions. [2018-11-18 23:47:20,780 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 77 transitions. [2018-11-18 23:47:20,781 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:47:20,781 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:47:20,781 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand 76 states. [2018-11-18 23:47:20,781 INFO L87 Difference]: Start difference. First operand 75 states. Second operand 76 states. [2018-11-18 23:47:20,782 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:47:20,782 INFO L93 Difference]: Finished difference Result 76 states and 77 transitions. [2018-11-18 23:47:20,783 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 77 transitions. [2018-11-18 23:47:20,783 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:47:20,783 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:47:20,783 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:47:20,783 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:47:20,783 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 75 states. [2018-11-18 23:47:20,785 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 75 states to 75 states and 76 transitions. [2018-11-18 23:47:20,786 INFO L78 Accepts]: Start accepts. Automaton has 75 states and 76 transitions. Word has length 71 [2018-11-18 23:47:20,786 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:47:20,786 INFO L480 AbstractCegarLoop]: Abstraction has 75 states and 76 transitions. [2018-11-18 23:47:20,786 INFO L481 AbstractCegarLoop]: Interpolant automaton has 21 states. [2018-11-18 23:47:20,786 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 76 transitions. [2018-11-18 23:47:20,787 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2018-11-18 23:47:20,787 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:47:20,787 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-18 23:47:20,787 INFO L423 AbstractCegarLoop]: === Iteration 20 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:47:20,788 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:47:20,788 INFO L82 PathProgramCache]: Analyzing trace with hash 2068646276, now seen corresponding path program 18 times [2018-11-18 23:47:20,788 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:47:20,788 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:47:20,789 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:47:20,789 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-18 23:47:20,789 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:47:20,805 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:47:21,893 INFO L256 TraceCheckUtils]: 0: Hoare triple {7363#true} call ULTIMATE.init(); {7363#true} is VALID [2018-11-18 23:47:21,893 INFO L273 TraceCheckUtils]: 1: Hoare triple {7363#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {7363#true} is VALID [2018-11-18 23:47:21,894 INFO L273 TraceCheckUtils]: 2: Hoare triple {7363#true} assume true; {7363#true} is VALID [2018-11-18 23:47:21,894 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7363#true} {7363#true} #55#return; {7363#true} is VALID [2018-11-18 23:47:21,894 INFO L256 TraceCheckUtils]: 4: Hoare triple {7363#true} call #t~ret9 := main(); {7363#true} is VALID [2018-11-18 23:47:21,895 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-18 23:47:21,895 INFO L273 TraceCheckUtils]: 6: Hoare triple {7365#(= main_~j~0 0)} assume true; {7365#(= main_~j~0 0)} is VALID [2018-11-18 23:47:21,896 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {7365#(= main_~j~0 0)} is VALID [2018-11-18 23:47:21,896 INFO L273 TraceCheckUtils]: 8: Hoare triple {7365#(= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {7366#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:21,896 INFO L273 TraceCheckUtils]: 9: Hoare triple {7366#(<= main_~j~0 1)} assume true; {7366#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:21,897 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {7366#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:21,897 INFO L273 TraceCheckUtils]: 11: Hoare triple {7366#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {7367#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:21,898 INFO L273 TraceCheckUtils]: 12: Hoare triple {7367#(<= main_~j~0 2)} assume true; {7367#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:21,898 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {7367#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:21,899 INFO L273 TraceCheckUtils]: 14: Hoare triple {7367#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {7368#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:21,899 INFO L273 TraceCheckUtils]: 15: Hoare triple {7368#(<= main_~j~0 3)} assume true; {7368#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:21,900 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {7368#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:21,901 INFO L273 TraceCheckUtils]: 17: Hoare triple {7368#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {7369#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:21,901 INFO L273 TraceCheckUtils]: 18: Hoare triple {7369#(<= main_~j~0 4)} assume true; {7369#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:21,902 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {7369#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:21,903 INFO L273 TraceCheckUtils]: 20: Hoare triple {7369#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {7370#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:21,903 INFO L273 TraceCheckUtils]: 21: Hoare triple {7370#(<= main_~j~0 5)} assume true; {7370#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:21,904 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {7370#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:21,904 INFO L273 TraceCheckUtils]: 23: Hoare triple {7370#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {7371#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:21,905 INFO L273 TraceCheckUtils]: 24: Hoare triple {7371#(<= main_~j~0 6)} assume true; {7371#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:21,905 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {7371#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:21,906 INFO L273 TraceCheckUtils]: 26: Hoare triple {7371#(<= main_~j~0 6)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {7372#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:21,907 INFO L273 TraceCheckUtils]: 27: Hoare triple {7372#(<= main_~j~0 7)} assume true; {7372#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:21,907 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {7372#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:21,908 INFO L273 TraceCheckUtils]: 29: Hoare triple {7372#(<= main_~j~0 7)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {7373#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:21,909 INFO L273 TraceCheckUtils]: 30: Hoare triple {7373#(<= main_~j~0 8)} assume true; {7373#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:21,909 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {7373#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:21,910 INFO L273 TraceCheckUtils]: 32: Hoare triple {7373#(<= main_~j~0 8)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {7374#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:21,910 INFO L273 TraceCheckUtils]: 33: Hoare triple {7374#(<= main_~j~0 9)} assume true; {7374#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:21,911 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {7374#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:21,912 INFO L273 TraceCheckUtils]: 35: Hoare triple {7374#(<= main_~j~0 9)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {7375#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:21,912 INFO L273 TraceCheckUtils]: 36: Hoare triple {7375#(<= main_~j~0 10)} assume true; {7375#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:21,913 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {7375#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:21,914 INFO L273 TraceCheckUtils]: 38: Hoare triple {7375#(<= main_~j~0 10)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {7376#(<= main_~j~0 11)} is VALID [2018-11-18 23:47:21,914 INFO L273 TraceCheckUtils]: 39: Hoare triple {7376#(<= main_~j~0 11)} assume true; {7376#(<= main_~j~0 11)} is VALID [2018-11-18 23:47:21,915 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {7376#(<= main_~j~0 11)} is VALID [2018-11-18 23:47:21,915 INFO L273 TraceCheckUtils]: 41: Hoare triple {7376#(<= main_~j~0 11)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {7377#(<= main_~j~0 12)} is VALID [2018-11-18 23:47:21,916 INFO L273 TraceCheckUtils]: 42: Hoare triple {7377#(<= main_~j~0 12)} assume true; {7377#(<= main_~j~0 12)} is VALID [2018-11-18 23:47:21,927 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {7377#(<= main_~j~0 12)} is VALID [2018-11-18 23:47:21,928 INFO L273 TraceCheckUtils]: 44: Hoare triple {7377#(<= main_~j~0 12)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {7378#(<= main_~j~0 13)} is VALID [2018-11-18 23:47:21,928 INFO L273 TraceCheckUtils]: 45: Hoare triple {7378#(<= main_~j~0 13)} assume true; {7378#(<= main_~j~0 13)} is VALID [2018-11-18 23:47:21,928 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {7378#(<= main_~j~0 13)} is VALID [2018-11-18 23:47:21,929 INFO L273 TraceCheckUtils]: 47: Hoare triple {7378#(<= main_~j~0 13)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {7379#(<= main_~j~0 14)} is VALID [2018-11-18 23:47:21,929 INFO L273 TraceCheckUtils]: 48: Hoare triple {7379#(<= main_~j~0 14)} assume true; {7379#(<= main_~j~0 14)} is VALID [2018-11-18 23:47:21,929 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {7379#(<= main_~j~0 14)} is VALID [2018-11-18 23:47:21,930 INFO L273 TraceCheckUtils]: 50: Hoare triple {7379#(<= main_~j~0 14)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {7380#(<= main_~j~0 15)} is VALID [2018-11-18 23:47:21,930 INFO L273 TraceCheckUtils]: 51: Hoare triple {7380#(<= main_~j~0 15)} assume true; {7380#(<= main_~j~0 15)} is VALID [2018-11-18 23:47:21,931 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {7380#(<= main_~j~0 15)} is VALID [2018-11-18 23:47:21,931 INFO L273 TraceCheckUtils]: 53: Hoare triple {7380#(<= main_~j~0 15)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {7381#(<= main_~j~0 16)} is VALID [2018-11-18 23:47:21,931 INFO L273 TraceCheckUtils]: 54: Hoare triple {7381#(<= main_~j~0 16)} assume true; {7381#(<= main_~j~0 16)} is VALID [2018-11-18 23:47:21,932 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {7381#(<= main_~j~0 16)} is VALID [2018-11-18 23:47:21,933 INFO L273 TraceCheckUtils]: 56: Hoare triple {7381#(<= main_~j~0 16)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {7382#(<= main_~j~0 17)} is VALID [2018-11-18 23:47:21,933 INFO L273 TraceCheckUtils]: 57: Hoare triple {7382#(<= main_~j~0 17)} assume true; {7382#(<= main_~j~0 17)} is VALID [2018-11-18 23:47:21,934 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {7382#(<= main_~j~0 17)} is VALID [2018-11-18 23:47:21,934 INFO L273 TraceCheckUtils]: 59: Hoare triple {7382#(<= main_~j~0 17)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {7383#(<= main_~j~0 18)} is VALID [2018-11-18 23:47:21,935 INFO L273 TraceCheckUtils]: 60: Hoare triple {7383#(<= main_~j~0 18)} assume true; {7383#(<= main_~j~0 18)} is VALID [2018-11-18 23:47:21,936 INFO L273 TraceCheckUtils]: 61: Hoare triple {7383#(<= main_~j~0 18)} assume !(~j~0 < 20); {7364#false} is VALID [2018-11-18 23:47:21,936 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-18 23:47:21,936 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 + 8 * ~i~0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + 8 * ~i~0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + 8 * ~i~0, 4);~i~0 := 10 + #t~mem5;havoc #t~mem5; {7364#false} is VALID [2018-11-18 23:47:21,936 INFO L273 TraceCheckUtils]: 64: Hoare triple {7364#false} assume true; {7364#false} is VALID [2018-11-18 23:47:21,936 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-18 23:47:21,937 INFO L273 TraceCheckUtils]: 66: Hoare triple {7364#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {7364#false} is VALID [2018-11-18 23:47:21,937 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-18 23:47:21,937 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 + 8 * ~b, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {7363#true} is VALID [2018-11-18 23:47:21,937 INFO L273 TraceCheckUtils]: 69: Hoare triple {7363#true} assume true; {7363#true} is VALID [2018-11-18 23:47:21,938 INFO L268 TraceCheckUtils]: 70: Hoare quadruple {7363#true} {7364#false} #59#return; {7364#false} is VALID [2018-11-18 23:47:21,938 INFO L273 TraceCheckUtils]: 71: Hoare triple {7364#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {7364#false} is VALID [2018-11-18 23:47:21,938 INFO L273 TraceCheckUtils]: 72: Hoare triple {7364#false} assume 0 == #t~ret8;havoc #t~ret8; {7364#false} is VALID [2018-11-18 23:47:21,938 INFO L273 TraceCheckUtils]: 73: Hoare triple {7364#false} assume !false; {7364#false} is VALID [2018-11-18 23:47:21,943 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-18 23:47:21,943 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:47:21,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 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-18 23:47:21,954 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-18 23:47:32,240 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 19 check-sat command(s) [2018-11-18 23:47:32,240 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-18 23:47:32,269 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:47:32,270 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:47:32,531 INFO L256 TraceCheckUtils]: 0: Hoare triple {7363#true} call ULTIMATE.init(); {7363#true} is VALID [2018-11-18 23:47:32,532 INFO L273 TraceCheckUtils]: 1: Hoare triple {7363#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {7363#true} is VALID [2018-11-18 23:47:32,532 INFO L273 TraceCheckUtils]: 2: Hoare triple {7363#true} assume true; {7363#true} is VALID [2018-11-18 23:47:32,532 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7363#true} {7363#true} #55#return; {7363#true} is VALID [2018-11-18 23:47:32,532 INFO L256 TraceCheckUtils]: 4: Hoare triple {7363#true} call #t~ret9 := main(); {7363#true} is VALID [2018-11-18 23:47:32,533 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-18 23:47:32,534 INFO L273 TraceCheckUtils]: 6: Hoare triple {7402#(<= main_~j~0 0)} assume true; {7402#(<= main_~j~0 0)} is VALID [2018-11-18 23:47:32,534 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {7402#(<= main_~j~0 0)} is VALID [2018-11-18 23:47:32,534 INFO L273 TraceCheckUtils]: 8: Hoare triple {7402#(<= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {7366#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:32,535 INFO L273 TraceCheckUtils]: 9: Hoare triple {7366#(<= main_~j~0 1)} assume true; {7366#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:32,535 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {7366#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:32,536 INFO L273 TraceCheckUtils]: 11: Hoare triple {7366#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {7367#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:32,536 INFO L273 TraceCheckUtils]: 12: Hoare triple {7367#(<= main_~j~0 2)} assume true; {7367#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:32,537 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {7367#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:32,537 INFO L273 TraceCheckUtils]: 14: Hoare triple {7367#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {7368#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:32,538 INFO L273 TraceCheckUtils]: 15: Hoare triple {7368#(<= main_~j~0 3)} assume true; {7368#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:32,539 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {7368#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:32,539 INFO L273 TraceCheckUtils]: 17: Hoare triple {7368#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {7369#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:32,540 INFO L273 TraceCheckUtils]: 18: Hoare triple {7369#(<= main_~j~0 4)} assume true; {7369#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:32,540 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {7369#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:32,541 INFO L273 TraceCheckUtils]: 20: Hoare triple {7369#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {7370#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:32,542 INFO L273 TraceCheckUtils]: 21: Hoare triple {7370#(<= main_~j~0 5)} assume true; {7370#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:32,542 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {7370#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:32,543 INFO L273 TraceCheckUtils]: 23: Hoare triple {7370#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {7371#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:32,544 INFO L273 TraceCheckUtils]: 24: Hoare triple {7371#(<= main_~j~0 6)} assume true; {7371#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:32,544 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {7371#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:32,545 INFO L273 TraceCheckUtils]: 26: Hoare triple {7371#(<= main_~j~0 6)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {7372#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:32,545 INFO L273 TraceCheckUtils]: 27: Hoare triple {7372#(<= main_~j~0 7)} assume true; {7372#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:32,546 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {7372#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:32,547 INFO L273 TraceCheckUtils]: 29: Hoare triple {7372#(<= main_~j~0 7)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {7373#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:32,547 INFO L273 TraceCheckUtils]: 30: Hoare triple {7373#(<= main_~j~0 8)} assume true; {7373#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:32,548 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {7373#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:32,548 INFO L273 TraceCheckUtils]: 32: Hoare triple {7373#(<= main_~j~0 8)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {7374#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:32,549 INFO L273 TraceCheckUtils]: 33: Hoare triple {7374#(<= main_~j~0 9)} assume true; {7374#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:32,550 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {7374#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:32,550 INFO L273 TraceCheckUtils]: 35: Hoare triple {7374#(<= main_~j~0 9)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {7375#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:32,551 INFO L273 TraceCheckUtils]: 36: Hoare triple {7375#(<= main_~j~0 10)} assume true; {7375#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:32,551 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {7375#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:32,552 INFO L273 TraceCheckUtils]: 38: Hoare triple {7375#(<= main_~j~0 10)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {7376#(<= main_~j~0 11)} is VALID [2018-11-18 23:47:32,553 INFO L273 TraceCheckUtils]: 39: Hoare triple {7376#(<= main_~j~0 11)} assume true; {7376#(<= main_~j~0 11)} is VALID [2018-11-18 23:47:32,553 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {7376#(<= main_~j~0 11)} is VALID [2018-11-18 23:47:32,554 INFO L273 TraceCheckUtils]: 41: Hoare triple {7376#(<= main_~j~0 11)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {7377#(<= main_~j~0 12)} is VALID [2018-11-18 23:47:32,554 INFO L273 TraceCheckUtils]: 42: Hoare triple {7377#(<= main_~j~0 12)} assume true; {7377#(<= main_~j~0 12)} is VALID [2018-11-18 23:47:32,555 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {7377#(<= main_~j~0 12)} is VALID [2018-11-18 23:47:32,556 INFO L273 TraceCheckUtils]: 44: Hoare triple {7377#(<= main_~j~0 12)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {7378#(<= main_~j~0 13)} is VALID [2018-11-18 23:47:32,556 INFO L273 TraceCheckUtils]: 45: Hoare triple {7378#(<= main_~j~0 13)} assume true; {7378#(<= main_~j~0 13)} is VALID [2018-11-18 23:47:32,557 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {7378#(<= main_~j~0 13)} is VALID [2018-11-18 23:47:32,558 INFO L273 TraceCheckUtils]: 47: Hoare triple {7378#(<= main_~j~0 13)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {7379#(<= main_~j~0 14)} is VALID [2018-11-18 23:47:32,558 INFO L273 TraceCheckUtils]: 48: Hoare triple {7379#(<= main_~j~0 14)} assume true; {7379#(<= main_~j~0 14)} is VALID [2018-11-18 23:47:32,559 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {7379#(<= main_~j~0 14)} is VALID [2018-11-18 23:47:32,559 INFO L273 TraceCheckUtils]: 50: Hoare triple {7379#(<= main_~j~0 14)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {7380#(<= main_~j~0 15)} is VALID [2018-11-18 23:47:32,560 INFO L273 TraceCheckUtils]: 51: Hoare triple {7380#(<= main_~j~0 15)} assume true; {7380#(<= main_~j~0 15)} is VALID [2018-11-18 23:47:32,561 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {7380#(<= main_~j~0 15)} is VALID [2018-11-18 23:47:32,561 INFO L273 TraceCheckUtils]: 53: Hoare triple {7380#(<= main_~j~0 15)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {7381#(<= main_~j~0 16)} is VALID [2018-11-18 23:47:32,562 INFO L273 TraceCheckUtils]: 54: Hoare triple {7381#(<= main_~j~0 16)} assume true; {7381#(<= main_~j~0 16)} is VALID [2018-11-18 23:47:32,562 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {7381#(<= main_~j~0 16)} is VALID [2018-11-18 23:47:32,563 INFO L273 TraceCheckUtils]: 56: Hoare triple {7381#(<= main_~j~0 16)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {7382#(<= main_~j~0 17)} is VALID [2018-11-18 23:47:32,564 INFO L273 TraceCheckUtils]: 57: Hoare triple {7382#(<= main_~j~0 17)} assume true; {7382#(<= main_~j~0 17)} is VALID [2018-11-18 23:47:32,564 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {7382#(<= main_~j~0 17)} is VALID [2018-11-18 23:47:32,565 INFO L273 TraceCheckUtils]: 59: Hoare triple {7382#(<= main_~j~0 17)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {7383#(<= main_~j~0 18)} is VALID [2018-11-18 23:47:32,565 INFO L273 TraceCheckUtils]: 60: Hoare triple {7383#(<= main_~j~0 18)} assume true; {7383#(<= main_~j~0 18)} is VALID [2018-11-18 23:47:32,566 INFO L273 TraceCheckUtils]: 61: Hoare triple {7383#(<= main_~j~0 18)} assume !(~j~0 < 20); {7364#false} is VALID [2018-11-18 23:47:32,566 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-18 23:47:32,567 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 + 8 * ~i~0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + 8 * ~i~0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + 8 * ~i~0, 4);~i~0 := 10 + #t~mem5;havoc #t~mem5; {7364#false} is VALID [2018-11-18 23:47:32,567 INFO L273 TraceCheckUtils]: 64: Hoare triple {7364#false} assume true; {7364#false} is VALID [2018-11-18 23:47:32,567 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-18 23:47:32,567 INFO L273 TraceCheckUtils]: 66: Hoare triple {7364#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {7364#false} is VALID [2018-11-18 23:47:32,567 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-18 23:47:32,568 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 + 8 * ~b, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {7364#false} is VALID [2018-11-18 23:47:32,568 INFO L273 TraceCheckUtils]: 69: Hoare triple {7364#false} assume true; {7364#false} is VALID [2018-11-18 23:47:32,568 INFO L268 TraceCheckUtils]: 70: Hoare quadruple {7364#false} {7364#false} #59#return; {7364#false} is VALID [2018-11-18 23:47:32,568 INFO L273 TraceCheckUtils]: 71: Hoare triple {7364#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {7364#false} is VALID [2018-11-18 23:47:32,568 INFO L273 TraceCheckUtils]: 72: Hoare triple {7364#false} assume 0 == #t~ret8;havoc #t~ret8; {7364#false} is VALID [2018-11-18 23:47:32,569 INFO L273 TraceCheckUtils]: 73: Hoare triple {7364#false} assume !false; {7364#false} is VALID [2018-11-18 23:47:32,573 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-18 23:47:32,598 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:47:32,599 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 21] total 22 [2018-11-18 23:47:32,599 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 74 [2018-11-18 23:47:32,599 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:47:32,599 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states. [2018-11-18 23:47:32,682 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-18 23:47:32,683 INFO L459 AbstractCegarLoop]: Interpolant automaton has 22 states [2018-11-18 23:47:32,683 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2018-11-18 23:47:32,683 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=231, Invalid=231, Unknown=0, NotChecked=0, Total=462 [2018-11-18 23:47:32,684 INFO L87 Difference]: Start difference. First operand 75 states and 76 transitions. Second operand 22 states. [2018-11-18 23:47:33,109 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:47:33,109 INFO L93 Difference]: Finished difference Result 92 states and 94 transitions. [2018-11-18 23:47:33,110 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2018-11-18 23:47:33,110 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 74 [2018-11-18 23:47:33,110 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:47:33,110 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2018-11-18 23:47:33,112 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 94 transitions. [2018-11-18 23:47:33,113 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2018-11-18 23:47:33,114 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 94 transitions. [2018-11-18 23:47:33,114 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 94 transitions. [2018-11-18 23:47:33,210 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-18 23:47:33,212 INFO L225 Difference]: With dead ends: 92 [2018-11-18 23:47:33,212 INFO L226 Difference]: Without dead ends: 79 [2018-11-18 23:47:33,213 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 94 GetRequests, 74 SyntacticMatches, 0 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=231, Invalid=231, Unknown=0, NotChecked=0, Total=462 [2018-11-18 23:47:33,213 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 79 states. [2018-11-18 23:47:33,232 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 79 to 78. [2018-11-18 23:47:33,232 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:47:33,232 INFO L82 GeneralOperation]: Start isEquivalent. First operand 79 states. Second operand 78 states. [2018-11-18 23:47:33,232 INFO L74 IsIncluded]: Start isIncluded. First operand 79 states. Second operand 78 states. [2018-11-18 23:47:33,233 INFO L87 Difference]: Start difference. First operand 79 states. Second operand 78 states. [2018-11-18 23:47:33,234 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:47:33,235 INFO L93 Difference]: Finished difference Result 79 states and 80 transitions. [2018-11-18 23:47:33,235 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 80 transitions. [2018-11-18 23:47:33,235 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:47:33,235 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:47:33,235 INFO L74 IsIncluded]: Start isIncluded. First operand 78 states. Second operand 79 states. [2018-11-18 23:47:33,236 INFO L87 Difference]: Start difference. First operand 78 states. Second operand 79 states. [2018-11-18 23:47:33,237 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:47:33,237 INFO L93 Difference]: Finished difference Result 79 states and 80 transitions. [2018-11-18 23:47:33,237 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 80 transitions. [2018-11-18 23:47:33,238 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:47:33,238 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:47:33,238 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:47:33,238 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:47:33,238 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 78 states. [2018-11-18 23:47:33,239 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 79 transitions. [2018-11-18 23:47:33,240 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 79 transitions. Word has length 74 [2018-11-18 23:47:33,240 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:47:33,240 INFO L480 AbstractCegarLoop]: Abstraction has 78 states and 79 transitions. [2018-11-18 23:47:33,240 INFO L481 AbstractCegarLoop]: Interpolant automaton has 22 states. [2018-11-18 23:47:33,240 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 79 transitions. [2018-11-18 23:47:33,241 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 78 [2018-11-18 23:47:33,241 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:47:33,241 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-18 23:47:33,241 INFO L423 AbstractCegarLoop]: === Iteration 21 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:47:33,242 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:47:33,242 INFO L82 PathProgramCache]: Analyzing trace with hash -1511360013, now seen corresponding path program 19 times [2018-11-18 23:47:33,242 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:47:33,242 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:47:33,243 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:47:33,243 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-18 23:47:33,243 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:47:33,259 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:47:33,870 INFO L256 TraceCheckUtils]: 0: Hoare triple {7994#true} call ULTIMATE.init(); {7994#true} is VALID [2018-11-18 23:47:33,871 INFO L273 TraceCheckUtils]: 1: Hoare triple {7994#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {7994#true} is VALID [2018-11-18 23:47:33,871 INFO L273 TraceCheckUtils]: 2: Hoare triple {7994#true} assume true; {7994#true} is VALID [2018-11-18 23:47:33,871 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7994#true} {7994#true} #55#return; {7994#true} is VALID [2018-11-18 23:47:33,871 INFO L256 TraceCheckUtils]: 4: Hoare triple {7994#true} call #t~ret9 := main(); {7994#true} is VALID [2018-11-18 23:47:33,872 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-18 23:47:33,872 INFO L273 TraceCheckUtils]: 6: Hoare triple {7996#(= main_~j~0 0)} assume true; {7996#(= main_~j~0 0)} is VALID [2018-11-18 23:47:33,873 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {7996#(= main_~j~0 0)} is VALID [2018-11-18 23:47:33,873 INFO L273 TraceCheckUtils]: 8: Hoare triple {7996#(= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {7997#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:33,874 INFO L273 TraceCheckUtils]: 9: Hoare triple {7997#(<= main_~j~0 1)} assume true; {7997#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:33,874 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {7997#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:33,875 INFO L273 TraceCheckUtils]: 11: Hoare triple {7997#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {7998#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:33,875 INFO L273 TraceCheckUtils]: 12: Hoare triple {7998#(<= main_~j~0 2)} assume true; {7998#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:33,875 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {7998#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:33,876 INFO L273 TraceCheckUtils]: 14: Hoare triple {7998#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {7999#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:33,876 INFO L273 TraceCheckUtils]: 15: Hoare triple {7999#(<= main_~j~0 3)} assume true; {7999#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:33,876 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {7999#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:33,877 INFO L273 TraceCheckUtils]: 17: Hoare triple {7999#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {8000#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:33,877 INFO L273 TraceCheckUtils]: 18: Hoare triple {8000#(<= main_~j~0 4)} assume true; {8000#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:33,878 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {8000#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:33,879 INFO L273 TraceCheckUtils]: 20: Hoare triple {8000#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {8001#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:33,879 INFO L273 TraceCheckUtils]: 21: Hoare triple {8001#(<= main_~j~0 5)} assume true; {8001#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:33,880 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {8001#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:33,880 INFO L273 TraceCheckUtils]: 23: Hoare triple {8001#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {8002#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:33,881 INFO L273 TraceCheckUtils]: 24: Hoare triple {8002#(<= main_~j~0 6)} assume true; {8002#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:33,882 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {8002#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:33,882 INFO L273 TraceCheckUtils]: 26: Hoare triple {8002#(<= main_~j~0 6)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {8003#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:33,883 INFO L273 TraceCheckUtils]: 27: Hoare triple {8003#(<= main_~j~0 7)} assume true; {8003#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:33,883 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {8003#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:33,884 INFO L273 TraceCheckUtils]: 29: Hoare triple {8003#(<= main_~j~0 7)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {8004#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:33,885 INFO L273 TraceCheckUtils]: 30: Hoare triple {8004#(<= main_~j~0 8)} assume true; {8004#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:33,885 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {8004#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:33,886 INFO L273 TraceCheckUtils]: 32: Hoare triple {8004#(<= main_~j~0 8)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {8005#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:33,886 INFO L273 TraceCheckUtils]: 33: Hoare triple {8005#(<= main_~j~0 9)} assume true; {8005#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:33,887 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {8005#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:33,888 INFO L273 TraceCheckUtils]: 35: Hoare triple {8005#(<= main_~j~0 9)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {8006#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:33,888 INFO L273 TraceCheckUtils]: 36: Hoare triple {8006#(<= main_~j~0 10)} assume true; {8006#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:33,889 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {8006#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:33,890 INFO L273 TraceCheckUtils]: 38: Hoare triple {8006#(<= main_~j~0 10)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {8007#(<= main_~j~0 11)} is VALID [2018-11-18 23:47:33,890 INFO L273 TraceCheckUtils]: 39: Hoare triple {8007#(<= main_~j~0 11)} assume true; {8007#(<= main_~j~0 11)} is VALID [2018-11-18 23:47:33,891 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {8007#(<= main_~j~0 11)} is VALID [2018-11-18 23:47:33,891 INFO L273 TraceCheckUtils]: 41: Hoare triple {8007#(<= main_~j~0 11)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {8008#(<= main_~j~0 12)} is VALID [2018-11-18 23:47:33,892 INFO L273 TraceCheckUtils]: 42: Hoare triple {8008#(<= main_~j~0 12)} assume true; {8008#(<= main_~j~0 12)} is VALID [2018-11-18 23:47:33,892 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {8008#(<= main_~j~0 12)} is VALID [2018-11-18 23:47:33,893 INFO L273 TraceCheckUtils]: 44: Hoare triple {8008#(<= main_~j~0 12)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {8009#(<= main_~j~0 13)} is VALID [2018-11-18 23:47:33,894 INFO L273 TraceCheckUtils]: 45: Hoare triple {8009#(<= main_~j~0 13)} assume true; {8009#(<= main_~j~0 13)} is VALID [2018-11-18 23:47:33,894 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {8009#(<= main_~j~0 13)} is VALID [2018-11-18 23:47:33,895 INFO L273 TraceCheckUtils]: 47: Hoare triple {8009#(<= main_~j~0 13)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {8010#(<= main_~j~0 14)} is VALID [2018-11-18 23:47:33,896 INFO L273 TraceCheckUtils]: 48: Hoare triple {8010#(<= main_~j~0 14)} assume true; {8010#(<= main_~j~0 14)} is VALID [2018-11-18 23:47:33,896 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {8010#(<= main_~j~0 14)} is VALID [2018-11-18 23:47:33,897 INFO L273 TraceCheckUtils]: 50: Hoare triple {8010#(<= main_~j~0 14)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {8011#(<= main_~j~0 15)} is VALID [2018-11-18 23:47:33,897 INFO L273 TraceCheckUtils]: 51: Hoare triple {8011#(<= main_~j~0 15)} assume true; {8011#(<= main_~j~0 15)} is VALID [2018-11-18 23:47:33,898 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {8011#(<= main_~j~0 15)} is VALID [2018-11-18 23:47:33,899 INFO L273 TraceCheckUtils]: 53: Hoare triple {8011#(<= main_~j~0 15)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {8012#(<= main_~j~0 16)} is VALID [2018-11-18 23:47:33,899 INFO L273 TraceCheckUtils]: 54: Hoare triple {8012#(<= main_~j~0 16)} assume true; {8012#(<= main_~j~0 16)} is VALID [2018-11-18 23:47:33,900 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {8012#(<= main_~j~0 16)} is VALID [2018-11-18 23:47:33,900 INFO L273 TraceCheckUtils]: 56: Hoare triple {8012#(<= main_~j~0 16)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {8013#(<= main_~j~0 17)} is VALID [2018-11-18 23:47:33,901 INFO L273 TraceCheckUtils]: 57: Hoare triple {8013#(<= main_~j~0 17)} assume true; {8013#(<= main_~j~0 17)} is VALID [2018-11-18 23:47:33,901 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {8013#(<= main_~j~0 17)} is VALID [2018-11-18 23:47:33,902 INFO L273 TraceCheckUtils]: 59: Hoare triple {8013#(<= main_~j~0 17)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {8014#(<= main_~j~0 18)} is VALID [2018-11-18 23:47:33,903 INFO L273 TraceCheckUtils]: 60: Hoare triple {8014#(<= main_~j~0 18)} assume true; {8014#(<= main_~j~0 18)} is VALID [2018-11-18 23:47:33,903 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {8014#(<= main_~j~0 18)} is VALID [2018-11-18 23:47:33,904 INFO L273 TraceCheckUtils]: 62: Hoare triple {8014#(<= main_~j~0 18)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {8015#(<= main_~j~0 19)} is VALID [2018-11-18 23:47:33,905 INFO L273 TraceCheckUtils]: 63: Hoare triple {8015#(<= main_~j~0 19)} assume true; {8015#(<= main_~j~0 19)} is VALID [2018-11-18 23:47:33,905 INFO L273 TraceCheckUtils]: 64: Hoare triple {8015#(<= main_~j~0 19)} assume !(~j~0 < 20); {7995#false} is VALID [2018-11-18 23:47:33,905 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-18 23:47:33,906 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 + 8 * ~i~0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + 8 * ~i~0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + 8 * ~i~0, 4);~i~0 := 10 + #t~mem5;havoc #t~mem5; {7995#false} is VALID [2018-11-18 23:47:33,906 INFO L273 TraceCheckUtils]: 67: Hoare triple {7995#false} assume true; {7995#false} is VALID [2018-11-18 23:47:33,906 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-18 23:47:33,906 INFO L273 TraceCheckUtils]: 69: Hoare triple {7995#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {7995#false} is VALID [2018-11-18 23:47:33,907 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-18 23:47:33,907 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 + 8 * ~b, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {7994#true} is VALID [2018-11-18 23:47:33,907 INFO L273 TraceCheckUtils]: 72: Hoare triple {7994#true} assume true; {7994#true} is VALID [2018-11-18 23:47:33,907 INFO L268 TraceCheckUtils]: 73: Hoare quadruple {7994#true} {7995#false} #59#return; {7995#false} is VALID [2018-11-18 23:47:33,907 INFO L273 TraceCheckUtils]: 74: Hoare triple {7995#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {7995#false} is VALID [2018-11-18 23:47:33,908 INFO L273 TraceCheckUtils]: 75: Hoare triple {7995#false} assume 0 == #t~ret8;havoc #t~ret8; {7995#false} is VALID [2018-11-18 23:47:33,908 INFO L273 TraceCheckUtils]: 76: Hoare triple {7995#false} assume !false; {7995#false} is VALID [2018-11-18 23:47:33,913 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-18 23:47:33,913 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:47:33,913 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-18 23:47:33,922 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:47:33,962 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:47:33,978 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:47:33,979 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:47:34,152 INFO L256 TraceCheckUtils]: 0: Hoare triple {7994#true} call ULTIMATE.init(); {7994#true} is VALID [2018-11-18 23:47:34,152 INFO L273 TraceCheckUtils]: 1: Hoare triple {7994#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {7994#true} is VALID [2018-11-18 23:47:34,153 INFO L273 TraceCheckUtils]: 2: Hoare triple {7994#true} assume true; {7994#true} is VALID [2018-11-18 23:47:34,153 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7994#true} {7994#true} #55#return; {7994#true} is VALID [2018-11-18 23:47:34,153 INFO L256 TraceCheckUtils]: 4: Hoare triple {7994#true} call #t~ret9 := main(); {7994#true} is VALID [2018-11-18 23:47:34,154 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-18 23:47:34,154 INFO L273 TraceCheckUtils]: 6: Hoare triple {8034#(<= main_~j~0 0)} assume true; {8034#(<= main_~j~0 0)} is VALID [2018-11-18 23:47:34,155 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {8034#(<= main_~j~0 0)} is VALID [2018-11-18 23:47:34,155 INFO L273 TraceCheckUtils]: 8: Hoare triple {8034#(<= main_~j~0 0)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {7997#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:34,156 INFO L273 TraceCheckUtils]: 9: Hoare triple {7997#(<= main_~j~0 1)} assume true; {7997#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:34,156 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {7997#(<= main_~j~0 1)} is VALID [2018-11-18 23:47:34,156 INFO L273 TraceCheckUtils]: 11: Hoare triple {7997#(<= main_~j~0 1)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {7998#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:34,157 INFO L273 TraceCheckUtils]: 12: Hoare triple {7998#(<= main_~j~0 2)} assume true; {7998#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:34,157 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {7998#(<= main_~j~0 2)} is VALID [2018-11-18 23:47:34,158 INFO L273 TraceCheckUtils]: 14: Hoare triple {7998#(<= main_~j~0 2)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {7999#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:34,159 INFO L273 TraceCheckUtils]: 15: Hoare triple {7999#(<= main_~j~0 3)} assume true; {7999#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:34,159 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {7999#(<= main_~j~0 3)} is VALID [2018-11-18 23:47:34,160 INFO L273 TraceCheckUtils]: 17: Hoare triple {7999#(<= main_~j~0 3)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {8000#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:34,160 INFO L273 TraceCheckUtils]: 18: Hoare triple {8000#(<= main_~j~0 4)} assume true; {8000#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:34,161 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {8000#(<= main_~j~0 4)} is VALID [2018-11-18 23:47:34,162 INFO L273 TraceCheckUtils]: 20: Hoare triple {8000#(<= main_~j~0 4)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {8001#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:34,162 INFO L273 TraceCheckUtils]: 21: Hoare triple {8001#(<= main_~j~0 5)} assume true; {8001#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:34,163 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {8001#(<= main_~j~0 5)} is VALID [2018-11-18 23:47:34,163 INFO L273 TraceCheckUtils]: 23: Hoare triple {8001#(<= main_~j~0 5)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {8002#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:34,164 INFO L273 TraceCheckUtils]: 24: Hoare triple {8002#(<= main_~j~0 6)} assume true; {8002#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:34,164 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {8002#(<= main_~j~0 6)} is VALID [2018-11-18 23:47:34,165 INFO L273 TraceCheckUtils]: 26: Hoare triple {8002#(<= main_~j~0 6)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {8003#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:34,166 INFO L273 TraceCheckUtils]: 27: Hoare triple {8003#(<= main_~j~0 7)} assume true; {8003#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:34,166 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {8003#(<= main_~j~0 7)} is VALID [2018-11-18 23:47:34,167 INFO L273 TraceCheckUtils]: 29: Hoare triple {8003#(<= main_~j~0 7)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {8004#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:34,168 INFO L273 TraceCheckUtils]: 30: Hoare triple {8004#(<= main_~j~0 8)} assume true; {8004#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:34,168 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {8004#(<= main_~j~0 8)} is VALID [2018-11-18 23:47:34,169 INFO L273 TraceCheckUtils]: 32: Hoare triple {8004#(<= main_~j~0 8)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {8005#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:34,169 INFO L273 TraceCheckUtils]: 33: Hoare triple {8005#(<= main_~j~0 9)} assume true; {8005#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:34,170 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {8005#(<= main_~j~0 9)} is VALID [2018-11-18 23:47:34,171 INFO L273 TraceCheckUtils]: 35: Hoare triple {8005#(<= main_~j~0 9)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {8006#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:34,171 INFO L273 TraceCheckUtils]: 36: Hoare triple {8006#(<= main_~j~0 10)} assume true; {8006#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:34,172 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {8006#(<= main_~j~0 10)} is VALID [2018-11-18 23:47:34,172 INFO L273 TraceCheckUtils]: 38: Hoare triple {8006#(<= main_~j~0 10)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {8007#(<= main_~j~0 11)} is VALID [2018-11-18 23:47:34,173 INFO L273 TraceCheckUtils]: 39: Hoare triple {8007#(<= main_~j~0 11)} assume true; {8007#(<= main_~j~0 11)} is VALID [2018-11-18 23:47:34,173 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {8007#(<= main_~j~0 11)} is VALID [2018-11-18 23:47:34,174 INFO L273 TraceCheckUtils]: 41: Hoare triple {8007#(<= main_~j~0 11)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {8008#(<= main_~j~0 12)} is VALID [2018-11-18 23:47:34,175 INFO L273 TraceCheckUtils]: 42: Hoare triple {8008#(<= main_~j~0 12)} assume true; {8008#(<= main_~j~0 12)} is VALID [2018-11-18 23:47:34,175 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {8008#(<= main_~j~0 12)} is VALID [2018-11-18 23:47:34,176 INFO L273 TraceCheckUtils]: 44: Hoare triple {8008#(<= main_~j~0 12)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {8009#(<= main_~j~0 13)} is VALID [2018-11-18 23:47:34,177 INFO L273 TraceCheckUtils]: 45: Hoare triple {8009#(<= main_~j~0 13)} assume true; {8009#(<= main_~j~0 13)} is VALID [2018-11-18 23:47:34,177 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {8009#(<= main_~j~0 13)} is VALID [2018-11-18 23:47:34,178 INFO L273 TraceCheckUtils]: 47: Hoare triple {8009#(<= main_~j~0 13)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {8010#(<= main_~j~0 14)} is VALID [2018-11-18 23:47:34,178 INFO L273 TraceCheckUtils]: 48: Hoare triple {8010#(<= main_~j~0 14)} assume true; {8010#(<= main_~j~0 14)} is VALID [2018-11-18 23:47:34,179 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {8010#(<= main_~j~0 14)} is VALID [2018-11-18 23:47:34,180 INFO L273 TraceCheckUtils]: 50: Hoare triple {8010#(<= main_~j~0 14)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {8011#(<= main_~j~0 15)} is VALID [2018-11-18 23:47:34,180 INFO L273 TraceCheckUtils]: 51: Hoare triple {8011#(<= main_~j~0 15)} assume true; {8011#(<= main_~j~0 15)} is VALID [2018-11-18 23:47:34,181 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {8011#(<= main_~j~0 15)} is VALID [2018-11-18 23:47:34,181 INFO L273 TraceCheckUtils]: 53: Hoare triple {8011#(<= main_~j~0 15)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {8012#(<= main_~j~0 16)} is VALID [2018-11-18 23:47:34,182 INFO L273 TraceCheckUtils]: 54: Hoare triple {8012#(<= main_~j~0 16)} assume true; {8012#(<= main_~j~0 16)} is VALID [2018-11-18 23:47:34,183 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {8012#(<= main_~j~0 16)} is VALID [2018-11-18 23:47:34,183 INFO L273 TraceCheckUtils]: 56: Hoare triple {8012#(<= main_~j~0 16)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {8013#(<= main_~j~0 17)} is VALID [2018-11-18 23:47:34,184 INFO L273 TraceCheckUtils]: 57: Hoare triple {8013#(<= main_~j~0 17)} assume true; {8013#(<= main_~j~0 17)} is VALID [2018-11-18 23:47:34,184 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {8013#(<= main_~j~0 17)} is VALID [2018-11-18 23:47:34,185 INFO L273 TraceCheckUtils]: 59: Hoare triple {8013#(<= main_~j~0 17)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {8014#(<= main_~j~0 18)} is VALID [2018-11-18 23:47:34,186 INFO L273 TraceCheckUtils]: 60: Hoare triple {8014#(<= main_~j~0 18)} assume true; {8014#(<= main_~j~0 18)} is VALID [2018-11-18 23:47:34,186 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 + 8 * ~j~0, 4);havoc #t~nondet2;assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#ad1~0.base, 4 + (~#ad1~0.offset + 8 * ~j~0), 4);havoc #t~nondet3; {8014#(<= main_~j~0 18)} is VALID [2018-11-18 23:47:34,187 INFO L273 TraceCheckUtils]: 62: Hoare triple {8014#(<= main_~j~0 18)} #t~post1 := ~j~0;~j~0 := 1 + #t~post1;havoc #t~post1; {8015#(<= main_~j~0 19)} is VALID [2018-11-18 23:47:34,187 INFO L273 TraceCheckUtils]: 63: Hoare triple {8015#(<= main_~j~0 19)} assume true; {8015#(<= main_~j~0 19)} is VALID [2018-11-18 23:47:34,188 INFO L273 TraceCheckUtils]: 64: Hoare triple {8015#(<= main_~j~0 19)} assume !(~j~0 < 20); {7995#false} is VALID [2018-11-18 23:47:34,188 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-18 23:47:34,189 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 + 8 * ~i~0, 4);~pa~0.base, ~pa~0.offset := ~#ad1~0.base, ~#ad1~0.offset + 8 * ~i~0;call #t~mem5 := read~int(~ad2~0.base, ~ad2~0.offset + 8 * ~i~0, 4);~i~0 := 10 + #t~mem5;havoc #t~mem5; {7995#false} is VALID [2018-11-18 23:47:34,189 INFO L273 TraceCheckUtils]: 67: Hoare triple {7995#false} assume true; {7995#false} is VALID [2018-11-18 23:47:34,189 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-18 23:47:34,189 INFO L273 TraceCheckUtils]: 69: Hoare triple {7995#false} assume !(~i~0 < #t~mem6);havoc #t~mem6; {7995#false} is VALID [2018-11-18 23:47:34,189 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-18 23:47:34,190 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 + 8 * ~b, 4);#res := (if #t~mem0 == ~b then 1 else 0);havoc #t~mem0; {7995#false} is VALID [2018-11-18 23:47:34,190 INFO L273 TraceCheckUtils]: 72: Hoare triple {7995#false} assume true; {7995#false} is VALID [2018-11-18 23:47:34,190 INFO L268 TraceCheckUtils]: 73: Hoare quadruple {7995#false} {7995#false} #59#return; {7995#false} is VALID [2018-11-18 23:47:34,190 INFO L273 TraceCheckUtils]: 74: Hoare triple {7995#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647; {7995#false} is VALID [2018-11-18 23:47:34,190 INFO L273 TraceCheckUtils]: 75: Hoare triple {7995#false} assume 0 == #t~ret8;havoc #t~ret8; {7995#false} is VALID [2018-11-18 23:47:34,191 INFO L273 TraceCheckUtils]: 76: Hoare triple {7995#false} assume !false; {7995#false} is VALID [2018-11-18 23:47:34,195 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-18 23:47:34,215 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:47:34,215 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [22, 22] total 23 [2018-11-18 23:47:34,215 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 77 [2018-11-18 23:47:34,216 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:47:34,216 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states. [2018-11-18 23:47:34,300 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-18 23:47:34,300 INFO L459 AbstractCegarLoop]: Interpolant automaton has 23 states [2018-11-18 23:47:34,300 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2018-11-18 23:47:34,301 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=253, Invalid=253, Unknown=0, NotChecked=0, Total=506 [2018-11-18 23:47:34,301 INFO L87 Difference]: Start difference. First operand 78 states and 79 transitions. Second operand 23 states. [2018-11-18 23:47:34,712 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:47:34,712 INFO L93 Difference]: Finished difference Result 94 states and 96 transitions. [2018-11-18 23:47:34,713 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2018-11-18 23:47:34,713 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 77 [2018-11-18 23:47:34,713 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:47:34,713 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-18 23:47:34,715 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 96 transitions. [2018-11-18 23:47:34,715 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-18 23:47:34,716 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 96 transitions. [2018-11-18 23:47:34,716 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states and 96 transitions. [2018-11-18 23:47:34,840 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-18 23:47:34,841 INFO L225 Difference]: With dead ends: 94 [2018-11-18 23:47:34,841 INFO L226 Difference]: Without dead ends: 81 [2018-11-18 23:47:34,842 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 98 GetRequests, 77 SyntacticMatches, 0 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 36 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=253, Invalid=253, Unknown=0, NotChecked=0, Total=506 [2018-11-18 23:47:34,843 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2018-11-18 23:47:34,875 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 81. [2018-11-18 23:47:34,875 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:47:34,875 INFO L82 GeneralOperation]: Start isEquivalent. First operand 81 states. Second operand 81 states. [2018-11-18 23:47:34,875 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand 81 states. [2018-11-18 23:47:34,875 INFO L87 Difference]: Start difference. First operand 81 states. Second operand 81 states. [2018-11-18 23:47:34,877 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:47:34,877 INFO L93 Difference]: Finished difference Result 81 states and 82 transitions. [2018-11-18 23:47:34,877 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 82 transitions. [2018-11-18 23:47:34,877 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:47:34,877 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:47:34,877 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand 81 states. [2018-11-18 23:47:34,877 INFO L87 Difference]: Start difference. First operand 81 states. Second operand 81 states. [2018-11-18 23:47:34,879 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:47:34,879 INFO L93 Difference]: Finished difference Result 81 states and 82 transitions. [2018-11-18 23:47:34,879 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 82 transitions. [2018-11-18 23:47:34,879 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:47:34,879 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:47:34,879 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:47:34,880 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:47:34,880 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 81 states. [2018-11-18 23:47:34,881 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 81 states to 81 states and 82 transitions. [2018-11-18 23:47:34,881 INFO L78 Accepts]: Start accepts. Automaton has 81 states and 82 transitions. Word has length 77 [2018-11-18 23:47:34,881 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:47:34,881 INFO L480 AbstractCegarLoop]: Abstraction has 81 states and 82 transitions. [2018-11-18 23:47:34,881 INFO L481 AbstractCegarLoop]: Interpolant automaton has 23 states. [2018-11-18 23:47:34,881 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 82 transitions. [2018-11-18 23:47:34,882 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2018-11-18 23:47:34,882 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:47:34,882 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-18 23:47:34,882 INFO L423 AbstractCegarLoop]: === Iteration 22 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:47:34,883 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:47:34,883 INFO L82 PathProgramCache]: Analyzing trace with hash -850821340, now seen corresponding path program 20 times [2018-11-18 23:47:34,883 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:47:34,883 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:47:34,884 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:47:34,884 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:47:34,884 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:47:34,940 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-18 23:47:34,990 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-18 23:47:35,026 INFO L442 BasicCegarLoop]: Counterexample might be feasible [2018-11-18 23:47:35,077 WARN L170 areAnnotationChecker]: ULTIMATE.initENTRY has no Hoare annotation [2018-11-18 23:47:35,077 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2018-11-18 23:47:35,078 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2018-11-18 23:47:35,078 WARN L170 areAnnotationChecker]: mainENTRY has no Hoare annotation [2018-11-18 23:47:35,078 WARN L170 areAnnotationChecker]: checkENTRY has no Hoare annotation [2018-11-18 23:47:35,078 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2018-11-18 23:47:35,078 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2018-11-18 23:47:35,078 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2018-11-18 23:47:35,078 WARN L170 areAnnotationChecker]: L17-4 has no Hoare annotation [2018-11-18 23:47:35,078 WARN L170 areAnnotationChecker]: L17-4 has no Hoare annotation [2018-11-18 23:47:35,078 WARN L170 areAnnotationChecker]: checkFINAL has no Hoare annotation [2018-11-18 23:47:35,079 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2018-11-18 23:47:35,079 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2018-11-18 23:47:35,079 WARN L170 areAnnotationChecker]: L17-1 has no Hoare annotation [2018-11-18 23:47:35,079 WARN L170 areAnnotationChecker]: L17-1 has no Hoare annotation [2018-11-18 23:47:35,079 WARN L170 areAnnotationChecker]: L17-5 has no Hoare annotation [2018-11-18 23:47:35,079 WARN L170 areAnnotationChecker]: checkEXIT has no Hoare annotation [2018-11-18 23:47:35,079 WARN L170 areAnnotationChecker]: L17-3 has no Hoare annotation [2018-11-18 23:47:35,079 WARN L170 areAnnotationChecker]: L22 has no Hoare annotation [2018-11-18 23:47:35,079 WARN L170 areAnnotationChecker]: L22 has no Hoare annotation [2018-11-18 23:47:35,079 WARN L170 areAnnotationChecker]: L30 has no Hoare annotation [2018-11-18 23:47:35,080 WARN L170 areAnnotationChecker]: L27-4 has no Hoare annotation [2018-11-18 23:47:35,080 WARN L170 areAnnotationChecker]: L27-4 has no Hoare annotation [2018-11-18 23:47:35,080 WARN L170 areAnnotationChecker]: L22-2 has no Hoare annotation [2018-11-18 23:47:35,080 WARN L170 areAnnotationChecker]: L30-1 has no Hoare annotation [2018-11-18 23:47:35,080 WARN L170 areAnnotationChecker]: L30-1 has no Hoare annotation [2018-11-18 23:47:35,080 WARN L170 areAnnotationChecker]: L27-1 has no Hoare annotation [2018-11-18 23:47:35,080 WARN L170 areAnnotationChecker]: L27-5 has no Hoare annotation [2018-11-18 23:47:35,080 WARN L170 areAnnotationChecker]: L27-5 has no Hoare annotation [2018-11-18 23:47:35,080 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2018-11-18 23:47:35,080 WARN L170 areAnnotationChecker]: L31 has no Hoare annotation [2018-11-18 23:47:35,081 WARN L170 areAnnotationChecker]: L31 has no Hoare annotation [2018-11-18 23:47:35,081 WARN L170 areAnnotationChecker]: L27-2 has no Hoare annotation [2018-11-18 23:47:35,081 WARN L170 areAnnotationChecker]: L27-2 has no Hoare annotation [2018-11-18 23:47:35,081 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2018-11-18 23:47:35,081 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-18 23:47:35,083 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 18.11 11:47:35 BoogieIcfgContainer [2018-11-18 23:47:35,083 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2018-11-18 23:47:35,085 INFO L168 Benchmark]: Toolchain (without parser) took 48971.53 ms. Allocated memory was 1.5 GB in the beginning and 2.5 GB in the end (delta: 1.0 GB). Free memory was 1.4 GB in the beginning and 1.7 GB in the end (delta: -328.5 MB). Peak memory consumption was 702.7 MB. Max. memory is 7.1 GB. [2018-11-18 23:47:35,087 INFO L168 Benchmark]: CDTParser took 0.31 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-18 23:47:35,087 INFO L168 Benchmark]: CACSL2BoogieTranslator took 339.91 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: 13.2 MB). Peak memory consumption was 13.2 MB. Max. memory is 7.1 GB. [2018-11-18 23:47:35,088 INFO L168 Benchmark]: Boogie Preprocessor took 62.68 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-18 23:47:35,088 INFO L168 Benchmark]: RCFGBuilder took 798.82 ms. Allocated memory was 1.5 GB in the beginning and 2.2 GB in the end (delta: 675.3 MB). Free memory was 1.4 GB in the beginning and 2.1 GB in the end (delta: -706.1 MB). Peak memory consumption was 14.7 MB. Max. memory is 7.1 GB. [2018-11-18 23:47:35,089 INFO L168 Benchmark]: TraceAbstraction took 47765.26 ms. Allocated memory was 2.2 GB in the beginning and 2.5 GB in the end (delta: 356.0 MB). Free memory was 2.1 GB in the beginning and 1.7 GB in the end (delta: 364.4 MB). Peak memory consumption was 720.4 MB. Max. memory is 7.1 GB. [2018-11-18 23:47:35,092 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.31 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. * CACSL2BoogieTranslator took 339.91 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: 13.2 MB). Peak memory consumption was 13.2 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 62.68 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 798.82 ms. Allocated memory was 1.5 GB in the beginning and 2.2 GB in the end (delta: 675.3 MB). Free memory was 1.4 GB in the beginning and 2.1 GB in the end (delta: -706.1 MB). Peak memory consumption was 14.7 MB. Max. memory is 7.1 GB. * TraceAbstraction took 47765.26 ms. Allocated memory was 2.2 GB in the beginning and 2.5 GB in the end (delta: 356.0 MB). Free memory was 2.1 GB in the beginning and 1.7 GB in the end (delta: 364.4 MB). Peak memory consumption was 720.4 MB. 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, 47.6s OverallTime, 22 OverallIterations, 21 TraceHistogramMax, 11.3s 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, 5.9s 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: 1.5s AutomataMinimizationTime, 21 MinimizatonAttempts, 19 StatesRemovedByMinimization, 19 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TraceCheckStatistics: 0.1s SsaConstructionTime, 17.7s SatisfiabilityAnalysisTime, 14.0s 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...