/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata ./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-1.c -------------------------------------------------------------------------------- This is Ultimate 0.1.25-8fc6572 [2020-07-10 15:06:50,182 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-10 15:06:50,185 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-10 15:06:50,202 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-10 15:06:50,203 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-10 15:06:50,205 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-10 15:06:50,207 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-10 15:06:50,217 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-10 15:06:50,220 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-10 15:06:50,223 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-10 15:06:50,225 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-10 15:06:50,227 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-10 15:06:50,227 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-10 15:06:50,229 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-10 15:06:50,231 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-10 15:06:50,233 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-10 15:06:50,234 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-10 15:06:50,235 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-10 15:06:50,236 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-10 15:06:50,240 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-10 15:06:50,245 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-10 15:06:50,249 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-10 15:06:50,250 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-10 15:06:50,250 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-10 15:06:50,253 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-10 15:06:50,253 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-10 15:06:50,253 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-10 15:06:50,255 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-10 15:06:50,256 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-10 15:06:50,257 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-10 15:06:50,258 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-10 15:06:50,258 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-10 15:06:50,259 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-10 15:06:50,260 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-10 15:06:50,261 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-10 15:06:50,261 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-10 15:06:50,262 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-10 15:06:50,262 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-10 15:06:50,262 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-10 15:06:50,263 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-10 15:06:50,264 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-10 15:06:50,265 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2020-07-10 15:06:50,287 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-10 15:06:50,288 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-10 15:06:50,289 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2020-07-10 15:06:50,289 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2020-07-10 15:06:50,289 INFO L138 SettingsManager]: * Use SBE=true [2020-07-10 15:06:50,290 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-10 15:06:50,290 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-10 15:06:50,290 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2020-07-10 15:06:50,290 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-10 15:06:50,293 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-10 15:06:50,293 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-10 15:06:50,293 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-10 15:06:50,294 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-10 15:06:50,294 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-10 15:06:50,294 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-10 15:06:50,294 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-10 15:06:50,294 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-10 15:06:50,295 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-10 15:06:50,295 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2020-07-10 15:06:50,295 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-10 15:06:50,295 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-10 15:06:50,295 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-10 15:06:50,295 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-10 15:06:50,295 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2020-07-10 15:06:50,296 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2020-07-10 15:06:50,296 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2020-07-10 15:06:50,296 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2020-07-10 15:06:50,296 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-10 15:06:50,296 INFO L138 SettingsManager]: * Trace refinement exception blacklist=NONE [2020-07-10 15:06:50,297 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2020-07-10 15:06:50,607 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-10 15:06:50,622 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-10 15:06:50,626 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-10 15:06:50,628 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-10 15:06:50,629 INFO L275 PluginConnector]: CDTParser initialized [2020-07-10 15:06:50,629 INFO L429 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/ldv-regression/test24-1.c [2020-07-10 15:06:50,711 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/257946378/227a83c21d0445f09bdf562058baa1c8/FLAG5d527116d [2020-07-10 15:06:51,206 INFO L306 CDTParser]: Found 1 translation units. [2020-07-10 15:06:51,206 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/ldv-regression/test24-1.c [2020-07-10 15:06:51,213 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/257946378/227a83c21d0445f09bdf562058baa1c8/FLAG5d527116d [2020-07-10 15:06:51,573 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/257946378/227a83c21d0445f09bdf562058baa1c8 [2020-07-10 15:06:51,583 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-10 15:06:51,585 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2020-07-10 15:06:51,586 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-10 15:06:51,586 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-10 15:06:51,590 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-10 15:06:51,591 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 10.07 03:06:51" (1/1) ... [2020-07-10 15:06:51,594 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@526d7b19 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:06:51, skipping insertion in model container [2020-07-10 15:06:51,595 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 10.07 03:06:51" (1/1) ... [2020-07-10 15:06:51,603 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-10 15:06:51,620 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-10 15:06:51,810 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-10 15:06:51,822 INFO L203 MainTranslator]: Completed pre-run [2020-07-10 15:06:51,845 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-10 15:06:51,863 INFO L208 MainTranslator]: Completed translation [2020-07-10 15:06:51,864 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:06:51 WrapperNode [2020-07-10 15:06:51,864 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-10 15:06:51,865 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-10 15:06:51,865 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-10 15:06:51,865 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-10 15:06:51,968 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:06:51" (1/1) ... [2020-07-10 15:06:51,968 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:06:51" (1/1) ... [2020-07-10 15:06:51,978 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:06:51" (1/1) ... [2020-07-10 15:06:51,979 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:06:51" (1/1) ... [2020-07-10 15:06:52,005 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:06:51" (1/1) ... [2020-07-10 15:06:52,013 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:06:51" (1/1) ... [2020-07-10 15:06:52,015 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:06:51" (1/1) ... [2020-07-10 15:06:52,022 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-10 15:06:52,022 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-10 15:06:52,022 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-10 15:06:52,023 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-10 15:06:52,024 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:06:51" (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 [2020-07-10 15:06:52,094 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2020-07-10 15:06:52,094 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-10 15:06:52,094 INFO L138 BoogieDeclarations]: Found implementation of procedure check [2020-07-10 15:06:52,094 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2020-07-10 15:06:52,095 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2020-07-10 15:06:52,095 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2020-07-10 15:06:52,095 INFO L130 BoogieDeclarations]: Found specification of procedure check [2020-07-10 15:06:52,095 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2020-07-10 15:06:52,095 INFO L130 BoogieDeclarations]: Found specification of procedure main [2020-07-10 15:06:52,095 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2020-07-10 15:06:52,095 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2020-07-10 15:06:52,096 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2020-07-10 15:06:52,096 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2020-07-10 15:06:52,096 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-10 15:06:52,404 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-10 15:06:52,404 INFO L295 CfgBuilder]: Removed 1 assume(true) statements. [2020-07-10 15:06:52,408 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 10.07 03:06:52 BoogieIcfgContainer [2020-07-10 15:06:52,408 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-10 15:06:52,410 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-10 15:06:52,410 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-10 15:06:52,413 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-10 15:06:52,414 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 10.07 03:06:51" (1/3) ... [2020-07-10 15:06:52,415 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@c3b1361 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 10.07 03:06:52, skipping insertion in model container [2020-07-10 15:06:52,415 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:06:51" (2/3) ... [2020-07-10 15:06:52,415 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@c3b1361 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 10.07 03:06:52, skipping insertion in model container [2020-07-10 15:06:52,416 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 10.07 03:06:52" (3/3) ... [2020-07-10 15:06:52,418 INFO L109 eAbstractionObserver]: Analyzing ICFG test24-1.c [2020-07-10 15:06:52,434 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2020-07-10 15:06:52,445 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2020-07-10 15:06:52,466 INFO L251 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2020-07-10 15:06:52,498 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-10 15:06:52,499 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-10 15:06:52,499 INFO L377 AbstractCegarLoop]: Compute interpolants for FPandBP [2020-07-10 15:06:52,499 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-10 15:06:52,499 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-10 15:06:52,500 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-10 15:06:52,500 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-10 15:06:52,500 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-10 15:06:52,522 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states. [2020-07-10 15:06:52,529 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2020-07-10 15:06:52,529 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:06:52,530 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-10 15:06:52,531 INFO L427 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:06:52,548 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:06:52,551 INFO L82 PathProgramCache]: Analyzing trace with hash 149844724, now seen corresponding path program 1 times [2020-07-10 15:06:52,572 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:06:52,573 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1049910991] [2020-07-10 15:06:52,573 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:06:52,678 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:06:52,771 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:06:52,786 INFO L280 TraceCheckUtils]: 0: Hoare triple {33#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {25#true} is VALID [2020-07-10 15:06:52,787 INFO L280 TraceCheckUtils]: 1: Hoare triple {25#true} assume true; {25#true} is VALID [2020-07-10 15:06:52,788 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {25#true} {25#true} #39#return; {25#true} is VALID [2020-07-10 15:06:52,797 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:06:52,807 INFO L280 TraceCheckUtils]: 0: Hoare triple {25#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; {25#true} is VALID [2020-07-10 15:06:52,808 INFO L280 TraceCheckUtils]: 1: Hoare triple {25#true} assume true; {25#true} is VALID [2020-07-10 15:06:52,808 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {25#true} {26#false} #43#return; {26#false} is VALID [2020-07-10 15:06:52,810 INFO L263 TraceCheckUtils]: 0: Hoare triple {25#true} call ULTIMATE.init(); {33#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 15:06:52,811 INFO L280 TraceCheckUtils]: 1: Hoare triple {33#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {25#true} is VALID [2020-07-10 15:06:52,811 INFO L280 TraceCheckUtils]: 2: Hoare triple {25#true} assume true; {25#true} is VALID [2020-07-10 15:06:52,812 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {25#true} {25#true} #39#return; {25#true} is VALID [2020-07-10 15:06:52,812 INFO L263 TraceCheckUtils]: 4: Hoare triple {25#true} call #t~ret6 := main(); {25#true} is VALID [2020-07-10 15:06:52,813 INFO L280 TraceCheckUtils]: 5: Hoare triple {25#true} call ~#ad1~0.base, ~#ad1~0.offset := #Ultimate.allocOnStack(80);havoc ~ad2~0.base, ~ad2~0.offset;havoc ~i~0;havoc ~pa~0.base, ~pa~0.offset;assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~i~0 := #t~nondet1;havoc #t~nondet1; {25#true} is VALID [2020-07-10 15:06:52,813 INFO L280 TraceCheckUtils]: 6: Hoare triple {25#true} 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~mem2 := read~int(~ad2~0.base, ~ad2~0.offset + 8 * ~i~0, 4);~i~0 := #t~mem2 - 10;havoc #t~mem2; {25#true} is VALID [2020-07-10 15:06:52,815 INFO L280 TraceCheckUtils]: 7: Hoare triple {25#true} assume !true; {26#false} is VALID [2020-07-10 15:06:52,815 INFO L263 TraceCheckUtils]: 8: Hoare triple {26#false} call #t~ret5 := check(~#ad1~0.base, ~#ad1~0.offset, ~i~0); {25#true} is VALID [2020-07-10 15:06:52,815 INFO L280 TraceCheckUtils]: 9: Hoare triple {25#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; {25#true} is VALID [2020-07-10 15:06:52,816 INFO L280 TraceCheckUtils]: 10: Hoare triple {25#true} assume true; {25#true} is VALID [2020-07-10 15:06:52,816 INFO L275 TraceCheckUtils]: 11: Hoare quadruple {25#true} {26#false} #43#return; {26#false} is VALID [2020-07-10 15:06:52,817 INFO L280 TraceCheckUtils]: 12: Hoare triple {26#false} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {26#false} is VALID [2020-07-10 15:06:52,817 INFO L280 TraceCheckUtils]: 13: Hoare triple {26#false} assume 0 == #t~ret5;havoc #t~ret5; {26#false} is VALID [2020-07-10 15:06:52,818 INFO L280 TraceCheckUtils]: 14: Hoare triple {26#false} assume !false; {26#false} is VALID [2020-07-10 15:06:52,819 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-10 15:06:52,820 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1049910991] [2020-07-10 15:06:52,821 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 15:06:52,822 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2020-07-10 15:06:52,823 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1989024106] [2020-07-10 15:06:52,829 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 15 [2020-07-10 15:06:52,832 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:06:52,835 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2020-07-10 15:06:52,891 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 15 edges. 15 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:06:52,891 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2020-07-10 15:06:52,892 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:06:52,900 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2020-07-10 15:06:52,901 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2020-07-10 15:06:52,903 INFO L87 Difference]: Start difference. First operand 22 states. Second operand 3 states. [2020-07-10 15:06:53,053 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:06:53,054 INFO L93 Difference]: Finished difference Result 35 states and 38 transitions. [2020-07-10 15:06:53,055 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2020-07-10 15:06:53,055 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 15 [2020-07-10 15:06:53,055 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:06:53,057 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2020-07-10 15:06:53,072 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 38 transitions. [2020-07-10 15:06:53,072 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2020-07-10 15:06:53,076 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 38 transitions. [2020-07-10 15:06:53,077 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 38 transitions. [2020-07-10 15:06:53,143 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:06:53,154 INFO L225 Difference]: With dead ends: 35 [2020-07-10 15:06:53,154 INFO L226 Difference]: Without dead ends: 17 [2020-07-10 15:06:53,158 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2020-07-10 15:06:53,177 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 17 states. [2020-07-10 15:06:53,202 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 17 to 17. [2020-07-10 15:06:53,202 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:06:53,203 INFO L82 GeneralOperation]: Start isEquivalent. First operand 17 states. Second operand 17 states. [2020-07-10 15:06:53,203 INFO L74 IsIncluded]: Start isIncluded. First operand 17 states. Second operand 17 states. [2020-07-10 15:06:53,204 INFO L87 Difference]: Start difference. First operand 17 states. Second operand 17 states. [2020-07-10 15:06:53,207 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:06:53,207 INFO L93 Difference]: Finished difference Result 17 states and 17 transitions. [2020-07-10 15:06:53,208 INFO L276 IsEmpty]: Start isEmpty. Operand 17 states and 17 transitions. [2020-07-10 15:06:53,208 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:06:53,208 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:06:53,209 INFO L74 IsIncluded]: Start isIncluded. First operand 17 states. Second operand 17 states. [2020-07-10 15:06:53,209 INFO L87 Difference]: Start difference. First operand 17 states. Second operand 17 states. [2020-07-10 15:06:53,212 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:06:53,213 INFO L93 Difference]: Finished difference Result 17 states and 17 transitions. [2020-07-10 15:06:53,213 INFO L276 IsEmpty]: Start isEmpty. Operand 17 states and 17 transitions. [2020-07-10 15:06:53,213 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:06:53,214 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:06:53,214 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:06:53,214 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:06:53,215 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2020-07-10 15:06:53,216 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 17 transitions. [2020-07-10 15:06:53,218 INFO L78 Accepts]: Start accepts. Automaton has 17 states and 17 transitions. Word has length 15 [2020-07-10 15:06:53,219 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:06:53,219 INFO L479 AbstractCegarLoop]: Abstraction has 17 states and 17 transitions. [2020-07-10 15:06:53,219 INFO L480 AbstractCegarLoop]: Interpolant automaton has 3 states. [2020-07-10 15:06:53,220 INFO L276 IsEmpty]: Start isEmpty. Operand 17 states and 17 transitions. [2020-07-10 15:06:53,220 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2020-07-10 15:06:53,220 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:06:53,221 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-10 15:06:53,221 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2020-07-10 15:06:53,221 INFO L427 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:06:53,222 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:06:53,222 INFO L82 PathProgramCache]: Analyzing trace with hash -1249419983, now seen corresponding path program 1 times [2020-07-10 15:06:53,222 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:06:53,223 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [876974072] [2020-07-10 15:06:53,223 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:06:53,326 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:06:53,455 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:06:53,465 INFO L280 TraceCheckUtils]: 0: Hoare triple {151#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {141#true} is VALID [2020-07-10 15:06:53,466 INFO L280 TraceCheckUtils]: 1: Hoare triple {141#true} assume true; {141#true} is VALID [2020-07-10 15:06:53,466 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {141#true} {141#true} #39#return; {141#true} is VALID [2020-07-10 15:06:53,470 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:06:53,479 INFO L280 TraceCheckUtils]: 0: Hoare triple {141#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; {141#true} is VALID [2020-07-10 15:06:53,480 INFO L280 TraceCheckUtils]: 1: Hoare triple {141#true} assume true; {141#true} is VALID [2020-07-10 15:06:53,480 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {141#true} {142#false} #43#return; {142#false} is VALID [2020-07-10 15:06:53,481 INFO L263 TraceCheckUtils]: 0: Hoare triple {141#true} call ULTIMATE.init(); {151#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 15:06:53,482 INFO L280 TraceCheckUtils]: 1: Hoare triple {151#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {141#true} is VALID [2020-07-10 15:06:53,482 INFO L280 TraceCheckUtils]: 2: Hoare triple {141#true} assume true; {141#true} is VALID [2020-07-10 15:06:53,483 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {141#true} {141#true} #39#return; {141#true} is VALID [2020-07-10 15:06:53,483 INFO L263 TraceCheckUtils]: 4: Hoare triple {141#true} call #t~ret6 := main(); {141#true} is VALID [2020-07-10 15:06:53,483 INFO L280 TraceCheckUtils]: 5: Hoare triple {141#true} call ~#ad1~0.base, ~#ad1~0.offset := #Ultimate.allocOnStack(80);havoc ~ad2~0.base, ~ad2~0.offset;havoc ~i~0;havoc ~pa~0.base, ~pa~0.offset;assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~i~0 := #t~nondet1;havoc #t~nondet1; {141#true} is VALID [2020-07-10 15:06:53,486 INFO L280 TraceCheckUtils]: 6: Hoare triple {141#true} 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~mem2 := read~int(~ad2~0.base, ~ad2~0.offset + 8 * ~i~0, 4);~i~0 := #t~mem2 - 10;havoc #t~mem2; {146#(<= (+ main_~i~0 1) (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset))} is VALID [2020-07-10 15:06:53,487 INFO L280 TraceCheckUtils]: 7: Hoare triple {146#(<= (+ main_~i~0 1) (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset))} call #t~mem3 := read~int(~pa~0.base, ~pa~0.offset, 4); {147#(<= (+ main_~i~0 1) |main_#t~mem3|)} is VALID [2020-07-10 15:06:53,488 INFO L280 TraceCheckUtils]: 8: Hoare triple {147#(<= (+ main_~i~0 1) |main_#t~mem3|)} assume !(~i~0 < #t~mem3);havoc #t~mem3; {142#false} is VALID [2020-07-10 15:06:53,489 INFO L263 TraceCheckUtils]: 9: Hoare triple {142#false} call #t~ret5 := check(~#ad1~0.base, ~#ad1~0.offset, ~i~0); {141#true} is VALID [2020-07-10 15:06:53,489 INFO L280 TraceCheckUtils]: 10: Hoare triple {141#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; {141#true} is VALID [2020-07-10 15:06:53,490 INFO L280 TraceCheckUtils]: 11: Hoare triple {141#true} assume true; {141#true} is VALID [2020-07-10 15:06:53,490 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {141#true} {142#false} #43#return; {142#false} is VALID [2020-07-10 15:06:53,490 INFO L280 TraceCheckUtils]: 13: Hoare triple {142#false} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {142#false} is VALID [2020-07-10 15:06:53,491 INFO L280 TraceCheckUtils]: 14: Hoare triple {142#false} assume 0 == #t~ret5;havoc #t~ret5; {142#false} is VALID [2020-07-10 15:06:53,491 INFO L280 TraceCheckUtils]: 15: Hoare triple {142#false} assume !false; {142#false} is VALID [2020-07-10 15:06:53,492 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-10 15:06:53,493 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [876974072] [2020-07-10 15:06:53,493 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 15:06:53,494 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2020-07-10 15:06:53,494 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [26933993] [2020-07-10 15:06:53,496 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 16 [2020-07-10 15:06:53,496 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:06:53,496 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2020-07-10 15:06:53,539 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:06:53,539 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2020-07-10 15:06:53,540 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:06:53,540 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2020-07-10 15:06:53,540 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2020-07-10 15:06:53,541 INFO L87 Difference]: Start difference. First operand 17 states and 17 transitions. Second operand 5 states. [2020-07-10 15:06:53,730 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:06:53,733 INFO L93 Difference]: Finished difference Result 27 states and 27 transitions. [2020-07-10 15:06:53,733 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2020-07-10 15:06:53,733 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 16 [2020-07-10 15:06:53,733 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:06:53,734 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-10 15:06:53,737 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 27 transitions. [2020-07-10 15:06:53,738 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-10 15:06:53,741 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 27 transitions. [2020-07-10 15:06:53,741 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 27 transitions. [2020-07-10 15:06:53,779 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:06:53,780 INFO L225 Difference]: With dead ends: 27 [2020-07-10 15:06:53,781 INFO L226 Difference]: Without dead ends: 19 [2020-07-10 15:06:53,783 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 9 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2020-07-10 15:06:53,784 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 19 states. [2020-07-10 15:06:53,799 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 19 to 19. [2020-07-10 15:06:53,800 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:06:53,800 INFO L82 GeneralOperation]: Start isEquivalent. First operand 19 states. Second operand 19 states. [2020-07-10 15:06:53,800 INFO L74 IsIncluded]: Start isIncluded. First operand 19 states. Second operand 19 states. [2020-07-10 15:06:53,800 INFO L87 Difference]: Start difference. First operand 19 states. Second operand 19 states. [2020-07-10 15:06:53,802 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:06:53,802 INFO L93 Difference]: Finished difference Result 19 states and 19 transitions. [2020-07-10 15:06:53,802 INFO L276 IsEmpty]: Start isEmpty. Operand 19 states and 19 transitions. [2020-07-10 15:06:53,803 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:06:53,803 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:06:53,809 INFO L74 IsIncluded]: Start isIncluded. First operand 19 states. Second operand 19 states. [2020-07-10 15:06:53,809 INFO L87 Difference]: Start difference. First operand 19 states. Second operand 19 states. [2020-07-10 15:06:53,813 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:06:53,813 INFO L93 Difference]: Finished difference Result 19 states and 19 transitions. [2020-07-10 15:06:53,813 INFO L276 IsEmpty]: Start isEmpty. Operand 19 states and 19 transitions. [2020-07-10 15:06:53,814 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:06:53,814 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:06:53,814 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:06:53,815 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:06:53,815 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2020-07-10 15:06:53,818 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 19 transitions. [2020-07-10 15:06:53,818 INFO L78 Accepts]: Start accepts. Automaton has 19 states and 19 transitions. Word has length 16 [2020-07-10 15:06:53,818 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:06:53,818 INFO L479 AbstractCegarLoop]: Abstraction has 19 states and 19 transitions. [2020-07-10 15:06:53,819 INFO L480 AbstractCegarLoop]: Interpolant automaton has 5 states. [2020-07-10 15:06:53,819 INFO L276 IsEmpty]: Start isEmpty. Operand 19 states and 19 transitions. [2020-07-10 15:06:53,819 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2020-07-10 15:06:53,819 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:06:53,820 INFO L422 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-10 15:06:53,820 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2020-07-10 15:06:53,820 INFO L427 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:06:53,820 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:06:53,821 INFO L82 PathProgramCache]: Analyzing trace with hash 1840889772, now seen corresponding path program 1 times [2020-07-10 15:06:53,821 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:06:53,821 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1798084514] [2020-07-10 15:06:53,821 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:06:53,876 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:06:53,976 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:06:53,981 INFO L280 TraceCheckUtils]: 0: Hoare triple {273#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {261#true} is VALID [2020-07-10 15:06:53,982 INFO L280 TraceCheckUtils]: 1: Hoare triple {261#true} assume true; {261#true} is VALID [2020-07-10 15:06:53,982 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {261#true} {261#true} #39#return; {261#true} is VALID [2020-07-10 15:06:53,985 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:06:53,991 INFO L280 TraceCheckUtils]: 0: Hoare triple {261#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; {261#true} is VALID [2020-07-10 15:06:53,991 INFO L280 TraceCheckUtils]: 1: Hoare triple {261#true} assume true; {261#true} is VALID [2020-07-10 15:06:53,992 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {261#true} {262#false} #43#return; {262#false} is VALID [2020-07-10 15:06:53,993 INFO L263 TraceCheckUtils]: 0: Hoare triple {261#true} call ULTIMATE.init(); {273#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 15:06:53,994 INFO L280 TraceCheckUtils]: 1: Hoare triple {273#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {261#true} is VALID [2020-07-10 15:06:53,994 INFO L280 TraceCheckUtils]: 2: Hoare triple {261#true} assume true; {261#true} is VALID [2020-07-10 15:06:53,994 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {261#true} {261#true} #39#return; {261#true} is VALID [2020-07-10 15:06:53,995 INFO L263 TraceCheckUtils]: 4: Hoare triple {261#true} call #t~ret6 := main(); {261#true} is VALID [2020-07-10 15:06:53,996 INFO L280 TraceCheckUtils]: 5: Hoare triple {261#true} call ~#ad1~0.base, ~#ad1~0.offset := #Ultimate.allocOnStack(80);havoc ~ad2~0.base, ~ad2~0.offset;havoc ~i~0;havoc ~pa~0.base, ~pa~0.offset;assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~i~0 := #t~nondet1;havoc #t~nondet1; {266#(= 0 |main_~#ad1~0.offset|)} is VALID [2020-07-10 15:06:53,998 INFO L280 TraceCheckUtils]: 6: Hoare triple {266#(= 0 |main_~#ad1~0.offset|)} 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~mem2 := read~int(~ad2~0.base, ~ad2~0.offset + 8 * ~i~0, 4);~i~0 := #t~mem2 - 10;havoc #t~mem2; {267#(<= (+ main_~i~0 10) (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset))} is VALID [2020-07-10 15:06:53,999 INFO L280 TraceCheckUtils]: 7: Hoare triple {267#(<= (+ main_~i~0 10) (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset))} call #t~mem3 := read~int(~pa~0.base, ~pa~0.offset, 4); {267#(<= (+ main_~i~0 10) (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset))} is VALID [2020-07-10 15:06:54,000 INFO L280 TraceCheckUtils]: 8: Hoare triple {267#(<= (+ main_~i~0 10) (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset))} assume !!(~i~0 < #t~mem3);havoc #t~mem3;#t~pre4 := 1 + ~i~0;~i~0 := 1 + ~i~0;havoc #t~pre4; {268#(<= (+ main_~i~0 9) (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset))} is VALID [2020-07-10 15:06:54,001 INFO L280 TraceCheckUtils]: 9: Hoare triple {268#(<= (+ main_~i~0 9) (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset))} call #t~mem3 := read~int(~pa~0.base, ~pa~0.offset, 4); {269#(<= (+ main_~i~0 9) |main_#t~mem3|)} is VALID [2020-07-10 15:06:54,002 INFO L280 TraceCheckUtils]: 10: Hoare triple {269#(<= (+ main_~i~0 9) |main_#t~mem3|)} assume !(~i~0 < #t~mem3);havoc #t~mem3; {262#false} is VALID [2020-07-10 15:06:54,003 INFO L263 TraceCheckUtils]: 11: Hoare triple {262#false} call #t~ret5 := check(~#ad1~0.base, ~#ad1~0.offset, ~i~0); {261#true} is VALID [2020-07-10 15:06:54,003 INFO L280 TraceCheckUtils]: 12: Hoare triple {261#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; {261#true} is VALID [2020-07-10 15:06:54,003 INFO L280 TraceCheckUtils]: 13: Hoare triple {261#true} assume true; {261#true} is VALID [2020-07-10 15:06:54,004 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {261#true} {262#false} #43#return; {262#false} is VALID [2020-07-10 15:06:54,004 INFO L280 TraceCheckUtils]: 15: Hoare triple {262#false} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {262#false} is VALID [2020-07-10 15:06:54,004 INFO L280 TraceCheckUtils]: 16: Hoare triple {262#false} assume 0 == #t~ret5;havoc #t~ret5; {262#false} is VALID [2020-07-10 15:06:54,004 INFO L280 TraceCheckUtils]: 17: Hoare triple {262#false} assume !false; {262#false} is VALID [2020-07-10 15:06:54,006 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-10 15:06:54,006 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1798084514] [2020-07-10 15:06:54,006 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1282187774] [2020-07-10 15:06:54,007 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-10 15:06:54,052 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:06:54,055 INFO L264 TraceCheckSpWp]: Trace formula consists of 85 conjuncts, 13 conjunts are in the unsatisfiable core [2020-07-10 15:06:54,069 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:06:54,076 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-10 15:06:54,206 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 23 [2020-07-10 15:06:54,207 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-10 15:06:54,219 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:06:54,222 INFO L544 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2020-07-10 15:06:54,222 INFO L244 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:56, output treesize:52 [2020-07-10 15:06:54,230 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-10 15:06:54,230 WARN L407 uantifierElimination]: Input elimination task: ∃ [main_~ad2~0.offset, |v_#memory_int_7|]. (let ((.cse1 (div (+ main_~pa~0.offset (* main_~ad2~0.offset (- 1))) 8))) (let ((.cse0 (+ (* .cse1 8) main_~ad2~0.offset))) (and (<= (+ main_~i~0 10) (select (select |#memory_int| main_~pa~0.base) .cse0)) (= 0 (mod (+ main_~pa~0.offset (* main_~ad2~0.offset 7)) 8)) (= (store |v_#memory_int_7| main_~pa~0.base (store (select |v_#memory_int_7| main_~pa~0.base) .cse0 .cse1)) |#memory_int|)))) [2020-07-10 15:06:54,231 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ [main_~ad2~0.offset]. (let ((.cse1 (div (+ main_~pa~0.offset (* main_~ad2~0.offset (- 1))) 8))) (let ((.cse0 (select (select |#memory_int| main_~pa~0.base) (+ (* .cse1 8) main_~ad2~0.offset)))) (and (<= (+ main_~i~0 10) .cse0) (= 0 (mod (+ main_~pa~0.offset (* main_~ad2~0.offset 7)) 8)) (= .cse0 .cse1)))) [2020-07-10 15:06:59,273 INFO L173 IndexEqualityManager]: detected equality via solver [2020-07-10 15:06:59,287 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:06:59,287 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 50 treesize of output 21 [2020-07-10 15:06:59,300 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-10 15:06:59,311 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:06:59,313 INFO L544 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-2 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2020-07-10 15:06:59,313 INFO L244 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:59, output treesize:30 [2020-07-10 15:06:59,319 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-10 15:06:59,319 WARN L407 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, main_~pa~0.base, main_~pa~0.offset, main_~ad2~0.offset]. (let ((.cse0 (select |#memory_int| main_~pa~0.base)) (.cse2 (div (+ main_~pa~0.offset (* main_~ad2~0.offset (- 1))) 8))) (let ((.cse1 (select .cse0 (+ (* .cse2 8) main_~ad2~0.offset)))) (and (= 0 (mod (+ main_~pa~0.offset (* main_~ad2~0.offset 7)) 8)) (<= (select .cse0 main_~pa~0.offset) |main_#t~mem3|) (= .cse1 .cse2) (<= (+ main_~i~0 9) .cse1)))) [2020-07-10 15:06:59,320 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ [main_~pa~0.offset, main_~ad2~0.offset]. (let ((.cse0 (div (+ main_~pa~0.offset (* main_~ad2~0.offset (- 1))) 8))) (and (<= .cse0 |main_#t~mem3|) (= 0 (mod (+ main_~pa~0.offset (* main_~ad2~0.offset 7)) 8)) (<= (+ main_~i~0 9) .cse0))) [2020-07-10 15:07:01,443 INFO L263 TraceCheckUtils]: 0: Hoare triple {261#true} call ULTIMATE.init(); {261#true} is VALID [2020-07-10 15:07:01,444 INFO L280 TraceCheckUtils]: 1: Hoare triple {261#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {261#true} is VALID [2020-07-10 15:07:01,444 INFO L280 TraceCheckUtils]: 2: Hoare triple {261#true} assume true; {261#true} is VALID [2020-07-10 15:07:01,444 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {261#true} {261#true} #39#return; {261#true} is VALID [2020-07-10 15:07:01,445 INFO L263 TraceCheckUtils]: 4: Hoare triple {261#true} call #t~ret6 := main(); {261#true} is VALID [2020-07-10 15:07:01,445 INFO L280 TraceCheckUtils]: 5: Hoare triple {261#true} call ~#ad1~0.base, ~#ad1~0.offset := #Ultimate.allocOnStack(80);havoc ~ad2~0.base, ~ad2~0.offset;havoc ~i~0;havoc ~pa~0.base, ~pa~0.offset;assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~i~0 := #t~nondet1;havoc #t~nondet1; {261#true} is VALID [2020-07-10 15:07:01,452 INFO L280 TraceCheckUtils]: 6: Hoare triple {261#true} 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~mem2 := read~int(~ad2~0.base, ~ad2~0.offset + 8 * ~i~0, 4);~i~0 := #t~mem2 - 10;havoc #t~mem2; {295#(exists ((main_~ad2~0.offset Int)) (and (<= (+ main_~i~0 10) (select (select |#memory_int| main_~pa~0.base) (+ (* (div (+ main_~pa~0.offset (* main_~ad2~0.offset (- 1))) 8) 8) main_~ad2~0.offset))) (= 0 (mod (+ main_~pa~0.offset (* main_~ad2~0.offset 7)) 8)) (= (select (select |#memory_int| main_~pa~0.base) (+ (* (div (+ main_~pa~0.offset (* main_~ad2~0.offset (- 1))) 8) 8) main_~ad2~0.offset)) (div (+ main_~pa~0.offset (* main_~ad2~0.offset (- 1))) 8))))} is VALID [2020-07-10 15:07:01,453 INFO L280 TraceCheckUtils]: 7: Hoare triple {295#(exists ((main_~ad2~0.offset Int)) (and (<= (+ main_~i~0 10) (select (select |#memory_int| main_~pa~0.base) (+ (* (div (+ main_~pa~0.offset (* main_~ad2~0.offset (- 1))) 8) 8) main_~ad2~0.offset))) (= 0 (mod (+ main_~pa~0.offset (* main_~ad2~0.offset 7)) 8)) (= (select (select |#memory_int| main_~pa~0.base) (+ (* (div (+ main_~pa~0.offset (* main_~ad2~0.offset (- 1))) 8) 8) main_~ad2~0.offset)) (div (+ main_~pa~0.offset (* main_~ad2~0.offset (- 1))) 8))))} call #t~mem3 := read~int(~pa~0.base, ~pa~0.offset, 4); {295#(exists ((main_~ad2~0.offset Int)) (and (<= (+ main_~i~0 10) (select (select |#memory_int| main_~pa~0.base) (+ (* (div (+ main_~pa~0.offset (* main_~ad2~0.offset (- 1))) 8) 8) main_~ad2~0.offset))) (= 0 (mod (+ main_~pa~0.offset (* main_~ad2~0.offset 7)) 8)) (= (select (select |#memory_int| main_~pa~0.base) (+ (* (div (+ main_~pa~0.offset (* main_~ad2~0.offset (- 1))) 8) 8) main_~ad2~0.offset)) (div (+ main_~pa~0.offset (* main_~ad2~0.offset (- 1))) 8))))} is VALID [2020-07-10 15:07:01,456 INFO L280 TraceCheckUtils]: 8: Hoare triple {295#(exists ((main_~ad2~0.offset Int)) (and (<= (+ main_~i~0 10) (select (select |#memory_int| main_~pa~0.base) (+ (* (div (+ main_~pa~0.offset (* main_~ad2~0.offset (- 1))) 8) 8) main_~ad2~0.offset))) (= 0 (mod (+ main_~pa~0.offset (* main_~ad2~0.offset 7)) 8)) (= (select (select |#memory_int| main_~pa~0.base) (+ (* (div (+ main_~pa~0.offset (* main_~ad2~0.offset (- 1))) 8) 8) main_~ad2~0.offset)) (div (+ main_~pa~0.offset (* main_~ad2~0.offset (- 1))) 8))))} assume !!(~i~0 < #t~mem3);havoc #t~mem3;#t~pre4 := 1 + ~i~0;~i~0 := 1 + ~i~0;havoc #t~pre4; {302#(exists ((main_~ad2~0.offset Int)) (and (= 0 (mod (+ main_~pa~0.offset (* main_~ad2~0.offset 7)) 8)) (= (select (select |#memory_int| main_~pa~0.base) (+ (* (div (+ main_~pa~0.offset (* main_~ad2~0.offset (- 1))) 8) 8) main_~ad2~0.offset)) (div (+ main_~pa~0.offset (* main_~ad2~0.offset (- 1))) 8)) (<= (+ main_~i~0 9) (select (select |#memory_int| main_~pa~0.base) (+ (* (div (+ main_~pa~0.offset (* main_~ad2~0.offset (- 1))) 8) 8) main_~ad2~0.offset)))))} is VALID [2020-07-10 15:07:01,460 INFO L280 TraceCheckUtils]: 9: Hoare triple {302#(exists ((main_~ad2~0.offset Int)) (and (= 0 (mod (+ main_~pa~0.offset (* main_~ad2~0.offset 7)) 8)) (= (select (select |#memory_int| main_~pa~0.base) (+ (* (div (+ main_~pa~0.offset (* main_~ad2~0.offset (- 1))) 8) 8) main_~ad2~0.offset)) (div (+ main_~pa~0.offset (* main_~ad2~0.offset (- 1))) 8)) (<= (+ main_~i~0 9) (select (select |#memory_int| main_~pa~0.base) (+ (* (div (+ main_~pa~0.offset (* main_~ad2~0.offset (- 1))) 8) 8) main_~ad2~0.offset)))))} call #t~mem3 := read~int(~pa~0.base, ~pa~0.offset, 4); {306#(exists ((main_~pa~0.offset Int) (main_~ad2~0.offset Int)) (and (<= (div (+ main_~pa~0.offset (* main_~ad2~0.offset (- 1))) 8) |main_#t~mem3|) (= 0 (mod (+ main_~pa~0.offset (* main_~ad2~0.offset 7)) 8)) (<= (+ main_~i~0 9) (div (+ main_~pa~0.offset (* main_~ad2~0.offset (- 1))) 8))))} is VALID [2020-07-10 15:07:01,463 INFO L280 TraceCheckUtils]: 10: Hoare triple {306#(exists ((main_~pa~0.offset Int) (main_~ad2~0.offset Int)) (and (<= (div (+ main_~pa~0.offset (* main_~ad2~0.offset (- 1))) 8) |main_#t~mem3|) (= 0 (mod (+ main_~pa~0.offset (* main_~ad2~0.offset 7)) 8)) (<= (+ main_~i~0 9) (div (+ main_~pa~0.offset (* main_~ad2~0.offset (- 1))) 8))))} assume !(~i~0 < #t~mem3);havoc #t~mem3; {262#false} is VALID [2020-07-10 15:07:01,464 INFO L263 TraceCheckUtils]: 11: Hoare triple {262#false} call #t~ret5 := check(~#ad1~0.base, ~#ad1~0.offset, ~i~0); {262#false} is VALID [2020-07-10 15:07:01,464 INFO L280 TraceCheckUtils]: 12: Hoare triple {262#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; {262#false} is VALID [2020-07-10 15:07:01,464 INFO L280 TraceCheckUtils]: 13: Hoare triple {262#false} assume true; {262#false} is VALID [2020-07-10 15:07:01,464 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {262#false} {262#false} #43#return; {262#false} is VALID [2020-07-10 15:07:01,465 INFO L280 TraceCheckUtils]: 15: Hoare triple {262#false} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {262#false} is VALID [2020-07-10 15:07:01,465 INFO L280 TraceCheckUtils]: 16: Hoare triple {262#false} assume 0 == #t~ret5;havoc #t~ret5; {262#false} is VALID [2020-07-10 15:07:01,465 INFO L280 TraceCheckUtils]: 17: Hoare triple {262#false} assume !false; {262#false} is VALID [2020-07-10 15:07:01,468 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-10 15:07:01,468 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-10 15:07:01,468 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 5] total 10 [2020-07-10 15:07:01,469 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2107083789] [2020-07-10 15:07:01,469 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 18 [2020-07-10 15:07:01,470 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:07:01,470 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2020-07-10 15:07:01,538 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:07:01,538 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2020-07-10 15:07:01,538 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:07:01,539 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2020-07-10 15:07:01,539 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=63, Unknown=4, NotChecked=0, Total=90 [2020-07-10 15:07:01,539 INFO L87 Difference]: Start difference. First operand 19 states and 19 transitions. Second operand 10 states. [2020-07-10 15:07:02,102 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:07:02,103 INFO L93 Difference]: Finished difference Result 29 states and 29 transitions. [2020-07-10 15:07:02,103 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2020-07-10 15:07:02,103 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 18 [2020-07-10 15:07:02,103 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:07:02,104 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-10 15:07:02,106 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 29 transitions. [2020-07-10 15:07:02,106 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-10 15:07:02,108 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 29 transitions. [2020-07-10 15:07:02,109 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 29 transitions. [2020-07-10 15:07:02,198 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:07:02,199 INFO L225 Difference]: With dead ends: 29 [2020-07-10 15:07:02,199 INFO L226 Difference]: Without dead ends: 21 [2020-07-10 15:07:02,200 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 31 GetRequests, 19 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 17 ImplicationChecksByTransitivity, 7.1s TimeCoverageRelationStatistics Valid=56, Invalid=122, Unknown=4, NotChecked=0, Total=182 [2020-07-10 15:07:02,200 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 21 states. [2020-07-10 15:07:02,222 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 21 to 21. [2020-07-10 15:07:02,222 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:07:02,222 INFO L82 GeneralOperation]: Start isEquivalent. First operand 21 states. Second operand 21 states. [2020-07-10 15:07:02,223 INFO L74 IsIncluded]: Start isIncluded. First operand 21 states. Second operand 21 states. [2020-07-10 15:07:02,223 INFO L87 Difference]: Start difference. First operand 21 states. Second operand 21 states. [2020-07-10 15:07:02,225 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:07:02,225 INFO L93 Difference]: Finished difference Result 21 states and 21 transitions. [2020-07-10 15:07:02,225 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 21 transitions. [2020-07-10 15:07:02,226 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:07:02,226 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:07:02,226 INFO L74 IsIncluded]: Start isIncluded. First operand 21 states. Second operand 21 states. [2020-07-10 15:07:02,226 INFO L87 Difference]: Start difference. First operand 21 states. Second operand 21 states. [2020-07-10 15:07:02,228 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:07:02,228 INFO L93 Difference]: Finished difference Result 21 states and 21 transitions. [2020-07-10 15:07:02,229 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 21 transitions. [2020-07-10 15:07:02,229 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:07:02,229 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:07:02,229 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:07:02,229 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:07:02,230 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2020-07-10 15:07:02,231 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 21 transitions. [2020-07-10 15:07:02,231 INFO L78 Accepts]: Start accepts. Automaton has 21 states and 21 transitions. Word has length 18 [2020-07-10 15:07:02,231 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:07:02,231 INFO L479 AbstractCegarLoop]: Abstraction has 21 states and 21 transitions. [2020-07-10 15:07:02,232 INFO L480 AbstractCegarLoop]: Interpolant automaton has 10 states. [2020-07-10 15:07:02,232 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 21 transitions. [2020-07-10 15:07:02,232 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2020-07-10 15:07:02,233 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:07:02,233 INFO L422 BasicCegarLoop]: trace histogram [3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-10 15:07:02,441 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2020-07-10 15:07:02,442 INFO L427 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:07:02,443 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:07:02,443 INFO L82 PathProgramCache]: Analyzing trace with hash -488804505, now seen corresponding path program 2 times [2020-07-10 15:07:02,443 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:07:02,444 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1942856596] [2020-07-10 15:07:02,444 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:07:02,476 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:07:02,593 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:07:02,598 INFO L280 TraceCheckUtils]: 0: Hoare triple {466#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {453#true} is VALID [2020-07-10 15:07:02,599 INFO L280 TraceCheckUtils]: 1: Hoare triple {453#true} assume true; {453#true} is VALID [2020-07-10 15:07:02,599 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {453#true} {453#true} #39#return; {453#true} is VALID [2020-07-10 15:07:02,601 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:07:02,606 INFO L280 TraceCheckUtils]: 0: Hoare triple {453#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; {453#true} is VALID [2020-07-10 15:07:02,606 INFO L280 TraceCheckUtils]: 1: Hoare triple {453#true} assume true; {453#true} is VALID [2020-07-10 15:07:02,607 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {453#true} {454#false} #43#return; {454#false} is VALID [2020-07-10 15:07:02,607 INFO L263 TraceCheckUtils]: 0: Hoare triple {453#true} call ULTIMATE.init(); {466#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 15:07:02,608 INFO L280 TraceCheckUtils]: 1: Hoare triple {466#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {453#true} is VALID [2020-07-10 15:07:02,608 INFO L280 TraceCheckUtils]: 2: Hoare triple {453#true} assume true; {453#true} is VALID [2020-07-10 15:07:02,608 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {453#true} {453#true} #39#return; {453#true} is VALID [2020-07-10 15:07:02,608 INFO L263 TraceCheckUtils]: 4: Hoare triple {453#true} call #t~ret6 := main(); {453#true} is VALID [2020-07-10 15:07:02,609 INFO L280 TraceCheckUtils]: 5: Hoare triple {453#true} call ~#ad1~0.base, ~#ad1~0.offset := #Ultimate.allocOnStack(80);havoc ~ad2~0.base, ~ad2~0.offset;havoc ~i~0;havoc ~pa~0.base, ~pa~0.offset;assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~i~0 := #t~nondet1;havoc #t~nondet1; {458#(= 0 |main_~#ad1~0.offset|)} is VALID [2020-07-10 15:07:02,610 INFO L280 TraceCheckUtils]: 6: Hoare triple {458#(= 0 |main_~#ad1~0.offset|)} 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~mem2 := read~int(~ad2~0.base, ~ad2~0.offset + 8 * ~i~0, 4);~i~0 := #t~mem2 - 10;havoc #t~mem2; {459#(<= (+ main_~i~0 10) (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset))} is VALID [2020-07-10 15:07:02,611 INFO L280 TraceCheckUtils]: 7: Hoare triple {459#(<= (+ main_~i~0 10) (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset))} call #t~mem3 := read~int(~pa~0.base, ~pa~0.offset, 4); {459#(<= (+ main_~i~0 10) (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset))} is VALID [2020-07-10 15:07:02,612 INFO L280 TraceCheckUtils]: 8: Hoare triple {459#(<= (+ main_~i~0 10) (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset))} assume !!(~i~0 < #t~mem3);havoc #t~mem3;#t~pre4 := 1 + ~i~0;~i~0 := 1 + ~i~0;havoc #t~pre4; {460#(<= (+ main_~i~0 9) (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset))} is VALID [2020-07-10 15:07:02,613 INFO L280 TraceCheckUtils]: 9: Hoare triple {460#(<= (+ main_~i~0 9) (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset))} call #t~mem3 := read~int(~pa~0.base, ~pa~0.offset, 4); {460#(<= (+ main_~i~0 9) (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset))} is VALID [2020-07-10 15:07:02,614 INFO L280 TraceCheckUtils]: 10: Hoare triple {460#(<= (+ main_~i~0 9) (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset))} assume !!(~i~0 < #t~mem3);havoc #t~mem3;#t~pre4 := 1 + ~i~0;~i~0 := 1 + ~i~0;havoc #t~pre4; {461#(<= (+ main_~i~0 8) (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset))} is VALID [2020-07-10 15:07:02,615 INFO L280 TraceCheckUtils]: 11: Hoare triple {461#(<= (+ main_~i~0 8) (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset))} call #t~mem3 := read~int(~pa~0.base, ~pa~0.offset, 4); {462#(<= (+ main_~i~0 8) |main_#t~mem3|)} is VALID [2020-07-10 15:07:02,616 INFO L280 TraceCheckUtils]: 12: Hoare triple {462#(<= (+ main_~i~0 8) |main_#t~mem3|)} assume !(~i~0 < #t~mem3);havoc #t~mem3; {454#false} is VALID [2020-07-10 15:07:02,616 INFO L263 TraceCheckUtils]: 13: Hoare triple {454#false} call #t~ret5 := check(~#ad1~0.base, ~#ad1~0.offset, ~i~0); {453#true} is VALID [2020-07-10 15:07:02,616 INFO L280 TraceCheckUtils]: 14: Hoare triple {453#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; {453#true} is VALID [2020-07-10 15:07:02,616 INFO L280 TraceCheckUtils]: 15: Hoare triple {453#true} assume true; {453#true} is VALID [2020-07-10 15:07:02,617 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {453#true} {454#false} #43#return; {454#false} is VALID [2020-07-10 15:07:02,617 INFO L280 TraceCheckUtils]: 17: Hoare triple {454#false} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {454#false} is VALID [2020-07-10 15:07:02,617 INFO L280 TraceCheckUtils]: 18: Hoare triple {454#false} assume 0 == #t~ret5;havoc #t~ret5; {454#false} is VALID [2020-07-10 15:07:02,618 INFO L280 TraceCheckUtils]: 19: Hoare triple {454#false} assume !false; {454#false} is VALID [2020-07-10 15:07:02,619 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-10 15:07:02,619 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1942856596] [2020-07-10 15:07:02,619 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1968100662] [2020-07-10 15:07:02,619 INFO L92 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-10 15:07:02,665 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2020-07-10 15:07:02,665 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-10 15:07:02,667 INFO L264 TraceCheckSpWp]: Trace formula consists of 90 conjuncts, 22 conjunts are in the unsatisfiable core [2020-07-10 15:07:02,681 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:07:02,683 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-10 15:07:02,728 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 21 [2020-07-10 15:07:02,729 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-10 15:07:02,739 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:07:02,740 INFO L544 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2020-07-10 15:07:02,740 INFO L244 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:53, output treesize:49 [2020-07-10 15:07:02,876 INFO L173 IndexEqualityManager]: detected equality via solver [2020-07-10 15:07:02,879 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:07:02,880 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 48 treesize of output 21 [2020-07-10 15:07:02,885 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-10 15:07:02,891 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:07:02,892 INFO L544 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2020-07-10 15:07:02,893 INFO L244 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:57, output treesize:30 [2020-07-10 15:07:02,897 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-10 15:07:02,897 WARN L407 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, main_~pa~0.base, main_~pa~0.offset]. (let ((.cse1 (select |#memory_int| main_~pa~0.base))) (let ((.cse0 (select .cse1 (+ (* (div (+ main_~pa~0.offset (- |main_~#ad1~0.offset|)) 8) 8) |main_~#ad1~0.offset|)))) (and (= 0 (mod (+ main_~pa~0.offset (* |main_~#ad1~0.offset| 7)) 8)) (= .cse0 (div (+ main_~pa~0.offset (* |main_~#ad1~0.offset| (- 1))) 8)) (<= (+ main_~i~0 8) .cse0) (<= (select .cse1 main_~pa~0.offset) |main_#t~mem3|)))) [2020-07-10 15:07:02,897 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ [main_~pa~0.offset]. (let ((.cse0 (div (+ main_~pa~0.offset (* |main_~#ad1~0.offset| (- 1))) 8))) (and (= 0 (mod (+ main_~pa~0.offset (* |main_~#ad1~0.offset| 7)) 8)) (<= (+ main_~i~0 8) .cse0) (<= .cse0 |main_#t~mem3|))) [2020-07-10 15:07:05,002 INFO L263 TraceCheckUtils]: 0: Hoare triple {453#true} call ULTIMATE.init(); {453#true} is VALID [2020-07-10 15:07:05,002 INFO L280 TraceCheckUtils]: 1: Hoare triple {453#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {453#true} is VALID [2020-07-10 15:07:05,002 INFO L280 TraceCheckUtils]: 2: Hoare triple {453#true} assume true; {453#true} is VALID [2020-07-10 15:07:05,003 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {453#true} {453#true} #39#return; {453#true} is VALID [2020-07-10 15:07:05,003 INFO L263 TraceCheckUtils]: 4: Hoare triple {453#true} call #t~ret6 := main(); {453#true} is VALID [2020-07-10 15:07:05,003 INFO L280 TraceCheckUtils]: 5: Hoare triple {453#true} call ~#ad1~0.base, ~#ad1~0.offset := #Ultimate.allocOnStack(80);havoc ~ad2~0.base, ~ad2~0.offset;havoc ~i~0;havoc ~pa~0.base, ~pa~0.offset;assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~i~0 := #t~nondet1;havoc #t~nondet1; {453#true} is VALID [2020-07-10 15:07:05,007 INFO L280 TraceCheckUtils]: 6: Hoare triple {453#true} 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~mem2 := read~int(~ad2~0.base, ~ad2~0.offset + 8 * ~i~0, 4);~i~0 := #t~mem2 - 10;havoc #t~mem2; {488#(and (= 0 (mod (+ main_~pa~0.offset (* |main_~#ad1~0.offset| 7)) 8)) (<= (+ main_~i~0 10) (select (select |#memory_int| main_~pa~0.base) (+ (* (div (+ main_~pa~0.offset (- |main_~#ad1~0.offset|)) 8) 8) |main_~#ad1~0.offset|))) (= (select (select |#memory_int| main_~pa~0.base) (+ (* (div (+ main_~pa~0.offset (- |main_~#ad1~0.offset|)) 8) 8) |main_~#ad1~0.offset|)) (div (+ main_~pa~0.offset (* |main_~#ad1~0.offset| (- 1))) 8)))} is VALID [2020-07-10 15:07:05,009 INFO L280 TraceCheckUtils]: 7: Hoare triple {488#(and (= 0 (mod (+ main_~pa~0.offset (* |main_~#ad1~0.offset| 7)) 8)) (<= (+ main_~i~0 10) (select (select |#memory_int| main_~pa~0.base) (+ (* (div (+ main_~pa~0.offset (- |main_~#ad1~0.offset|)) 8) 8) |main_~#ad1~0.offset|))) (= (select (select |#memory_int| main_~pa~0.base) (+ (* (div (+ main_~pa~0.offset (- |main_~#ad1~0.offset|)) 8) 8) |main_~#ad1~0.offset|)) (div (+ main_~pa~0.offset (* |main_~#ad1~0.offset| (- 1))) 8)))} call #t~mem3 := read~int(~pa~0.base, ~pa~0.offset, 4); {488#(and (= 0 (mod (+ main_~pa~0.offset (* |main_~#ad1~0.offset| 7)) 8)) (<= (+ main_~i~0 10) (select (select |#memory_int| main_~pa~0.base) (+ (* (div (+ main_~pa~0.offset (- |main_~#ad1~0.offset|)) 8) 8) |main_~#ad1~0.offset|))) (= (select (select |#memory_int| main_~pa~0.base) (+ (* (div (+ main_~pa~0.offset (- |main_~#ad1~0.offset|)) 8) 8) |main_~#ad1~0.offset|)) (div (+ main_~pa~0.offset (* |main_~#ad1~0.offset| (- 1))) 8)))} is VALID [2020-07-10 15:07:05,010 INFO L280 TraceCheckUtils]: 8: Hoare triple {488#(and (= 0 (mod (+ main_~pa~0.offset (* |main_~#ad1~0.offset| 7)) 8)) (<= (+ main_~i~0 10) (select (select |#memory_int| main_~pa~0.base) (+ (* (div (+ main_~pa~0.offset (- |main_~#ad1~0.offset|)) 8) 8) |main_~#ad1~0.offset|))) (= (select (select |#memory_int| main_~pa~0.base) (+ (* (div (+ main_~pa~0.offset (- |main_~#ad1~0.offset|)) 8) 8) |main_~#ad1~0.offset|)) (div (+ main_~pa~0.offset (* |main_~#ad1~0.offset| (- 1))) 8)))} assume !!(~i~0 < #t~mem3);havoc #t~mem3;#t~pre4 := 1 + ~i~0;~i~0 := 1 + ~i~0;havoc #t~pre4; {495#(and (= 0 (mod (+ main_~pa~0.offset (* |main_~#ad1~0.offset| 7)) 8)) (= (select (select |#memory_int| main_~pa~0.base) (+ (* (div (+ main_~pa~0.offset (- |main_~#ad1~0.offset|)) 8) 8) |main_~#ad1~0.offset|)) (div (+ main_~pa~0.offset (* |main_~#ad1~0.offset| (- 1))) 8)) (<= (+ main_~i~0 9) (select (select |#memory_int| main_~pa~0.base) (+ (* (div (+ main_~pa~0.offset (- |main_~#ad1~0.offset|)) 8) 8) |main_~#ad1~0.offset|))))} is VALID [2020-07-10 15:07:05,011 INFO L280 TraceCheckUtils]: 9: Hoare triple {495#(and (= 0 (mod (+ main_~pa~0.offset (* |main_~#ad1~0.offset| 7)) 8)) (= (select (select |#memory_int| main_~pa~0.base) (+ (* (div (+ main_~pa~0.offset (- |main_~#ad1~0.offset|)) 8) 8) |main_~#ad1~0.offset|)) (div (+ main_~pa~0.offset (* |main_~#ad1~0.offset| (- 1))) 8)) (<= (+ main_~i~0 9) (select (select |#memory_int| main_~pa~0.base) (+ (* (div (+ main_~pa~0.offset (- |main_~#ad1~0.offset|)) 8) 8) |main_~#ad1~0.offset|))))} call #t~mem3 := read~int(~pa~0.base, ~pa~0.offset, 4); {495#(and (= 0 (mod (+ main_~pa~0.offset (* |main_~#ad1~0.offset| 7)) 8)) (= (select (select |#memory_int| main_~pa~0.base) (+ (* (div (+ main_~pa~0.offset (- |main_~#ad1~0.offset|)) 8) 8) |main_~#ad1~0.offset|)) (div (+ main_~pa~0.offset (* |main_~#ad1~0.offset| (- 1))) 8)) (<= (+ main_~i~0 9) (select (select |#memory_int| main_~pa~0.base) (+ (* (div (+ main_~pa~0.offset (- |main_~#ad1~0.offset|)) 8) 8) |main_~#ad1~0.offset|))))} is VALID [2020-07-10 15:07:05,021 INFO L280 TraceCheckUtils]: 10: Hoare triple {495#(and (= 0 (mod (+ main_~pa~0.offset (* |main_~#ad1~0.offset| 7)) 8)) (= (select (select |#memory_int| main_~pa~0.base) (+ (* (div (+ main_~pa~0.offset (- |main_~#ad1~0.offset|)) 8) 8) |main_~#ad1~0.offset|)) (div (+ main_~pa~0.offset (* |main_~#ad1~0.offset| (- 1))) 8)) (<= (+ main_~i~0 9) (select (select |#memory_int| main_~pa~0.base) (+ (* (div (+ main_~pa~0.offset (- |main_~#ad1~0.offset|)) 8) 8) |main_~#ad1~0.offset|))))} assume !!(~i~0 < #t~mem3);havoc #t~mem3;#t~pre4 := 1 + ~i~0;~i~0 := 1 + ~i~0;havoc #t~pre4; {502#(and (= 0 (mod (+ main_~pa~0.offset (* |main_~#ad1~0.offset| 7)) 8)) (= (select (select |#memory_int| main_~pa~0.base) (+ (* (div (+ main_~pa~0.offset (- |main_~#ad1~0.offset|)) 8) 8) |main_~#ad1~0.offset|)) (div (+ main_~pa~0.offset (* |main_~#ad1~0.offset| (- 1))) 8)) (<= (+ main_~i~0 8) (select (select |#memory_int| main_~pa~0.base) (+ (* (div (+ main_~pa~0.offset (- |main_~#ad1~0.offset|)) 8) 8) |main_~#ad1~0.offset|))))} is VALID [2020-07-10 15:07:05,030 INFO L280 TraceCheckUtils]: 11: Hoare triple {502#(and (= 0 (mod (+ main_~pa~0.offset (* |main_~#ad1~0.offset| 7)) 8)) (= (select (select |#memory_int| main_~pa~0.base) (+ (* (div (+ main_~pa~0.offset (- |main_~#ad1~0.offset|)) 8) 8) |main_~#ad1~0.offset|)) (div (+ main_~pa~0.offset (* |main_~#ad1~0.offset| (- 1))) 8)) (<= (+ main_~i~0 8) (select (select |#memory_int| main_~pa~0.base) (+ (* (div (+ main_~pa~0.offset (- |main_~#ad1~0.offset|)) 8) 8) |main_~#ad1~0.offset|))))} call #t~mem3 := read~int(~pa~0.base, ~pa~0.offset, 4); {506#(exists ((main_~pa~0.offset Int)) (and (<= (+ main_~i~0 8) (div (+ main_~pa~0.offset (* |main_~#ad1~0.offset| (- 1))) 8)) (= 0 (mod (+ main_~pa~0.offset (* |main_~#ad1~0.offset| 7)) 8)) (<= (div (+ main_~pa~0.offset (* |main_~#ad1~0.offset| (- 1))) 8) |main_#t~mem3|)))} is VALID [2020-07-10 15:07:05,032 INFO L280 TraceCheckUtils]: 12: Hoare triple {506#(exists ((main_~pa~0.offset Int)) (and (<= (+ main_~i~0 8) (div (+ main_~pa~0.offset (* |main_~#ad1~0.offset| (- 1))) 8)) (= 0 (mod (+ main_~pa~0.offset (* |main_~#ad1~0.offset| 7)) 8)) (<= (div (+ main_~pa~0.offset (* |main_~#ad1~0.offset| (- 1))) 8) |main_#t~mem3|)))} assume !(~i~0 < #t~mem3);havoc #t~mem3; {454#false} is VALID [2020-07-10 15:07:05,033 INFO L263 TraceCheckUtils]: 13: Hoare triple {454#false} call #t~ret5 := check(~#ad1~0.base, ~#ad1~0.offset, ~i~0); {454#false} is VALID [2020-07-10 15:07:05,033 INFO L280 TraceCheckUtils]: 14: Hoare triple {454#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; {454#false} is VALID [2020-07-10 15:07:05,033 INFO L280 TraceCheckUtils]: 15: Hoare triple {454#false} assume true; {454#false} is VALID [2020-07-10 15:07:05,033 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {454#false} {454#false} #43#return; {454#false} is VALID [2020-07-10 15:07:05,034 INFO L280 TraceCheckUtils]: 17: Hoare triple {454#false} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {454#false} is VALID [2020-07-10 15:07:05,034 INFO L280 TraceCheckUtils]: 18: Hoare triple {454#false} assume 0 == #t~ret5;havoc #t~ret5; {454#false} is VALID [2020-07-10 15:07:05,034 INFO L280 TraceCheckUtils]: 19: Hoare triple {454#false} assume !false; {454#false} is VALID [2020-07-10 15:07:05,036 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-10 15:07:05,037 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-10 15:07:05,037 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 6] total 12 [2020-07-10 15:07:05,037 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1460031484] [2020-07-10 15:07:05,038 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 20 [2020-07-10 15:07:05,039 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:07:05,039 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2020-07-10 15:07:05,101 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:07:05,102 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2020-07-10 15:07:05,102 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:07:05,102 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2020-07-10 15:07:05,103 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=97, Unknown=1, NotChecked=0, Total=132 [2020-07-10 15:07:05,103 INFO L87 Difference]: Start difference. First operand 21 states and 21 transitions. Second operand 12 states. [2020-07-10 15:07:05,735 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:07:05,735 INFO L93 Difference]: Finished difference Result 31 states and 31 transitions. [2020-07-10 15:07:05,736 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2020-07-10 15:07:05,736 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 20 [2020-07-10 15:07:05,736 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:07:05,737 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-10 15:07:05,740 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 31 transitions. [2020-07-10 15:07:05,740 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-10 15:07:05,742 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 31 transitions. [2020-07-10 15:07:05,742 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 31 transitions. [2020-07-10 15:07:05,801 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:07:05,802 INFO L225 Difference]: With dead ends: 31 [2020-07-10 15:07:05,803 INFO L226 Difference]: Without dead ends: 23 [2020-07-10 15:07:05,803 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 36 GetRequests, 19 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 47 ImplicationChecksByTransitivity, 2.4s TimeCoverageRelationStatistics Valid=94, Invalid=211, Unknown=1, NotChecked=0, Total=306 [2020-07-10 15:07:05,804 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 23 states. [2020-07-10 15:07:05,839 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 23 to 23. [2020-07-10 15:07:05,839 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:07:05,839 INFO L82 GeneralOperation]: Start isEquivalent. First operand 23 states. Second operand 23 states. [2020-07-10 15:07:05,839 INFO L74 IsIncluded]: Start isIncluded. First operand 23 states. Second operand 23 states. [2020-07-10 15:07:05,839 INFO L87 Difference]: Start difference. First operand 23 states. Second operand 23 states. [2020-07-10 15:07:05,842 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:07:05,842 INFO L93 Difference]: Finished difference Result 23 states and 23 transitions. [2020-07-10 15:07:05,843 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 23 transitions. [2020-07-10 15:07:05,843 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:07:05,843 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:07:05,843 INFO L74 IsIncluded]: Start isIncluded. First operand 23 states. Second operand 23 states. [2020-07-10 15:07:05,843 INFO L87 Difference]: Start difference. First operand 23 states. Second operand 23 states. [2020-07-10 15:07:05,851 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:07:05,852 INFO L93 Difference]: Finished difference Result 23 states and 23 transitions. [2020-07-10 15:07:05,852 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 23 transitions. [2020-07-10 15:07:05,852 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:07:05,853 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:07:05,853 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:07:05,853 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:07:05,853 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2020-07-10 15:07:05,858 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 23 transitions. [2020-07-10 15:07:05,858 INFO L78 Accepts]: Start accepts. Automaton has 23 states and 23 transitions. Word has length 20 [2020-07-10 15:07:05,858 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:07:05,859 INFO L479 AbstractCegarLoop]: Abstraction has 23 states and 23 transitions. [2020-07-10 15:07:05,859 INFO L480 AbstractCegarLoop]: Interpolant automaton has 12 states. [2020-07-10 15:07:05,859 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 23 transitions. [2020-07-10 15:07:05,860 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2020-07-10 15:07:05,860 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:07:05,861 INFO L422 BasicCegarLoop]: trace histogram [4, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-10 15:07:06,062 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,3 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-10 15:07:06,063 INFO L427 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:07:06,063 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:07:06,064 INFO L82 PathProgramCache]: Analyzing trace with hash -1647043486, now seen corresponding path program 3 times [2020-07-10 15:07:06,064 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:07:06,065 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [68699948] [2020-07-10 15:07:06,065 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:07:06,099 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:07:06,491 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:07:06,495 INFO L280 TraceCheckUtils]: 0: Hoare triple {682#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {667#true} is VALID [2020-07-10 15:07:06,496 INFO L280 TraceCheckUtils]: 1: Hoare triple {667#true} assume true; {667#true} is VALID [2020-07-10 15:07:06,496 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {667#true} {667#true} #39#return; {667#true} is VALID [2020-07-10 15:07:06,507 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:07:06,550 INFO L280 TraceCheckUtils]: 0: Hoare triple {667#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; {683#(or (not (= (select (select |#memory_int| |check_#in~ad1.base|) (+ (* |check_#in~b| 8) |check_#in~ad1.offset|)) |check_#in~b|)) (<= 1 |check_#res|))} is VALID [2020-07-10 15:07:06,551 INFO L280 TraceCheckUtils]: 1: Hoare triple {683#(or (not (= (select (select |#memory_int| |check_#in~ad1.base|) (+ (* |check_#in~b| 8) |check_#in~ad1.offset|)) |check_#in~b|)) (<= 1 |check_#res|))} assume true; {683#(or (not (= (select (select |#memory_int| |check_#in~ad1.base|) (+ (* |check_#in~b| 8) |check_#in~ad1.offset|)) |check_#in~b|)) (<= 1 |check_#res|))} is VALID [2020-07-10 15:07:06,553 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {683#(or (not (= (select (select |#memory_int| |check_#in~ad1.base|) (+ (* |check_#in~b| 8) |check_#in~ad1.offset|)) |check_#in~b|)) (<= 1 |check_#res|))} {677#(and (= 0 |main_~#ad1~0.offset|) (= main_~i~0 (select (select |#memory_int| |main_~#ad1~0.base|) (+ (* main_~i~0 8) |main_~#ad1~0.offset|))))} #43#return; {681#(<= 1 |main_#t~ret5|)} is VALID [2020-07-10 15:07:06,554 INFO L263 TraceCheckUtils]: 0: Hoare triple {667#true} call ULTIMATE.init(); {682#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 15:07:06,554 INFO L280 TraceCheckUtils]: 1: Hoare triple {682#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {667#true} is VALID [2020-07-10 15:07:06,554 INFO L280 TraceCheckUtils]: 2: Hoare triple {667#true} assume true; {667#true} is VALID [2020-07-10 15:07:06,554 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {667#true} {667#true} #39#return; {667#true} is VALID [2020-07-10 15:07:06,555 INFO L263 TraceCheckUtils]: 4: Hoare triple {667#true} call #t~ret6 := main(); {667#true} is VALID [2020-07-10 15:07:06,555 INFO L280 TraceCheckUtils]: 5: Hoare triple {667#true} call ~#ad1~0.base, ~#ad1~0.offset := #Ultimate.allocOnStack(80);havoc ~ad2~0.base, ~ad2~0.offset;havoc ~i~0;havoc ~pa~0.base, ~pa~0.offset;assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~i~0 := #t~nondet1;havoc #t~nondet1; {672#(= 0 |main_~#ad1~0.offset|)} is VALID [2020-07-10 15:07:06,557 INFO L280 TraceCheckUtils]: 6: Hoare triple {672#(= 0 |main_~#ad1~0.offset|)} 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~mem2 := read~int(~ad2~0.base, ~ad2~0.offset + 8 * ~i~0, 4);~i~0 := #t~mem2 - 10;havoc #t~mem2; {673#(and (= (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset) (select (select |#memory_int| |main_~#ad1~0.base|) (+ (* (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset) 8) |main_~#ad1~0.offset|))) (= 0 |main_~#ad1~0.offset|))} is VALID [2020-07-10 15:07:06,558 INFO L280 TraceCheckUtils]: 7: Hoare triple {673#(and (= (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset) (select (select |#memory_int| |main_~#ad1~0.base|) (+ (* (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset) 8) |main_~#ad1~0.offset|))) (= 0 |main_~#ad1~0.offset|))} call #t~mem3 := read~int(~pa~0.base, ~pa~0.offset, 4); {673#(and (= (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset) (select (select |#memory_int| |main_~#ad1~0.base|) (+ (* (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset) 8) |main_~#ad1~0.offset|))) (= 0 |main_~#ad1~0.offset|))} is VALID [2020-07-10 15:07:06,558 INFO L280 TraceCheckUtils]: 8: Hoare triple {673#(and (= (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset) (select (select |#memory_int| |main_~#ad1~0.base|) (+ (* (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset) 8) |main_~#ad1~0.offset|))) (= 0 |main_~#ad1~0.offset|))} assume !!(~i~0 < #t~mem3);havoc #t~mem3;#t~pre4 := 1 + ~i~0;~i~0 := 1 + ~i~0;havoc #t~pre4; {673#(and (= (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset) (select (select |#memory_int| |main_~#ad1~0.base|) (+ (* (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset) 8) |main_~#ad1~0.offset|))) (= 0 |main_~#ad1~0.offset|))} is VALID [2020-07-10 15:07:06,565 INFO L280 TraceCheckUtils]: 9: Hoare triple {673#(and (= (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset) (select (select |#memory_int| |main_~#ad1~0.base|) (+ (* (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset) 8) |main_~#ad1~0.offset|))) (= 0 |main_~#ad1~0.offset|))} call #t~mem3 := read~int(~pa~0.base, ~pa~0.offset, 4); {673#(and (= (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset) (select (select |#memory_int| |main_~#ad1~0.base|) (+ (* (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset) 8) |main_~#ad1~0.offset|))) (= 0 |main_~#ad1~0.offset|))} is VALID [2020-07-10 15:07:06,566 INFO L280 TraceCheckUtils]: 10: Hoare triple {673#(and (= (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset) (select (select |#memory_int| |main_~#ad1~0.base|) (+ (* (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset) 8) |main_~#ad1~0.offset|))) (= 0 |main_~#ad1~0.offset|))} assume !!(~i~0 < #t~mem3);havoc #t~mem3;#t~pre4 := 1 + ~i~0;~i~0 := 1 + ~i~0;havoc #t~pre4; {673#(and (= (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset) (select (select |#memory_int| |main_~#ad1~0.base|) (+ (* (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset) 8) |main_~#ad1~0.offset|))) (= 0 |main_~#ad1~0.offset|))} is VALID [2020-07-10 15:07:06,567 INFO L280 TraceCheckUtils]: 11: Hoare triple {673#(and (= (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset) (select (select |#memory_int| |main_~#ad1~0.base|) (+ (* (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset) 8) |main_~#ad1~0.offset|))) (= 0 |main_~#ad1~0.offset|))} call #t~mem3 := read~int(~pa~0.base, ~pa~0.offset, 4); {674#(and (= 0 |main_~#ad1~0.offset|) (or (= (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset) (select (select |#memory_int| |main_~#ad1~0.base|) (+ (* (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset) 8) |main_~#ad1~0.offset|))) (< |main_#t~mem3| (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset))) (<= |main_#t~mem3| (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset)))} is VALID [2020-07-10 15:07:06,569 INFO L280 TraceCheckUtils]: 12: Hoare triple {674#(and (= 0 |main_~#ad1~0.offset|) (or (= (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset) (select (select |#memory_int| |main_~#ad1~0.base|) (+ (* (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset) 8) |main_~#ad1~0.offset|))) (< |main_#t~mem3| (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset))) (<= |main_#t~mem3| (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset)))} assume !!(~i~0 < #t~mem3);havoc #t~mem3;#t~pre4 := 1 + ~i~0;~i~0 := 1 + ~i~0;havoc #t~pre4; {675#(and (<= main_~i~0 (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset)) (= 0 |main_~#ad1~0.offset|) (or (= (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset) (select (select |#memory_int| |main_~#ad1~0.base|) (+ (* (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset) 8) |main_~#ad1~0.offset|))) (< main_~i~0 (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset))))} is VALID [2020-07-10 15:07:06,570 INFO L280 TraceCheckUtils]: 13: Hoare triple {675#(and (<= main_~i~0 (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset)) (= 0 |main_~#ad1~0.offset|) (or (= (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset) (select (select |#memory_int| |main_~#ad1~0.base|) (+ (* (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset) 8) |main_~#ad1~0.offset|))) (< main_~i~0 (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset))))} call #t~mem3 := read~int(~pa~0.base, ~pa~0.offset, 4); {676#(and (= 0 |main_~#ad1~0.offset|) (or (< main_~i~0 |main_#t~mem3|) (= (select (select |#memory_int| |main_~#ad1~0.base|) (+ (* |main_#t~mem3| 8) |main_~#ad1~0.offset|)) |main_#t~mem3|)) (<= (* 8 main_~i~0) (* 8 |main_#t~mem3|)))} is VALID [2020-07-10 15:07:06,572 INFO L280 TraceCheckUtils]: 14: Hoare triple {676#(and (= 0 |main_~#ad1~0.offset|) (or (< main_~i~0 |main_#t~mem3|) (= (select (select |#memory_int| |main_~#ad1~0.base|) (+ (* |main_#t~mem3| 8) |main_~#ad1~0.offset|)) |main_#t~mem3|)) (<= (* 8 main_~i~0) (* 8 |main_#t~mem3|)))} assume !(~i~0 < #t~mem3);havoc #t~mem3; {677#(and (= 0 |main_~#ad1~0.offset|) (= main_~i~0 (select (select |#memory_int| |main_~#ad1~0.base|) (+ (* main_~i~0 8) |main_~#ad1~0.offset|))))} is VALID [2020-07-10 15:07:06,572 INFO L263 TraceCheckUtils]: 15: Hoare triple {677#(and (= 0 |main_~#ad1~0.offset|) (= main_~i~0 (select (select |#memory_int| |main_~#ad1~0.base|) (+ (* main_~i~0 8) |main_~#ad1~0.offset|))))} call #t~ret5 := check(~#ad1~0.base, ~#ad1~0.offset, ~i~0); {667#true} is VALID [2020-07-10 15:07:06,573 INFO L280 TraceCheckUtils]: 16: Hoare triple {667#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; {683#(or (not (= (select (select |#memory_int| |check_#in~ad1.base|) (+ (* |check_#in~b| 8) |check_#in~ad1.offset|)) |check_#in~b|)) (<= 1 |check_#res|))} is VALID [2020-07-10 15:07:06,574 INFO L280 TraceCheckUtils]: 17: Hoare triple {683#(or (not (= (select (select |#memory_int| |check_#in~ad1.base|) (+ (* |check_#in~b| 8) |check_#in~ad1.offset|)) |check_#in~b|)) (<= 1 |check_#res|))} assume true; {683#(or (not (= (select (select |#memory_int| |check_#in~ad1.base|) (+ (* |check_#in~b| 8) |check_#in~ad1.offset|)) |check_#in~b|)) (<= 1 |check_#res|))} is VALID [2020-07-10 15:07:06,576 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {683#(or (not (= (select (select |#memory_int| |check_#in~ad1.base|) (+ (* |check_#in~b| 8) |check_#in~ad1.offset|)) |check_#in~b|)) (<= 1 |check_#res|))} {677#(and (= 0 |main_~#ad1~0.offset|) (= main_~i~0 (select (select |#memory_int| |main_~#ad1~0.base|) (+ (* main_~i~0 8) |main_~#ad1~0.offset|))))} #43#return; {681#(<= 1 |main_#t~ret5|)} is VALID [2020-07-10 15:07:06,577 INFO L280 TraceCheckUtils]: 19: Hoare triple {681#(<= 1 |main_#t~ret5|)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {681#(<= 1 |main_#t~ret5|)} is VALID [2020-07-10 15:07:06,588 INFO L280 TraceCheckUtils]: 20: Hoare triple {681#(<= 1 |main_#t~ret5|)} assume 0 == #t~ret5;havoc #t~ret5; {668#false} is VALID [2020-07-10 15:07:06,588 INFO L280 TraceCheckUtils]: 21: Hoare triple {668#false} assume !false; {668#false} is VALID [2020-07-10 15:07:06,594 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2020-07-10 15:07:06,594 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [68699948] [2020-07-10 15:07:06,595 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [698728622] [2020-07-10 15:07:06,595 INFO L92 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-10 15:07:06,645 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2020-07-10 15:07:06,646 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-10 15:07:06,647 INFO L264 TraceCheckSpWp]: Trace formula consists of 90 conjuncts, 27 conjunts are in the unsatisfiable core [2020-07-10 15:07:06,659 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:07:06,661 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-10 15:07:06,711 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 21 [2020-07-10 15:07:06,712 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-10 15:07:06,721 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:07:06,722 INFO L544 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2020-07-10 15:07:06,722 INFO L244 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:38, output treesize:34 [2020-07-10 15:07:09,102 WARN L860 $PredicateComparison]: unable to prove that (exists ((|v_main_~#ad1~0.base_BEFORE_CALL_1| Int) (|v_main_~#ad1~0.offset_BEFORE_CALL_1| Int) (main_~pa~0.offset Int)) (and (= 0 (mod (+ (* |v_main_~#ad1~0.offset_BEFORE_CALL_1| 7) main_~pa~0.offset) 8)) (let ((.cse0 (div (+ (* |v_main_~#ad1~0.offset_BEFORE_CALL_1| (- 1)) main_~pa~0.offset) 8))) (= .cse0 (select (select |c_#memory_int| |v_main_~#ad1~0.base_BEFORE_CALL_1|) (+ |v_main_~#ad1~0.offset_BEFORE_CALL_1| (* .cse0 8))))))) is different from true [2020-07-10 15:07:17,261 WARN L193 SmtUtils]: Spent 8.08 s on a formula simplification that was a NOOP. DAG size: 38 [2020-07-10 15:07:31,547 WARN L193 SmtUtils]: Spent 10.14 s on a formula simplification. DAG size of input: 55 DAG size of output: 38 [2020-07-10 15:07:31,573 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 2 disjuncts [2020-07-10 15:07:31,586 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 2 disjuncts [2020-07-10 15:07:31,646 INFO L263 TraceCheckUtils]: 0: Hoare triple {667#true} call ULTIMATE.init(); {667#true} is VALID [2020-07-10 15:07:31,646 INFO L280 TraceCheckUtils]: 1: Hoare triple {667#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {667#true} is VALID [2020-07-10 15:07:31,647 INFO L280 TraceCheckUtils]: 2: Hoare triple {667#true} assume true; {667#true} is VALID [2020-07-10 15:07:31,647 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {667#true} {667#true} #39#return; {667#true} is VALID [2020-07-10 15:07:31,647 INFO L263 TraceCheckUtils]: 4: Hoare triple {667#true} call #t~ret6 := main(); {667#true} is VALID [2020-07-10 15:07:31,647 INFO L280 TraceCheckUtils]: 5: Hoare triple {667#true} call ~#ad1~0.base, ~#ad1~0.offset := #Ultimate.allocOnStack(80);havoc ~ad2~0.base, ~ad2~0.offset;havoc ~i~0;havoc ~pa~0.base, ~pa~0.offset;assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~i~0 := #t~nondet1;havoc #t~nondet1; {667#true} is VALID [2020-07-10 15:07:31,650 INFO L280 TraceCheckUtils]: 6: Hoare triple {667#true} 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~mem2 := read~int(~ad2~0.base, ~ad2~0.offset + 8 * ~i~0, 4);~i~0 := #t~mem2 - 10;havoc #t~mem2; {705#(and (= 0 (mod (+ main_~pa~0.offset (* |main_~#ad1~0.offset| 7)) 8)) (= main_~pa~0.base |main_~#ad1~0.base|) (= (div (+ main_~pa~0.offset (* |main_~#ad1~0.offset| (- 1))) 8) (select (select |#memory_int| |main_~#ad1~0.base|) (+ (* (div (+ main_~pa~0.offset (- |main_~#ad1~0.offset|)) 8) 8) |main_~#ad1~0.offset|))))} is VALID [2020-07-10 15:07:31,652 INFO L280 TraceCheckUtils]: 7: Hoare triple {705#(and (= 0 (mod (+ main_~pa~0.offset (* |main_~#ad1~0.offset| 7)) 8)) (= main_~pa~0.base |main_~#ad1~0.base|) (= (div (+ main_~pa~0.offset (* |main_~#ad1~0.offset| (- 1))) 8) (select (select |#memory_int| |main_~#ad1~0.base|) (+ (* (div (+ main_~pa~0.offset (- |main_~#ad1~0.offset|)) 8) 8) |main_~#ad1~0.offset|))))} call #t~mem3 := read~int(~pa~0.base, ~pa~0.offset, 4); {705#(and (= 0 (mod (+ main_~pa~0.offset (* |main_~#ad1~0.offset| 7)) 8)) (= main_~pa~0.base |main_~#ad1~0.base|) (= (div (+ main_~pa~0.offset (* |main_~#ad1~0.offset| (- 1))) 8) (select (select |#memory_int| |main_~#ad1~0.base|) (+ (* (div (+ main_~pa~0.offset (- |main_~#ad1~0.offset|)) 8) 8) |main_~#ad1~0.offset|))))} is VALID [2020-07-10 15:07:31,653 INFO L280 TraceCheckUtils]: 8: Hoare triple {705#(and (= 0 (mod (+ main_~pa~0.offset (* |main_~#ad1~0.offset| 7)) 8)) (= main_~pa~0.base |main_~#ad1~0.base|) (= (div (+ main_~pa~0.offset (* |main_~#ad1~0.offset| (- 1))) 8) (select (select |#memory_int| |main_~#ad1~0.base|) (+ (* (div (+ main_~pa~0.offset (- |main_~#ad1~0.offset|)) 8) 8) |main_~#ad1~0.offset|))))} assume !!(~i~0 < #t~mem3);havoc #t~mem3;#t~pre4 := 1 + ~i~0;~i~0 := 1 + ~i~0;havoc #t~pre4; {705#(and (= 0 (mod (+ main_~pa~0.offset (* |main_~#ad1~0.offset| 7)) 8)) (= main_~pa~0.base |main_~#ad1~0.base|) (= (div (+ main_~pa~0.offset (* |main_~#ad1~0.offset| (- 1))) 8) (select (select |#memory_int| |main_~#ad1~0.base|) (+ (* (div (+ main_~pa~0.offset (- |main_~#ad1~0.offset|)) 8) 8) |main_~#ad1~0.offset|))))} is VALID [2020-07-10 15:07:31,654 INFO L280 TraceCheckUtils]: 9: Hoare triple {705#(and (= 0 (mod (+ main_~pa~0.offset (* |main_~#ad1~0.offset| 7)) 8)) (= main_~pa~0.base |main_~#ad1~0.base|) (= (div (+ main_~pa~0.offset (* |main_~#ad1~0.offset| (- 1))) 8) (select (select |#memory_int| |main_~#ad1~0.base|) (+ (* (div (+ main_~pa~0.offset (- |main_~#ad1~0.offset|)) 8) 8) |main_~#ad1~0.offset|))))} call #t~mem3 := read~int(~pa~0.base, ~pa~0.offset, 4); {705#(and (= 0 (mod (+ main_~pa~0.offset (* |main_~#ad1~0.offset| 7)) 8)) (= main_~pa~0.base |main_~#ad1~0.base|) (= (div (+ main_~pa~0.offset (* |main_~#ad1~0.offset| (- 1))) 8) (select (select |#memory_int| |main_~#ad1~0.base|) (+ (* (div (+ main_~pa~0.offset (- |main_~#ad1~0.offset|)) 8) 8) |main_~#ad1~0.offset|))))} is VALID [2020-07-10 15:07:31,656 INFO L280 TraceCheckUtils]: 10: Hoare triple {705#(and (= 0 (mod (+ main_~pa~0.offset (* |main_~#ad1~0.offset| 7)) 8)) (= main_~pa~0.base |main_~#ad1~0.base|) (= (div (+ main_~pa~0.offset (* |main_~#ad1~0.offset| (- 1))) 8) (select (select |#memory_int| |main_~#ad1~0.base|) (+ (* (div (+ main_~pa~0.offset (- |main_~#ad1~0.offset|)) 8) 8) |main_~#ad1~0.offset|))))} assume !!(~i~0 < #t~mem3);havoc #t~mem3;#t~pre4 := 1 + ~i~0;~i~0 := 1 + ~i~0;havoc #t~pre4; {705#(and (= 0 (mod (+ main_~pa~0.offset (* |main_~#ad1~0.offset| 7)) 8)) (= main_~pa~0.base |main_~#ad1~0.base|) (= (div (+ main_~pa~0.offset (* |main_~#ad1~0.offset| (- 1))) 8) (select (select |#memory_int| |main_~#ad1~0.base|) (+ (* (div (+ main_~pa~0.offset (- |main_~#ad1~0.offset|)) 8) 8) |main_~#ad1~0.offset|))))} is VALID [2020-07-10 15:07:31,657 INFO L280 TraceCheckUtils]: 11: Hoare triple {705#(and (= 0 (mod (+ main_~pa~0.offset (* |main_~#ad1~0.offset| 7)) 8)) (= main_~pa~0.base |main_~#ad1~0.base|) (= (div (+ main_~pa~0.offset (* |main_~#ad1~0.offset| (- 1))) 8) (select (select |#memory_int| |main_~#ad1~0.base|) (+ (* (div (+ main_~pa~0.offset (- |main_~#ad1~0.offset|)) 8) 8) |main_~#ad1~0.offset|))))} call #t~mem3 := read~int(~pa~0.base, ~pa~0.offset, 4); {721#(and (= 0 (mod (+ main_~pa~0.offset (* |main_~#ad1~0.offset| 7)) 8)) (= main_~pa~0.base |main_~#ad1~0.base|) (<= |main_#t~mem3| (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset)) (= (div (+ main_~pa~0.offset (* |main_~#ad1~0.offset| (- 1))) 8) (select (select |#memory_int| |main_~#ad1~0.base|) (+ (* (div (+ main_~pa~0.offset (- |main_~#ad1~0.offset|)) 8) 8) |main_~#ad1~0.offset|))))} is VALID [2020-07-10 15:07:31,659 INFO L280 TraceCheckUtils]: 12: Hoare triple {721#(and (= 0 (mod (+ main_~pa~0.offset (* |main_~#ad1~0.offset| 7)) 8)) (= main_~pa~0.base |main_~#ad1~0.base|) (<= |main_#t~mem3| (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset)) (= (div (+ main_~pa~0.offset (* |main_~#ad1~0.offset| (- 1))) 8) (select (select |#memory_int| |main_~#ad1~0.base|) (+ (* (div (+ main_~pa~0.offset (- |main_~#ad1~0.offset|)) 8) 8) |main_~#ad1~0.offset|))))} assume !!(~i~0 < #t~mem3);havoc #t~mem3;#t~pre4 := 1 + ~i~0;~i~0 := 1 + ~i~0;havoc #t~pre4; {725#(and (= 0 (mod (+ main_~pa~0.offset (* |main_~#ad1~0.offset| 7)) 8)) (<= main_~i~0 (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset)) (= main_~pa~0.base |main_~#ad1~0.base|) (= (div (+ main_~pa~0.offset (* |main_~#ad1~0.offset| (- 1))) 8) (select (select |#memory_int| |main_~#ad1~0.base|) (+ (* (div (+ main_~pa~0.offset (- |main_~#ad1~0.offset|)) 8) 8) |main_~#ad1~0.offset|))))} is VALID [2020-07-10 15:07:31,661 INFO L280 TraceCheckUtils]: 13: Hoare triple {725#(and (= 0 (mod (+ main_~pa~0.offset (* |main_~#ad1~0.offset| 7)) 8)) (<= main_~i~0 (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset)) (= main_~pa~0.base |main_~#ad1~0.base|) (= (div (+ main_~pa~0.offset (* |main_~#ad1~0.offset| (- 1))) 8) (select (select |#memory_int| |main_~#ad1~0.base|) (+ (* (div (+ main_~pa~0.offset (- |main_~#ad1~0.offset|)) 8) 8) |main_~#ad1~0.offset|))))} call #t~mem3 := read~int(~pa~0.base, ~pa~0.offset, 4); {729#(exists ((main_~pa~0.offset Int)) (and (= 0 (mod (+ main_~pa~0.offset (* |main_~#ad1~0.offset| 7)) 8)) (<= (select (select |#memory_int| |main_~#ad1~0.base|) main_~pa~0.offset) |main_#t~mem3|) (<= main_~i~0 (select (select |#memory_int| |main_~#ad1~0.base|) main_~pa~0.offset)) (= (div (+ main_~pa~0.offset (* |main_~#ad1~0.offset| (- 1))) 8) (select (select |#memory_int| |main_~#ad1~0.base|) (+ (* (div (+ main_~pa~0.offset (- |main_~#ad1~0.offset|)) 8) 8) |main_~#ad1~0.offset|)))))} is VALID [2020-07-10 15:07:31,669 INFO L280 TraceCheckUtils]: 14: Hoare triple {729#(exists ((main_~pa~0.offset Int)) (and (= 0 (mod (+ main_~pa~0.offset (* |main_~#ad1~0.offset| 7)) 8)) (<= (select (select |#memory_int| |main_~#ad1~0.base|) main_~pa~0.offset) |main_#t~mem3|) (<= main_~i~0 (select (select |#memory_int| |main_~#ad1~0.base|) main_~pa~0.offset)) (= (div (+ main_~pa~0.offset (* |main_~#ad1~0.offset| (- 1))) 8) (select (select |#memory_int| |main_~#ad1~0.base|) (+ (* (div (+ main_~pa~0.offset (- |main_~#ad1~0.offset|)) 8) 8) |main_~#ad1~0.offset|)))))} assume !(~i~0 < #t~mem3);havoc #t~mem3; {733#(exists ((main_~pa~0.offset Int)) (and (= 0 (mod (+ main_~pa~0.offset (* |main_~#ad1~0.offset| 7)) 8)) (<= main_~i~0 (select (select |#memory_int| |main_~#ad1~0.base|) main_~pa~0.offset)) (<= (select (select |#memory_int| |main_~#ad1~0.base|) main_~pa~0.offset) main_~i~0) (= (div (+ main_~pa~0.offset (* |main_~#ad1~0.offset| (- 1))) 8) (select (select |#memory_int| |main_~#ad1~0.base|) (+ (* (div (+ main_~pa~0.offset (- |main_~#ad1~0.offset|)) 8) 8) |main_~#ad1~0.offset|)))))} is VALID [2020-07-10 15:07:33,714 INFO L263 TraceCheckUtils]: 15: Hoare triple {733#(exists ((main_~pa~0.offset Int)) (and (= 0 (mod (+ main_~pa~0.offset (* |main_~#ad1~0.offset| 7)) 8)) (<= main_~i~0 (select (select |#memory_int| |main_~#ad1~0.base|) main_~pa~0.offset)) (<= (select (select |#memory_int| |main_~#ad1~0.base|) main_~pa~0.offset) main_~i~0) (= (div (+ main_~pa~0.offset (* |main_~#ad1~0.offset| (- 1))) 8) (select (select |#memory_int| |main_~#ad1~0.base|) (+ (* (div (+ main_~pa~0.offset (- |main_~#ad1~0.offset|)) 8) 8) |main_~#ad1~0.offset|)))))} call #t~ret5 := check(~#ad1~0.base, ~#ad1~0.offset, ~i~0); {737#(exists ((|v_main_~#ad1~0.base_BEFORE_CALL_1| Int) (|v_main_~#ad1~0.offset_BEFORE_CALL_1| Int) (main_~pa~0.offset Int)) (and (= 0 (mod (+ (* |v_main_~#ad1~0.offset_BEFORE_CALL_1| 7) main_~pa~0.offset) 8)) (= (div (+ (* |v_main_~#ad1~0.offset_BEFORE_CALL_1| (- 1)) main_~pa~0.offset) 8) (select (select |#memory_int| |v_main_~#ad1~0.base_BEFORE_CALL_1|) (+ |v_main_~#ad1~0.offset_BEFORE_CALL_1| (* (div (+ (* |v_main_~#ad1~0.offset_BEFORE_CALL_1| (- 1)) main_~pa~0.offset) 8) 8))))))} is UNKNOWN [2020-07-10 15:07:33,717 INFO L280 TraceCheckUtils]: 16: Hoare triple {737#(exists ((|v_main_~#ad1~0.base_BEFORE_CALL_1| Int) (|v_main_~#ad1~0.offset_BEFORE_CALL_1| Int) (main_~pa~0.offset Int)) (and (= 0 (mod (+ (* |v_main_~#ad1~0.offset_BEFORE_CALL_1| 7) main_~pa~0.offset) 8)) (= (div (+ (* |v_main_~#ad1~0.offset_BEFORE_CALL_1| (- 1)) main_~pa~0.offset) 8) (select (select |#memory_int| |v_main_~#ad1~0.base_BEFORE_CALL_1|) (+ |v_main_~#ad1~0.offset_BEFORE_CALL_1| (* (div (+ (* |v_main_~#ad1~0.offset_BEFORE_CALL_1| (- 1)) main_~pa~0.offset) 8) 8))))))} ~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; {741#(or (and (= |check_#in~b| (select (select |#memory_int| |check_#in~ad1.base|) (+ |check_#in~ad1.offset| (* |check_#in~b| 8)))) (exists ((|v_main_~#ad1~0.base_BEFORE_CALL_1| Int) (|v_main_~#ad1~0.offset_BEFORE_CALL_1| Int) (main_~pa~0.offset Int)) (and (= 0 (mod (+ (* |v_main_~#ad1~0.offset_BEFORE_CALL_1| 7) main_~pa~0.offset) 8)) (= (div (+ (* |v_main_~#ad1~0.offset_BEFORE_CALL_1| (- 1)) main_~pa~0.offset) 8) (select (select |#memory_int| |v_main_~#ad1~0.base_BEFORE_CALL_1|) (+ |v_main_~#ad1~0.offset_BEFORE_CALL_1| (* (div (+ (* |v_main_~#ad1~0.offset_BEFORE_CALL_1| (- 1)) main_~pa~0.offset) 8) 8)))))) (<= 1 |check_#res|)) (and (not (= |check_#in~b| (select (select |#memory_int| |check_#in~ad1.base|) (+ |check_#in~ad1.offset| (* |check_#in~b| 8))))) (<= 0 |check_#res|) (exists ((|v_main_~#ad1~0.base_BEFORE_CALL_1| Int) (|v_main_~#ad1~0.offset_BEFORE_CALL_1| Int) (main_~pa~0.offset Int)) (and (= 0 (mod (+ (* |v_main_~#ad1~0.offset_BEFORE_CALL_1| 7) main_~pa~0.offset) 8)) (= (div (+ (* |v_main_~#ad1~0.offset_BEFORE_CALL_1| (- 1)) main_~pa~0.offset) 8) (select (select |#memory_int| |v_main_~#ad1~0.base_BEFORE_CALL_1|) (+ |v_main_~#ad1~0.offset_BEFORE_CALL_1| (* (div (+ (* |v_main_~#ad1~0.offset_BEFORE_CALL_1| (- 1)) main_~pa~0.offset) 8) 8))))))))} is VALID [2020-07-10 15:07:35,731 INFO L280 TraceCheckUtils]: 17: Hoare triple {741#(or (and (= |check_#in~b| (select (select |#memory_int| |check_#in~ad1.base|) (+ |check_#in~ad1.offset| (* |check_#in~b| 8)))) (exists ((|v_main_~#ad1~0.base_BEFORE_CALL_1| Int) (|v_main_~#ad1~0.offset_BEFORE_CALL_1| Int) (main_~pa~0.offset Int)) (and (= 0 (mod (+ (* |v_main_~#ad1~0.offset_BEFORE_CALL_1| 7) main_~pa~0.offset) 8)) (= (div (+ (* |v_main_~#ad1~0.offset_BEFORE_CALL_1| (- 1)) main_~pa~0.offset) 8) (select (select |#memory_int| |v_main_~#ad1~0.base_BEFORE_CALL_1|) (+ |v_main_~#ad1~0.offset_BEFORE_CALL_1| (* (div (+ (* |v_main_~#ad1~0.offset_BEFORE_CALL_1| (- 1)) main_~pa~0.offset) 8) 8)))))) (<= 1 |check_#res|)) (and (not (= |check_#in~b| (select (select |#memory_int| |check_#in~ad1.base|) (+ |check_#in~ad1.offset| (* |check_#in~b| 8))))) (<= 0 |check_#res|) (exists ((|v_main_~#ad1~0.base_BEFORE_CALL_1| Int) (|v_main_~#ad1~0.offset_BEFORE_CALL_1| Int) (main_~pa~0.offset Int)) (and (= 0 (mod (+ (* |v_main_~#ad1~0.offset_BEFORE_CALL_1| 7) main_~pa~0.offset) 8)) (= (div (+ (* |v_main_~#ad1~0.offset_BEFORE_CALL_1| (- 1)) main_~pa~0.offset) 8) (select (select |#memory_int| |v_main_~#ad1~0.base_BEFORE_CALL_1|) (+ |v_main_~#ad1~0.offset_BEFORE_CALL_1| (* (div (+ (* |v_main_~#ad1~0.offset_BEFORE_CALL_1| (- 1)) main_~pa~0.offset) 8) 8))))))))} assume true; {745#(or (and (= |check_#in~b| (select (select |#memory_int| |check_#in~ad1.base|) (+ |check_#in~ad1.offset| (* |check_#in~b| 8)))) (<= 1 |check_#res|)) (and (not (= |check_#in~b| (select (select |#memory_int| |check_#in~ad1.base|) (+ |check_#in~ad1.offset| (* |check_#in~b| 8))))) (<= 0 |check_#res|) (exists ((v_prenex_2 Int) (v_prenex_3 Int) (v_prenex_1 Int)) (and (= 0 (mod (+ (* v_prenex_2 7) v_prenex_3) 8)) (= (div (+ (* v_prenex_2 (- 1)) v_prenex_3) 8) (select (select |#memory_int| v_prenex_1) (+ v_prenex_2 (* (div (+ (* v_prenex_2 (- 1)) v_prenex_3) 8) 8))))))))} is UNKNOWN [2020-07-10 15:07:35,735 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {745#(or (and (= |check_#in~b| (select (select |#memory_int| |check_#in~ad1.base|) (+ |check_#in~ad1.offset| (* |check_#in~b| 8)))) (<= 1 |check_#res|)) (and (not (= |check_#in~b| (select (select |#memory_int| |check_#in~ad1.base|) (+ |check_#in~ad1.offset| (* |check_#in~b| 8))))) (<= 0 |check_#res|) (exists ((v_prenex_2 Int) (v_prenex_3 Int) (v_prenex_1 Int)) (and (= 0 (mod (+ (* v_prenex_2 7) v_prenex_3) 8)) (= (div (+ (* v_prenex_2 (- 1)) v_prenex_3) 8) (select (select |#memory_int| v_prenex_1) (+ v_prenex_2 (* (div (+ (* v_prenex_2 (- 1)) v_prenex_3) 8) 8))))))))} {733#(exists ((main_~pa~0.offset Int)) (and (= 0 (mod (+ main_~pa~0.offset (* |main_~#ad1~0.offset| 7)) 8)) (<= main_~i~0 (select (select |#memory_int| |main_~#ad1~0.base|) main_~pa~0.offset)) (<= (select (select |#memory_int| |main_~#ad1~0.base|) main_~pa~0.offset) main_~i~0) (= (div (+ main_~pa~0.offset (* |main_~#ad1~0.offset| (- 1))) 8) (select (select |#memory_int| |main_~#ad1~0.base|) (+ (* (div (+ main_~pa~0.offset (- |main_~#ad1~0.offset|)) 8) 8) |main_~#ad1~0.offset|)))))} #43#return; {681#(<= 1 |main_#t~ret5|)} is VALID [2020-07-10 15:07:35,736 INFO L280 TraceCheckUtils]: 19: Hoare triple {681#(<= 1 |main_#t~ret5|)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {681#(<= 1 |main_#t~ret5|)} is VALID [2020-07-10 15:07:35,742 INFO L280 TraceCheckUtils]: 20: Hoare triple {681#(<= 1 |main_#t~ret5|)} assume 0 == #t~ret5;havoc #t~ret5; {668#false} is VALID [2020-07-10 15:07:35,742 INFO L280 TraceCheckUtils]: 21: Hoare triple {668#false} assume !false; {668#false} is VALID [2020-07-10 15:07:35,747 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 5 proven. 3 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2020-07-10 15:07:35,748 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-10 15:07:35,748 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 19 [2020-07-10 15:07:35,748 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [127096307] [2020-07-10 15:07:35,749 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 22 [2020-07-10 15:07:35,750 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:07:35,750 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states. [2020-07-10 15:07:38,130 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 33 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2020-07-10 15:07:38,130 INFO L459 AbstractCegarLoop]: Interpolant automaton has 19 states [2020-07-10 15:07:38,131 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:07:38,131 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2020-07-10 15:07:38,131 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=262, Unknown=3, NotChecked=32, Total=342 [2020-07-10 15:07:38,132 INFO L87 Difference]: Start difference. First operand 23 states and 23 transitions. Second operand 19 states. [2020-07-10 15:07:55,172 WARN L193 SmtUtils]: Spent 2.02 s on a formula simplification that was a NOOP. DAG size: 32 [2020-07-10 15:08:09,446 WARN L193 SmtUtils]: Spent 8.14 s on a formula simplification that was a NOOP. DAG size: 48 [2020-07-10 15:08:11,838 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:11,839 INFO L93 Difference]: Finished difference Result 23 states and 23 transitions. [2020-07-10 15:08:11,839 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2020-07-10 15:08:11,839 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 22 [2020-07-10 15:08:11,839 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:08:11,839 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2020-07-10 15:08:11,840 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 17 transitions. [2020-07-10 15:08:11,841 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2020-07-10 15:08:11,842 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 17 transitions. [2020-07-10 15:08:11,842 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 17 transitions. [2020-07-10 15:08:15,930 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 15 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2020-07-10 15:08:15,930 INFO L225 Difference]: With dead ends: 23 [2020-07-10 15:08:15,930 INFO L226 Difference]: Without dead ends: 0 [2020-07-10 15:08:15,931 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 41 GetRequests, 17 SyntacticMatches, 1 SemanticMatches, 23 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 104 ImplicationChecksByTransitivity, 41.5s TimeCoverageRelationStatistics Valid=95, Invalid=456, Unknown=5, NotChecked=44, Total=600 [2020-07-10 15:08:15,931 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2020-07-10 15:08:15,931 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2020-07-10 15:08:15,932 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:08:15,932 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand 0 states. [2020-07-10 15:08:15,932 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand 0 states. [2020-07-10 15:08:15,932 INFO L87 Difference]: Start difference. First operand 0 states. Second operand 0 states. [2020-07-10 15:08:15,932 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:15,932 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2020-07-10 15:08:15,932 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2020-07-10 15:08:15,933 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:08:15,933 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:08:15,933 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand 0 states. [2020-07-10 15:08:15,933 INFO L87 Difference]: Start difference. First operand 0 states. Second operand 0 states. [2020-07-10 15:08:15,933 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:15,933 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2020-07-10 15:08:15,933 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2020-07-10 15:08:15,933 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:08:15,933 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:08:15,933 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:08:15,934 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:08:15,934 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 0 states. [2020-07-10 15:08:15,934 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2020-07-10 15:08:15,934 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 22 [2020-07-10 15:08:15,934 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:08:15,934 INFO L479 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2020-07-10 15:08:15,934 INFO L480 AbstractCegarLoop]: Interpolant automaton has 19 states. [2020-07-10 15:08:15,934 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2020-07-10 15:08:15,934 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:08:16,135 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,4 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-10 15:08:16,139 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2020-07-10 15:08:20,312 WARN L193 SmtUtils]: Spent 2.04 s on a formula simplification. DAG size of input: 34 DAG size of output: 1 [2020-07-10 15:08:20,324 INFO L268 CegarLoopResult]: For program point ULTIMATE.initFINAL(line -1) no Hoare annotation was computed. [2020-07-10 15:08:20,325 INFO L264 CegarLoopResult]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: (and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|)) [2020-07-10 15:08:20,325 INFO L268 CegarLoopResult]: For program point ULTIMATE.initEXIT(line -1) no Hoare annotation was computed. [2020-07-10 15:08:20,325 INFO L268 CegarLoopResult]: For program point ULTIMATE.startEXIT(line -1) no Hoare annotation was computed. [2020-07-10 15:08:20,325 INFO L271 CegarLoopResult]: At program point L-1(line -1) the Hoare annotation is: true [2020-07-10 15:08:20,325 INFO L271 CegarLoopResult]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2020-07-10 15:08:20,325 INFO L268 CegarLoopResult]: For program point ULTIMATE.startFINAL(line -1) no Hoare annotation was computed. [2020-07-10 15:08:20,325 INFO L268 CegarLoopResult]: For program point L29(line 29) no Hoare annotation was computed. [2020-07-10 15:08:20,325 INFO L268 CegarLoopResult]: For program point L29-1(lines 29 31) no Hoare annotation was computed. [2020-07-10 15:08:20,326 INFO L268 CegarLoopResult]: For program point mainEXIT(lines 14 38) no Hoare annotation was computed. [2020-07-10 15:08:20,326 INFO L268 CegarLoopResult]: For program point L21(lines 21 32) no Hoare annotation was computed. [2020-07-10 15:08:20,326 INFO L268 CegarLoopResult]: For program point L21-2(lines 21 32) no Hoare annotation was computed. [2020-07-10 15:08:20,326 INFO L268 CegarLoopResult]: For program point mainFINAL(lines 14 38) no Hoare annotation was computed. [2020-07-10 15:08:20,326 INFO L268 CegarLoopResult]: For program point mainErr0ASSERT_VIOLATIONERROR_FUNCTION(line 36) no Hoare annotation was computed. [2020-07-10 15:08:20,326 INFO L264 CegarLoopResult]: At program point L30(lines 15 38) the Hoare annotation is: false [2020-07-10 15:08:20,326 INFO L264 CegarLoopResult]: At program point mainENTRY(lines 14 38) the Hoare annotation is: (= |#valid| |old(#valid)|) [2020-07-10 15:08:20,326 INFO L268 CegarLoopResult]: For program point L26-1(lines 26 28) no Hoare annotation was computed. [2020-07-10 15:08:20,327 INFO L264 CegarLoopResult]: At program point L26-3(lines 26 28) the Hoare annotation is: (and (let ((.cse0 (div (+ main_~pa~0.offset (* |main_~#ad1~0.offset| (- 1))) 8))) (= (select (select |#memory_int| |main_~#ad1~0.base|) (+ (* .cse0 8) |main_~#ad1~0.offset|)) .cse0)) (= 0 (mod (+ main_~pa~0.offset (* |main_~#ad1~0.offset| 7)) 8)) (<= main_~i~0 (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset)) (= 0 |main_~#ad1~0.offset|) (= main_~pa~0.base |main_~#ad1~0.base|)) [2020-07-10 15:08:20,327 INFO L264 CegarLoopResult]: At program point L26-4(lines 26 28) the Hoare annotation is: (let ((.cse0 (select |#memory_int| |main_~#ad1~0.base|))) (and (let ((.cse1 (div (+ main_~pa~0.offset (* |main_~#ad1~0.offset| (- 1))) 8))) (= (select .cse0 (+ (* .cse1 8) |main_~#ad1~0.offset|)) .cse1)) (= 0 (mod (+ main_~pa~0.offset (* |main_~#ad1~0.offset| 7)) 8)) (<= main_~i~0 (select (select |#memory_int| main_~pa~0.base) main_~pa~0.offset)) (= 0 |main_~#ad1~0.offset|) (= main_~i~0 (select .cse0 (+ (* main_~i~0 8) |main_~#ad1~0.offset|))) (= main_~pa~0.base |main_~#ad1~0.base|))) [2020-07-10 15:08:20,327 INFO L271 CegarLoopResult]: At program point checkENTRY(lines 9 12) the Hoare annotation is: true [2020-07-10 15:08:20,328 INFO L268 CegarLoopResult]: For program point checkFINAL(lines 9 12) no Hoare annotation was computed. [2020-07-10 15:08:20,328 INFO L268 CegarLoopResult]: For program point checkEXIT(lines 9 12) no Hoare annotation was computed. [2020-07-10 15:08:20,332 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2020-07-10 15:08:20,333 WARN L170 areAnnotationChecker]: L21 has no Hoare annotation [2020-07-10 15:08:20,333 WARN L170 areAnnotationChecker]: checkFINAL has no Hoare annotation [2020-07-10 15:08:20,333 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2020-07-10 15:08:20,333 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2020-07-10 15:08:20,334 WARN L170 areAnnotationChecker]: L21 has no Hoare annotation [2020-07-10 15:08:20,334 WARN L170 areAnnotationChecker]: L21 has no Hoare annotation [2020-07-10 15:08:20,334 WARN L170 areAnnotationChecker]: checkFINAL has no Hoare annotation [2020-07-10 15:08:20,334 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2020-07-10 15:08:20,334 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2020-07-10 15:08:20,337 WARN L170 areAnnotationChecker]: L26-1 has no Hoare annotation [2020-07-10 15:08:20,337 WARN L170 areAnnotationChecker]: L21-2 has no Hoare annotation [2020-07-10 15:08:20,337 WARN L170 areAnnotationChecker]: checkEXIT has no Hoare annotation [2020-07-10 15:08:20,337 WARN L170 areAnnotationChecker]: L29 has no Hoare annotation [2020-07-10 15:08:20,337 WARN L170 areAnnotationChecker]: L26-1 has no Hoare annotation [2020-07-10 15:08:20,337 WARN L170 areAnnotationChecker]: L26-1 has no Hoare annotation [2020-07-10 15:08:20,337 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2020-07-10 15:08:20,338 WARN L170 areAnnotationChecker]: L29 has no Hoare annotation [2020-07-10 15:08:20,338 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2020-07-10 15:08:20,338 WARN L170 areAnnotationChecker]: L29-1 has no Hoare annotation [2020-07-10 15:08:20,338 WARN L170 areAnnotationChecker]: L29-1 has no Hoare annotation [2020-07-10 15:08:20,338 WARN L170 areAnnotationChecker]: mainErr0ASSERT_VIOLATIONERROR_FUNCTION has no Hoare annotation [2020-07-10 15:08:20,338 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2020-07-10 15:08:20,338 INFO L163 areAnnotationChecker]: CFG has 4 edges. 4 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2020-07-10 15:08:20,348 WARN L1295 BoogieBacktranslator]: unknown boogie variable #memory_int [2020-07-10 15:08:20,349 WARN L1295 BoogieBacktranslator]: unknown boogie variable #memory_int [2020-07-10 15:08:20,353 WARN L1295 BoogieBacktranslator]: unknown boogie variable #memory_int [2020-07-10 15:08:20,354 WARN L1295 BoogieBacktranslator]: unknown boogie variable #memory_int [2020-07-10 15:08:20,359 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 10.07 03:08:20 BoogieIcfgContainer [2020-07-10 15:08:20,359 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2020-07-10 15:08:20,361 INFO L168 Benchmark]: Toolchain (without parser) took 88776.97 ms. Allocated memory was 138.9 MB in the beginning and 284.7 MB in the end (delta: 145.8 MB). Free memory was 103.3 MB in the beginning and 246.4 MB in the end (delta: -143.1 MB). Peak memory consumption was 2.6 MB. Max. memory is 7.1 GB. [2020-07-10 15:08:20,362 INFO L168 Benchmark]: CDTParser took 0.49 ms. Allocated memory is still 138.9 MB. Free memory was 122.0 MB in the beginning and 121.8 MB in the end (delta: 209.8 kB). Peak memory consumption was 209.8 kB. Max. memory is 7.1 GB. [2020-07-10 15:08:20,365 INFO L168 Benchmark]: CACSL2BoogieTranslator took 278.47 ms. Allocated memory is still 138.9 MB. Free memory was 103.1 MB in the beginning and 92.4 MB in the end (delta: 10.7 MB). Peak memory consumption was 10.7 MB. Max. memory is 7.1 GB. [2020-07-10 15:08:20,368 INFO L168 Benchmark]: Boogie Preprocessor took 157.04 ms. Allocated memory was 138.9 MB in the beginning and 201.9 MB in the end (delta: 62.9 MB). Free memory was 92.4 MB in the beginning and 179.5 MB in the end (delta: -87.0 MB). Peak memory consumption was 13.5 MB. Max. memory is 7.1 GB. [2020-07-10 15:08:20,374 INFO L168 Benchmark]: RCFGBuilder took 386.31 ms. Allocated memory is still 201.9 MB. Free memory was 179.5 MB in the beginning and 160.2 MB in the end (delta: 19.3 MB). Peak memory consumption was 19.3 MB. Max. memory is 7.1 GB. [2020-07-10 15:08:20,375 INFO L168 Benchmark]: TraceAbstraction took 87949.27 ms. Allocated memory was 201.9 MB in the beginning and 284.7 MB in the end (delta: 82.8 MB). Free memory was 159.5 MB in the beginning and 246.4 MB in the end (delta: -86.9 MB). There was no memory consumed. Max. memory is 7.1 GB. [2020-07-10 15:08:20,385 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.49 ms. Allocated memory is still 138.9 MB. Free memory was 122.0 MB in the beginning and 121.8 MB in the end (delta: 209.8 kB). Peak memory consumption was 209.8 kB. Max. memory is 7.1 GB. * CACSL2BoogieTranslator took 278.47 ms. Allocated memory is still 138.9 MB. Free memory was 103.1 MB in the beginning and 92.4 MB in the end (delta: 10.7 MB). Peak memory consumption was 10.7 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 157.04 ms. Allocated memory was 138.9 MB in the beginning and 201.9 MB in the end (delta: 62.9 MB). Free memory was 92.4 MB in the beginning and 179.5 MB in the end (delta: -87.0 MB). Peak memory consumption was 13.5 MB. Max. memory is 7.1 GB. * RCFGBuilder took 386.31 ms. Allocated memory is still 201.9 MB. Free memory was 179.5 MB in the beginning and 160.2 MB in the end (delta: 19.3 MB). Peak memory consumption was 19.3 MB. Max. memory is 7.1 GB. * TraceAbstraction took 87949.27 ms. Allocated memory was 201.9 MB in the beginning and 284.7 MB in the end (delta: 82.8 MB). Free memory was 159.5 MB in the beginning and 246.4 MB in the end (delta: -86.9 MB). There was no memory consumed. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: - GenericResult: Unfinished Backtranslation unknown boogie variable #memory_int - GenericResult: Unfinished Backtranslation unknown boogie variable #memory_int - GenericResult: Unfinished Backtranslation unknown boogie variable #memory_int - GenericResult: Unfinished Backtranslation unknown boogie variable #memory_int * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - PositiveResult [Line: 36]: call of __VERIFIER_error() unreachable For all program executions holds that call of __VERIFIER_error() unreachable at this location - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 26]: Loop Invariant [2020-07-10 15:08:20,398 WARN L1295 BoogieBacktranslator]: unknown boogie variable #memory_int [2020-07-10 15:08:20,399 WARN L1295 BoogieBacktranslator]: unknown boogie variable #memory_int [2020-07-10 15:08:20,401 WARN L1295 BoogieBacktranslator]: unknown boogie variable #memory_int [2020-07-10 15:08:20,401 WARN L1295 BoogieBacktranslator]: unknown boogie variable #memory_int Derived loop invariant: (((unknown-#memory_int-unknown[ad1][(pa + ad1 * -1) / 8 * 8 + ad1] == (pa + ad1 * -1) / 8 && 0 == (pa + ad1 * 7) % 8) && i <= unknown-#memory_int-unknown[pa][pa]) && 0 == ad1) && pa == ad1 - InvariantResult [Line: 15]: Loop Invariant Derived loop invariant: 0 - StatisticsResult: Ultimate Automizer benchmark data CFG has 4 procedures, 22 locations, 1 error locations. Started 1 CEGAR loops. VerificationResult: SAFE, OverallTime: 83.6s, OverallIterations: 5, TraceHistogramMax: 4, AutomataDifference: 39.6s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 4.1s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 64 SDtfs, 48 SDslu, 171 SDs, 0 SdLazy, 267 SolverSat, 34 SolverUnsat, 1 SolverUnknown, 0 SolverNotchecked, 2.7s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 123 GetRequests, 65 SyntacticMatches, 2 SemanticMatches, 56 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 168 ImplicationChecksByTransitivity, 51.2s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=23occurred in iteration=4, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.1s AutomataMinimizationTime, 5 MinimizatonAttempts, 0 StatesRemovedByMinimization, 0 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 8 LocationsWithAnnotation, 12 PreInvPairs, 16 NumberOfFragments, 120 HoareAnnotationTreeSize, 12 FomulaSimplifications, 374 FormulaSimplificationTreeSizeReduction, 0.0s HoareSimplificationTime, 8 FomulaSimplificationsInter, 87 FormulaSimplificationTreeSizeReductionInter, 2.1s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: 0.0s SsaConstructionTime, 0.2s SatisfiabilityAnalysisTime, 39.9s InterpolantComputationTime, 151 NumberOfCodeBlocks, 149 NumberOfCodeBlocksAsserted, 11 NumberOfCheckSat, 143 ConstructedInterpolants, 10 QuantifiedInterpolants, 30212 SizeOfPredicates, 24 NumberOfNonLiveVariables, 265 ConjunctsInSsa, 62 ConjunctsInUnsatCore, 8 InterpolantComputations, 2 PerfectInterpolantSequences, 13/40 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be correct! Received shutdown request...