/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 --traceabstraction.compute.interpolants.along.a.counterexample Craig_NestedInterpolation --traceabstraction.use.separate.solver.for.trace.checks true -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationFastUPR_32.epf -i ../../../trunk/examples/svcomp/loops/invert_string-1.c -------------------------------------------------------------------------------- This is Ultimate 0.1.25-46f3038-m [2020-07-08 23:36:40,410 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-08 23:36:40,415 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-08 23:36:40,441 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-08 23:36:40,441 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-08 23:36:40,444 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-08 23:36:40,447 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-08 23:36:40,460 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-08 23:36:40,465 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-08 23:36:40,468 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-08 23:36:40,471 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-08 23:36:40,475 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-08 23:36:40,476 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-08 23:36:40,478 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-08 23:36:40,482 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-08 23:36:40,484 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-08 23:36:40,487 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-08 23:36:40,488 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-08 23:36:40,490 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-08 23:36:40,497 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-08 23:36:40,503 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-08 23:36:40,507 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-08 23:36:40,507 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-08 23:36:40,508 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-08 23:36:40,510 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-08 23:36:40,510 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-08 23:36:40,511 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-08 23:36:40,513 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-08 23:36:40,513 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-08 23:36:40,515 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-08 23:36:40,515 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-08 23:36:40,515 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-08 23:36:40,516 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-08 23:36:40,517 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-08 23:36:40,518 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-08 23:36:40,518 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-08 23:36:40,519 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-08 23:36:40,519 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-08 23:36:40,519 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-08 23:36:40,520 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-08 23:36:40,522 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-08 23:36:40,524 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationFastUPR_32.epf [2020-07-08 23:36:40,556 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-08 23:36:40,556 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-08 23:36:40,558 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-08 23:36:40,558 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-08 23:36:40,558 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2020-07-08 23:36:40,558 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-08 23:36:40,559 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-08 23:36:40,559 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-08 23:36:40,559 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-08 23:36:40,559 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-08 23:36:40,560 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-08 23:36:40,560 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-08 23:36:40,560 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-08 23:36:40,560 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-08 23:36:40,560 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-08 23:36:40,561 INFO L138 SettingsManager]: * Size of a code block=SingleStatement [2020-07-08 23:36:40,561 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-08 23:36:40,561 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-08 23:36:40,561 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-08 23:36:40,561 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-08 23:36:40,562 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=AcceleratedInterpolation [2020-07-08 23:36:40,562 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-08 23:36:40,562 INFO L138 SettingsManager]: * Use separate solver for trace checks=false Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: Compute Interpolants along a Counterexample -> Craig_NestedInterpolation Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: Use separate solver for trace checks -> true [2020-07-08 23:36:40,893 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-08 23:36:40,920 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-08 23:36:40,925 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-08 23:36:40,927 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-08 23:36:40,928 INFO L275 PluginConnector]: CDTParser initialized [2020-07-08 23:36:40,929 INFO L429 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/loops/invert_string-1.c [2020-07-08 23:36:41,047 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3ead54f97/aece0baab8194841bc1cb69311316910/FLAG1a83c5edc [2020-07-08 23:36:41,669 INFO L306 CDTParser]: Found 1 translation units. [2020-07-08 23:36:41,670 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/loops/invert_string-1.c [2020-07-08 23:36:41,680 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3ead54f97/aece0baab8194841bc1cb69311316910/FLAG1a83c5edc [2020-07-08 23:36:42,006 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3ead54f97/aece0baab8194841bc1cb69311316910 [2020-07-08 23:36:42,018 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-08 23:36:42,020 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2020-07-08 23:36:42,021 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-08 23:36:42,022 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-08 23:36:42,026 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-08 23:36:42,028 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.07 11:36:42" (1/1) ... [2020-07-08 23:36:42,034 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6ec926a3 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 11:36:42, skipping insertion in model container [2020-07-08 23:36:42,034 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.07 11:36:42" (1/1) ... [2020-07-08 23:36:42,046 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-08 23:36:42,075 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-08 23:36:42,289 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-08 23:36:42,297 INFO L203 MainTranslator]: Completed pre-run [2020-07-08 23:36:42,329 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-08 23:36:42,358 INFO L208 MainTranslator]: Completed translation [2020-07-08 23:36:42,358 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 11:36:42 WrapperNode [2020-07-08 23:36:42,359 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-08 23:36:42,360 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-08 23:36:42,360 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-08 23:36:42,360 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-08 23:36:42,470 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 11:36:42" (1/1) ... [2020-07-08 23:36:42,471 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 11:36:42" (1/1) ... [2020-07-08 23:36:42,481 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 11:36:42" (1/1) ... [2020-07-08 23:36:42,482 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 11:36:42" (1/1) ... [2020-07-08 23:36:42,513 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 11:36:42" (1/1) ... [2020-07-08 23:36:42,520 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 11:36:42" (1/1) ... [2020-07-08 23:36:42,522 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 11:36:42" (1/1) ... [2020-07-08 23:36:42,524 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-08 23:36:42,525 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-08 23:36:42,525 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-08 23:36:42,526 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-08 23:36:42,527 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 11:36:42" (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-08 23:36:42,604 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2020-07-08 23:36:42,604 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-08 23:36:42,605 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2020-07-08 23:36:42,605 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2020-07-08 23:36:42,605 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2020-07-08 23:36:42,605 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2020-07-08 23:36:42,605 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2020-07-08 23:36:42,605 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_char [2020-07-08 23:36:42,605 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_uint [2020-07-08 23:36:42,606 INFO L130 BoogieDeclarations]: Found specification of procedure main [2020-07-08 23:36:42,606 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2020-07-08 23:36:42,606 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2020-07-08 23:36:42,606 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2020-07-08 23:36:42,606 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2020-07-08 23:36:42,607 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2020-07-08 23:36:42,607 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-08 23:36:43,151 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-08 23:36:43,151 INFO L295 CfgBuilder]: Removed 3 assume(true) statements. [2020-07-08 23:36:43,158 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.07 11:36:43 BoogieIcfgContainer [2020-07-08 23:36:43,158 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-08 23:36:43,160 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-08 23:36:43,160 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-08 23:36:43,164 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-08 23:36:43,165 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.07 11:36:42" (1/3) ... [2020-07-08 23:36:43,166 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@49ece3f2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.07 11:36:43, skipping insertion in model container [2020-07-08 23:36:43,167 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 11:36:42" (2/3) ... [2020-07-08 23:36:43,167 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@49ece3f2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.07 11:36:43, skipping insertion in model container [2020-07-08 23:36:43,168 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.07 11:36:43" (3/3) ... [2020-07-08 23:36:43,170 INFO L109 eAbstractionObserver]: Analyzing ICFG invert_string-1.c [2020-07-08 23:36:43,183 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2020-07-08 23:36:43,191 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2020-07-08 23:36:43,206 INFO L251 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2020-07-08 23:36:43,232 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-08 23:36:43,233 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-08 23:36:43,233 INFO L377 AbstractCegarLoop]: Compute interpolants for Craig_NestedInterpolation [2020-07-08 23:36:43,233 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-08 23:36:43,233 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-08 23:36:43,233 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-08 23:36:43,234 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-08 23:36:43,234 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-08 23:36:43,251 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states. [2020-07-08 23:36:43,266 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2020-07-08 23:36:43,267 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 23:36:43,268 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-08 23:36:43,269 INFO L427 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 23:36:43,278 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 23:36:43,278 INFO L82 PathProgramCache]: Analyzing trace with hash -1584943199, now seen corresponding path program 1 times [2020-07-08 23:36:43,288 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 23:36:43,289 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [570376915] [2020-07-08 23:36:43,289 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 23:36:43,417 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 23:36:43,531 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 23:36:43,557 INFO L280 TraceCheckUtils]: 0: Hoare triple {76#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {69#true} is VALID [2020-07-08 23:36:43,558 INFO L280 TraceCheckUtils]: 1: Hoare triple {69#true} #valid := #valid[0 := 0]; {69#true} is VALID [2020-07-08 23:36:43,559 INFO L280 TraceCheckUtils]: 2: Hoare triple {69#true} assume 0 < #StackHeapBarrier; {69#true} is VALID [2020-07-08 23:36:43,560 INFO L280 TraceCheckUtils]: 3: Hoare triple {69#true} assume true; {69#true} is VALID [2020-07-08 23:36:43,560 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {69#true} {69#true} #107#return; {69#true} is VALID [2020-07-08 23:36:43,566 INFO L263 TraceCheckUtils]: 0: Hoare triple {69#true} call ULTIMATE.init(); {76#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-08 23:36:43,566 INFO L280 TraceCheckUtils]: 1: Hoare triple {76#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {69#true} is VALID [2020-07-08 23:36:43,567 INFO L280 TraceCheckUtils]: 2: Hoare triple {69#true} #valid := #valid[0 := 0]; {69#true} is VALID [2020-07-08 23:36:43,568 INFO L280 TraceCheckUtils]: 3: Hoare triple {69#true} assume 0 < #StackHeapBarrier; {69#true} is VALID [2020-07-08 23:36:43,568 INFO L280 TraceCheckUtils]: 4: Hoare triple {69#true} assume true; {69#true} is VALID [2020-07-08 23:36:43,569 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {69#true} {69#true} #107#return; {69#true} is VALID [2020-07-08 23:36:43,569 INFO L263 TraceCheckUtils]: 6: Hoare triple {69#true} call #t~ret10 := main(); {69#true} is VALID [2020-07-08 23:36:43,570 INFO L280 TraceCheckUtils]: 7: Hoare triple {69#true} ~MAX~0 := (if #t~nondet0 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet0 % 4294967296 % 4294967296 else #t~nondet0 % 4294967296 % 4294967296 - 4294967296); {69#true} is VALID [2020-07-08 23:36:43,570 INFO L280 TraceCheckUtils]: 8: Hoare triple {69#true} havoc #t~nondet0; {69#true} is VALID [2020-07-08 23:36:43,570 INFO L280 TraceCheckUtils]: 9: Hoare triple {69#true} assume !!(~MAX~0 > 0); {69#true} is VALID [2020-07-08 23:36:43,571 INFO L280 TraceCheckUtils]: 10: Hoare triple {69#true} SUMMARY for call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack(~MAX~0); srcloc: L15-3 {69#true} is VALID [2020-07-08 23:36:43,571 INFO L280 TraceCheckUtils]: 11: Hoare triple {69#true} SUMMARY for call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(~MAX~0); srcloc: L16 {69#true} is VALID [2020-07-08 23:36:43,572 INFO L280 TraceCheckUtils]: 12: Hoare triple {69#true} havoc ~cont~0; {69#true} is VALID [2020-07-08 23:36:43,572 INFO L280 TraceCheckUtils]: 13: Hoare triple {69#true} havoc ~i~0; {69#true} is VALID [2020-07-08 23:36:43,573 INFO L280 TraceCheckUtils]: 14: Hoare triple {69#true} havoc ~j~0; {69#true} is VALID [2020-07-08 23:36:43,573 INFO L280 TraceCheckUtils]: 15: Hoare triple {69#true} ~cont~0 := 0; {69#true} is VALID [2020-07-08 23:36:43,573 INFO L280 TraceCheckUtils]: 16: Hoare triple {69#true} ~i~0 := 0; {69#true} is VALID [2020-07-08 23:36:43,575 INFO L280 TraceCheckUtils]: 17: Hoare triple {69#true} assume !true; {70#false} is VALID [2020-07-08 23:36:43,576 INFO L280 TraceCheckUtils]: 18: Hoare triple {70#false} SUMMARY for call write~int(0, ~#str1~0.base, ~#str1~0.offset + (~MAX~0 - 1), 1); srcloc: L20-7 {70#false} is VALID [2020-07-08 23:36:43,576 INFO L280 TraceCheckUtils]: 19: Hoare triple {70#false} ~j~0 := 0; {70#false} is VALID [2020-07-08 23:36:43,577 INFO L280 TraceCheckUtils]: 20: Hoare triple {70#false} ~i~0 := ~MAX~0 - 1; {70#false} is VALID [2020-07-08 23:36:43,578 INFO L280 TraceCheckUtils]: 21: Hoare triple {70#false} assume !(~i~0 >= 0); {70#false} is VALID [2020-07-08 23:36:43,578 INFO L280 TraceCheckUtils]: 22: Hoare triple {70#false} ~j~0 := ~MAX~0 - 1; {70#false} is VALID [2020-07-08 23:36:43,579 INFO L280 TraceCheckUtils]: 23: Hoare triple {70#false} ~i~0 := 0; {70#false} is VALID [2020-07-08 23:36:43,579 INFO L280 TraceCheckUtils]: 24: Hoare triple {70#false} assume !!(~i~0 < ~MAX~0); {70#false} is VALID [2020-07-08 23:36:43,580 INFO L280 TraceCheckUtils]: 25: Hoare triple {70#false} SUMMARY for call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1); srcloc: L34 {70#false} is VALID [2020-07-08 23:36:43,580 INFO L280 TraceCheckUtils]: 26: Hoare triple {70#false} SUMMARY for call #t~mem8 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); srcloc: L34-1 {70#false} is VALID [2020-07-08 23:36:43,581 INFO L263 TraceCheckUtils]: 27: Hoare triple {70#false} call __VERIFIER_assert((if #t~mem7 == #t~mem8 then 1 else 0)); {70#false} is VALID [2020-07-08 23:36:43,581 INFO L280 TraceCheckUtils]: 28: Hoare triple {70#false} ~cond := #in~cond; {70#false} is VALID [2020-07-08 23:36:43,582 INFO L280 TraceCheckUtils]: 29: Hoare triple {70#false} assume 0 == ~cond; {70#false} is VALID [2020-07-08 23:36:43,582 INFO L280 TraceCheckUtils]: 30: Hoare triple {70#false} assume !false; {70#false} is VALID [2020-07-08 23:36:43,587 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-08 23:36:43,588 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [570376915] [2020-07-08 23:36:43,592 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-08 23:36:43,592 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2020-07-08 23:36:43,594 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1538090698] [2020-07-08 23:36:43,602 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 31 [2020-07-08 23:36:43,607 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 23:36:43,613 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2020-07-08 23:36:43,685 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-08 23:36:43,685 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2020-07-08 23:36:43,685 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 23:36:43,696 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2020-07-08 23:36:43,697 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2020-07-08 23:36:43,700 INFO L87 Difference]: Start difference. First operand 66 states. Second operand 3 states. [2020-07-08 23:36:44,235 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 23:36:44,236 INFO L93 Difference]: Finished difference Result 121 states and 135 transitions. [2020-07-08 23:36:44,236 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2020-07-08 23:36:44,236 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 31 [2020-07-08 23:36:44,237 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 23:36:44,239 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2020-07-08 23:36:44,253 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 135 transitions. [2020-07-08 23:36:44,254 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2020-07-08 23:36:44,259 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 135 transitions. [2020-07-08 23:36:44,260 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 135 transitions. [2020-07-08 23:36:44,463 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 135 edges. 135 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 23:36:44,483 INFO L225 Difference]: With dead ends: 121 [2020-07-08 23:36:44,484 INFO L226 Difference]: Without dead ends: 57 [2020-07-08 23:36:44,492 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 3 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-08 23:36:44,521 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2020-07-08 23:36:44,649 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 57. [2020-07-08 23:36:44,650 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 23:36:44,651 INFO L82 GeneralOperation]: Start isEquivalent. First operand 57 states. Second operand 57 states. [2020-07-08 23:36:44,652 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand 57 states. [2020-07-08 23:36:44,653 INFO L87 Difference]: Start difference. First operand 57 states. Second operand 57 states. [2020-07-08 23:36:44,665 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 23:36:44,666 INFO L93 Difference]: Finished difference Result 57 states and 59 transitions. [2020-07-08 23:36:44,666 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 59 transitions. [2020-07-08 23:36:44,668 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 23:36:44,669 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 23:36:44,669 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand 57 states. [2020-07-08 23:36:44,670 INFO L87 Difference]: Start difference. First operand 57 states. Second operand 57 states. [2020-07-08 23:36:44,686 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 23:36:44,688 INFO L93 Difference]: Finished difference Result 57 states and 59 transitions. [2020-07-08 23:36:44,689 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 59 transitions. [2020-07-08 23:36:44,690 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 23:36:44,690 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 23:36:44,690 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 23:36:44,691 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 23:36:44,691 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 57 states. [2020-07-08 23:36:44,710 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 59 transitions. [2020-07-08 23:36:44,714 INFO L78 Accepts]: Start accepts. Automaton has 57 states and 59 transitions. Word has length 31 [2020-07-08 23:36:44,715 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 23:36:44,715 INFO L479 AbstractCegarLoop]: Abstraction has 57 states and 59 transitions. [2020-07-08 23:36:44,715 INFO L480 AbstractCegarLoop]: Interpolant automaton has 3 states. [2020-07-08 23:36:44,715 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 57 states and 59 transitions. [2020-07-08 23:36:44,818 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 23:36:44,818 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 59 transitions. [2020-07-08 23:36:44,822 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2020-07-08 23:36:44,823 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 23:36:44,823 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-08 23:36:44,823 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2020-07-08 23:36:44,824 INFO L427 AbstractCegarLoop]: === Iteration 2 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 23:36:44,824 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 23:36:44,825 INFO L82 PathProgramCache]: Analyzing trace with hash -318765620, now seen corresponding path program 1 times [2020-07-08 23:36:44,826 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 23:36:44,826 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [2089211728] [2020-07-08 23:36:44,827 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 23:36:44,916 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 23:36:45,007 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 23:36:45,015 INFO L280 TraceCheckUtils]: 0: Hoare triple {558#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {549#true} is VALID [2020-07-08 23:36:45,015 INFO L280 TraceCheckUtils]: 1: Hoare triple {549#true} #valid := #valid[0 := 0]; {549#true} is VALID [2020-07-08 23:36:45,016 INFO L280 TraceCheckUtils]: 2: Hoare triple {549#true} assume 0 < #StackHeapBarrier; {549#true} is VALID [2020-07-08 23:36:45,016 INFO L280 TraceCheckUtils]: 3: Hoare triple {549#true} assume true; {549#true} is VALID [2020-07-08 23:36:45,016 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {549#true} {549#true} #107#return; {549#true} is VALID [2020-07-08 23:36:45,018 INFO L263 TraceCheckUtils]: 0: Hoare triple {549#true} call ULTIMATE.init(); {558#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-08 23:36:45,019 INFO L280 TraceCheckUtils]: 1: Hoare triple {558#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {549#true} is VALID [2020-07-08 23:36:45,019 INFO L280 TraceCheckUtils]: 2: Hoare triple {549#true} #valid := #valid[0 := 0]; {549#true} is VALID [2020-07-08 23:36:45,019 INFO L280 TraceCheckUtils]: 3: Hoare triple {549#true} assume 0 < #StackHeapBarrier; {549#true} is VALID [2020-07-08 23:36:45,020 INFO L280 TraceCheckUtils]: 4: Hoare triple {549#true} assume true; {549#true} is VALID [2020-07-08 23:36:45,020 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {549#true} {549#true} #107#return; {549#true} is VALID [2020-07-08 23:36:45,020 INFO L263 TraceCheckUtils]: 6: Hoare triple {549#true} call #t~ret10 := main(); {549#true} is VALID [2020-07-08 23:36:45,021 INFO L280 TraceCheckUtils]: 7: Hoare triple {549#true} ~MAX~0 := (if #t~nondet0 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet0 % 4294967296 % 4294967296 else #t~nondet0 % 4294967296 % 4294967296 - 4294967296); {549#true} is VALID [2020-07-08 23:36:45,021 INFO L280 TraceCheckUtils]: 8: Hoare triple {549#true} havoc #t~nondet0; {549#true} is VALID [2020-07-08 23:36:45,022 INFO L280 TraceCheckUtils]: 9: Hoare triple {549#true} assume !!(~MAX~0 > 0); {556#(<= 1 main_~MAX~0)} is VALID [2020-07-08 23:36:45,024 INFO L280 TraceCheckUtils]: 10: Hoare triple {556#(<= 1 main_~MAX~0)} SUMMARY for call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack(~MAX~0); srcloc: L15-3 {556#(<= 1 main_~MAX~0)} is VALID [2020-07-08 23:36:45,025 INFO L280 TraceCheckUtils]: 11: Hoare triple {556#(<= 1 main_~MAX~0)} SUMMARY for call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(~MAX~0); srcloc: L16 {556#(<= 1 main_~MAX~0)} is VALID [2020-07-08 23:36:45,026 INFO L280 TraceCheckUtils]: 12: Hoare triple {556#(<= 1 main_~MAX~0)} havoc ~cont~0; {556#(<= 1 main_~MAX~0)} is VALID [2020-07-08 23:36:45,027 INFO L280 TraceCheckUtils]: 13: Hoare triple {556#(<= 1 main_~MAX~0)} havoc ~i~0; {556#(<= 1 main_~MAX~0)} is VALID [2020-07-08 23:36:45,029 INFO L280 TraceCheckUtils]: 14: Hoare triple {556#(<= 1 main_~MAX~0)} havoc ~j~0; {556#(<= 1 main_~MAX~0)} is VALID [2020-07-08 23:36:45,030 INFO L280 TraceCheckUtils]: 15: Hoare triple {556#(<= 1 main_~MAX~0)} ~cont~0 := 0; {556#(<= 1 main_~MAX~0)} is VALID [2020-07-08 23:36:45,031 INFO L280 TraceCheckUtils]: 16: Hoare triple {556#(<= 1 main_~MAX~0)} ~i~0 := 0; {557#(and (= 0 main_~i~0) (<= 1 main_~MAX~0))} is VALID [2020-07-08 23:36:45,032 INFO L280 TraceCheckUtils]: 17: Hoare triple {557#(and (= 0 main_~i~0) (<= 1 main_~MAX~0))} assume !(~i~0 < ~MAX~0); {550#false} is VALID [2020-07-08 23:36:45,033 INFO L280 TraceCheckUtils]: 18: Hoare triple {550#false} SUMMARY for call write~int(0, ~#str1~0.base, ~#str1~0.offset + (~MAX~0 - 1), 1); srcloc: L20-7 {550#false} is VALID [2020-07-08 23:36:45,033 INFO L280 TraceCheckUtils]: 19: Hoare triple {550#false} ~j~0 := 0; {550#false} is VALID [2020-07-08 23:36:45,033 INFO L280 TraceCheckUtils]: 20: Hoare triple {550#false} ~i~0 := ~MAX~0 - 1; {550#false} is VALID [2020-07-08 23:36:45,034 INFO L280 TraceCheckUtils]: 21: Hoare triple {550#false} assume !(~i~0 >= 0); {550#false} is VALID [2020-07-08 23:36:45,034 INFO L280 TraceCheckUtils]: 22: Hoare triple {550#false} ~j~0 := ~MAX~0 - 1; {550#false} is VALID [2020-07-08 23:36:45,034 INFO L280 TraceCheckUtils]: 23: Hoare triple {550#false} ~i~0 := 0; {550#false} is VALID [2020-07-08 23:36:45,035 INFO L280 TraceCheckUtils]: 24: Hoare triple {550#false} assume !!(~i~0 < ~MAX~0); {550#false} is VALID [2020-07-08 23:36:45,035 INFO L280 TraceCheckUtils]: 25: Hoare triple {550#false} SUMMARY for call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1); srcloc: L34 {550#false} is VALID [2020-07-08 23:36:45,035 INFO L280 TraceCheckUtils]: 26: Hoare triple {550#false} SUMMARY for call #t~mem8 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); srcloc: L34-1 {550#false} is VALID [2020-07-08 23:36:45,036 INFO L263 TraceCheckUtils]: 27: Hoare triple {550#false} call __VERIFIER_assert((if #t~mem7 == #t~mem8 then 1 else 0)); {550#false} is VALID [2020-07-08 23:36:45,036 INFO L280 TraceCheckUtils]: 28: Hoare triple {550#false} ~cond := #in~cond; {550#false} is VALID [2020-07-08 23:36:45,036 INFO L280 TraceCheckUtils]: 29: Hoare triple {550#false} assume 0 == ~cond; {550#false} is VALID [2020-07-08 23:36:45,036 INFO L280 TraceCheckUtils]: 30: Hoare triple {550#false} assume !false; {550#false} is VALID [2020-07-08 23:36:45,039 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-08 23:36:45,039 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [2089211728] [2020-07-08 23:36:45,040 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-08 23:36:45,040 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2020-07-08 23:36:45,041 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1229393056] [2020-07-08 23:36:45,043 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 31 [2020-07-08 23:36:45,044 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 23:36:45,044 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2020-07-08 23:36:45,086 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-08 23:36:45,087 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2020-07-08 23:36:45,087 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 23:36:45,088 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2020-07-08 23:36:45,088 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2020-07-08 23:36:45,088 INFO L87 Difference]: Start difference. First operand 57 states and 59 transitions. Second operand 5 states. [2020-07-08 23:36:45,723 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 23:36:45,729 INFO L93 Difference]: Finished difference Result 107 states and 112 transitions. [2020-07-08 23:36:45,729 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2020-07-08 23:36:45,729 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 31 [2020-07-08 23:36:45,730 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 23:36:45,730 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-08 23:36:45,737 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 112 transitions. [2020-07-08 23:36:45,739 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-08 23:36:45,747 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 112 transitions. [2020-07-08 23:36:45,748 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 112 transitions. [2020-07-08 23:36:45,891 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 112 edges. 112 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 23:36:45,898 INFO L225 Difference]: With dead ends: 107 [2020-07-08 23:36:45,898 INFO L226 Difference]: Without dead ends: 74 [2020-07-08 23:36:45,900 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=12, Invalid=18, Unknown=0, NotChecked=0, Total=30 [2020-07-08 23:36:45,901 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2020-07-08 23:36:46,002 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 58. [2020-07-08 23:36:46,003 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 23:36:46,003 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand 58 states. [2020-07-08 23:36:46,003 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand 58 states. [2020-07-08 23:36:46,003 INFO L87 Difference]: Start difference. First operand 74 states. Second operand 58 states. [2020-07-08 23:36:46,010 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 23:36:46,010 INFO L93 Difference]: Finished difference Result 74 states and 77 transitions. [2020-07-08 23:36:46,011 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 77 transitions. [2020-07-08 23:36:46,012 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 23:36:46,012 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 23:36:46,012 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand 74 states. [2020-07-08 23:36:46,013 INFO L87 Difference]: Start difference. First operand 58 states. Second operand 74 states. [2020-07-08 23:36:46,017 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 23:36:46,018 INFO L93 Difference]: Finished difference Result 74 states and 77 transitions. [2020-07-08 23:36:46,018 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 77 transitions. [2020-07-08 23:36:46,019 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 23:36:46,019 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 23:36:46,020 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 23:36:46,020 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 23:36:46,020 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 58 states. [2020-07-08 23:36:46,023 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 58 states to 58 states and 60 transitions. [2020-07-08 23:36:46,024 INFO L78 Accepts]: Start accepts. Automaton has 58 states and 60 transitions. Word has length 31 [2020-07-08 23:36:46,024 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 23:36:46,024 INFO L479 AbstractCegarLoop]: Abstraction has 58 states and 60 transitions. [2020-07-08 23:36:46,024 INFO L480 AbstractCegarLoop]: Interpolant automaton has 5 states. [2020-07-08 23:36:46,024 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 58 states and 60 transitions. [2020-07-08 23:36:46,110 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 23:36:46,110 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 60 transitions. [2020-07-08 23:36:46,112 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2020-07-08 23:36:46,112 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 23:36:46,112 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-08 23:36:46,113 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2020-07-08 23:36:46,113 INFO L427 AbstractCegarLoop]: === Iteration 3 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 23:36:46,114 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 23:36:46,114 INFO L82 PathProgramCache]: Analyzing trace with hash -1837873718, now seen corresponding path program 1 times [2020-07-08 23:36:46,114 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 23:36:46,114 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1145080513] [2020-07-08 23:36:46,115 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 23:36:46,146 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 23:36:46,246 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 23:36:46,266 INFO L280 TraceCheckUtils]: 0: Hoare triple {1050#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {1041#true} is VALID [2020-07-08 23:36:46,267 INFO L280 TraceCheckUtils]: 1: Hoare triple {1041#true} #valid := #valid[0 := 0]; {1041#true} is VALID [2020-07-08 23:36:46,268 INFO L280 TraceCheckUtils]: 2: Hoare triple {1041#true} assume 0 < #StackHeapBarrier; {1041#true} is VALID [2020-07-08 23:36:46,268 INFO L280 TraceCheckUtils]: 3: Hoare triple {1041#true} assume true; {1041#true} is VALID [2020-07-08 23:36:46,268 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {1041#true} {1041#true} #107#return; {1041#true} is VALID [2020-07-08 23:36:46,270 INFO L263 TraceCheckUtils]: 0: Hoare triple {1041#true} call ULTIMATE.init(); {1050#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-08 23:36:46,271 INFO L280 TraceCheckUtils]: 1: Hoare triple {1050#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {1041#true} is VALID [2020-07-08 23:36:46,271 INFO L280 TraceCheckUtils]: 2: Hoare triple {1041#true} #valid := #valid[0 := 0]; {1041#true} is VALID [2020-07-08 23:36:46,272 INFO L280 TraceCheckUtils]: 3: Hoare triple {1041#true} assume 0 < #StackHeapBarrier; {1041#true} is VALID [2020-07-08 23:36:46,272 INFO L280 TraceCheckUtils]: 4: Hoare triple {1041#true} assume true; {1041#true} is VALID [2020-07-08 23:36:46,272 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {1041#true} {1041#true} #107#return; {1041#true} is VALID [2020-07-08 23:36:46,272 INFO L263 TraceCheckUtils]: 6: Hoare triple {1041#true} call #t~ret10 := main(); {1041#true} is VALID [2020-07-08 23:36:46,273 INFO L280 TraceCheckUtils]: 7: Hoare triple {1041#true} ~MAX~0 := (if #t~nondet0 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet0 % 4294967296 % 4294967296 else #t~nondet0 % 4294967296 % 4294967296 - 4294967296); {1041#true} is VALID [2020-07-08 23:36:46,273 INFO L280 TraceCheckUtils]: 8: Hoare triple {1041#true} havoc #t~nondet0; {1041#true} is VALID [2020-07-08 23:36:46,281 INFO L280 TraceCheckUtils]: 9: Hoare triple {1041#true} assume !!(~MAX~0 > 0); {1048#(<= 1 main_~MAX~0)} is VALID [2020-07-08 23:36:46,283 INFO L280 TraceCheckUtils]: 10: Hoare triple {1048#(<= 1 main_~MAX~0)} SUMMARY for call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack(~MAX~0); srcloc: L15-3 {1048#(<= 1 main_~MAX~0)} is VALID [2020-07-08 23:36:46,294 INFO L280 TraceCheckUtils]: 11: Hoare triple {1048#(<= 1 main_~MAX~0)} SUMMARY for call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(~MAX~0); srcloc: L16 {1048#(<= 1 main_~MAX~0)} is VALID [2020-07-08 23:36:46,295 INFO L280 TraceCheckUtils]: 12: Hoare triple {1048#(<= 1 main_~MAX~0)} havoc ~cont~0; {1048#(<= 1 main_~MAX~0)} is VALID [2020-07-08 23:36:46,296 INFO L280 TraceCheckUtils]: 13: Hoare triple {1048#(<= 1 main_~MAX~0)} havoc ~i~0; {1048#(<= 1 main_~MAX~0)} is VALID [2020-07-08 23:36:46,297 INFO L280 TraceCheckUtils]: 14: Hoare triple {1048#(<= 1 main_~MAX~0)} havoc ~j~0; {1048#(<= 1 main_~MAX~0)} is VALID [2020-07-08 23:36:46,298 INFO L280 TraceCheckUtils]: 15: Hoare triple {1048#(<= 1 main_~MAX~0)} ~cont~0 := 0; {1048#(<= 1 main_~MAX~0)} is VALID [2020-07-08 23:36:46,299 INFO L280 TraceCheckUtils]: 16: Hoare triple {1048#(<= 1 main_~MAX~0)} ~i~0 := 0; {1048#(<= 1 main_~MAX~0)} is VALID [2020-07-08 23:36:46,302 INFO L280 TraceCheckUtils]: 17: Hoare triple {1048#(<= 1 main_~MAX~0)} assume !!(~i~0 < ~MAX~0); {1048#(<= 1 main_~MAX~0)} is VALID [2020-07-08 23:36:46,303 INFO L280 TraceCheckUtils]: 18: Hoare triple {1048#(<= 1 main_~MAX~0)} assume -128 <= #t~nondet2 && #t~nondet2 <= 127; {1048#(<= 1 main_~MAX~0)} is VALID [2020-07-08 23:36:46,304 INFO L280 TraceCheckUtils]: 19: Hoare triple {1048#(<= 1 main_~MAX~0)} SUMMARY for call write~int(#t~nondet2, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1); srcloc: L21-1 {1048#(<= 1 main_~MAX~0)} is VALID [2020-07-08 23:36:46,305 INFO L280 TraceCheckUtils]: 20: Hoare triple {1048#(<= 1 main_~MAX~0)} havoc #t~nondet2; {1048#(<= 1 main_~MAX~0)} is VALID [2020-07-08 23:36:46,306 INFO L280 TraceCheckUtils]: 21: Hoare triple {1048#(<= 1 main_~MAX~0)} #t~post1 := ~i~0; {1048#(<= 1 main_~MAX~0)} is VALID [2020-07-08 23:36:46,307 INFO L280 TraceCheckUtils]: 22: Hoare triple {1048#(<= 1 main_~MAX~0)} ~i~0 := 1 + #t~post1; {1048#(<= 1 main_~MAX~0)} is VALID [2020-07-08 23:36:46,308 INFO L280 TraceCheckUtils]: 23: Hoare triple {1048#(<= 1 main_~MAX~0)} havoc #t~post1; {1048#(<= 1 main_~MAX~0)} is VALID [2020-07-08 23:36:46,309 INFO L280 TraceCheckUtils]: 24: Hoare triple {1048#(<= 1 main_~MAX~0)} assume !(~i~0 < ~MAX~0); {1048#(<= 1 main_~MAX~0)} is VALID [2020-07-08 23:36:46,310 INFO L280 TraceCheckUtils]: 25: Hoare triple {1048#(<= 1 main_~MAX~0)} SUMMARY for call write~int(0, ~#str1~0.base, ~#str1~0.offset + (~MAX~0 - 1), 1); srcloc: L20-7 {1048#(<= 1 main_~MAX~0)} is VALID [2020-07-08 23:36:46,311 INFO L280 TraceCheckUtils]: 26: Hoare triple {1048#(<= 1 main_~MAX~0)} ~j~0 := 0; {1048#(<= 1 main_~MAX~0)} is VALID [2020-07-08 23:36:46,312 INFO L280 TraceCheckUtils]: 27: Hoare triple {1048#(<= 1 main_~MAX~0)} ~i~0 := ~MAX~0 - 1; {1049#(<= 0 main_~i~0)} is VALID [2020-07-08 23:36:46,314 INFO L280 TraceCheckUtils]: 28: Hoare triple {1049#(<= 0 main_~i~0)} assume !(~i~0 >= 0); {1042#false} is VALID [2020-07-08 23:36:46,315 INFO L280 TraceCheckUtils]: 29: Hoare triple {1042#false} ~j~0 := ~MAX~0 - 1; {1042#false} is VALID [2020-07-08 23:36:46,315 INFO L280 TraceCheckUtils]: 30: Hoare triple {1042#false} ~i~0 := 0; {1042#false} is VALID [2020-07-08 23:36:46,315 INFO L280 TraceCheckUtils]: 31: Hoare triple {1042#false} assume !!(~i~0 < ~MAX~0); {1042#false} is VALID [2020-07-08 23:36:46,316 INFO L280 TraceCheckUtils]: 32: Hoare triple {1042#false} SUMMARY for call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1); srcloc: L34 {1042#false} is VALID [2020-07-08 23:36:46,321 INFO L280 TraceCheckUtils]: 33: Hoare triple {1042#false} SUMMARY for call #t~mem8 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); srcloc: L34-1 {1042#false} is VALID [2020-07-08 23:36:46,321 INFO L263 TraceCheckUtils]: 34: Hoare triple {1042#false} call __VERIFIER_assert((if #t~mem7 == #t~mem8 then 1 else 0)); {1042#false} is VALID [2020-07-08 23:36:46,322 INFO L280 TraceCheckUtils]: 35: Hoare triple {1042#false} ~cond := #in~cond; {1042#false} is VALID [2020-07-08 23:36:46,322 INFO L280 TraceCheckUtils]: 36: Hoare triple {1042#false} assume 0 == ~cond; {1042#false} is VALID [2020-07-08 23:36:46,322 INFO L280 TraceCheckUtils]: 37: Hoare triple {1042#false} assume !false; {1042#false} is VALID [2020-07-08 23:36:46,325 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-08 23:36:46,326 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1145080513] [2020-07-08 23:36:46,326 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-08 23:36:46,326 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2020-07-08 23:36:46,327 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [938311924] [2020-07-08 23:36:46,328 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 38 [2020-07-08 23:36:46,329 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 23:36:46,329 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2020-07-08 23:36:46,375 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-08 23:36:46,375 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2020-07-08 23:36:46,376 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 23:36:46,376 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2020-07-08 23:36:46,376 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2020-07-08 23:36:46,377 INFO L87 Difference]: Start difference. First operand 58 states and 60 transitions. Second operand 5 states. [2020-07-08 23:36:46,993 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 23:36:46,993 INFO L93 Difference]: Finished difference Result 95 states and 99 transitions. [2020-07-08 23:36:46,993 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2020-07-08 23:36:46,994 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 38 [2020-07-08 23:36:46,994 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 23:36:46,994 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-08 23:36:46,998 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 99 transitions. [2020-07-08 23:36:46,999 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-08 23:36:47,003 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 99 transitions. [2020-07-08 23:36:47,003 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 99 transitions. [2020-07-08 23:36:47,132 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 99 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 23:36:47,135 INFO L225 Difference]: With dead ends: 95 [2020-07-08 23:36:47,136 INFO L226 Difference]: Without dead ends: 75 [2020-07-08 23:36:47,137 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 8 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=27, Unknown=0, NotChecked=0, Total=42 [2020-07-08 23:36:47,137 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 75 states. [2020-07-08 23:36:47,253 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 75 to 59. [2020-07-08 23:36:47,254 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 23:36:47,254 INFO L82 GeneralOperation]: Start isEquivalent. First operand 75 states. Second operand 59 states. [2020-07-08 23:36:47,254 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand 59 states. [2020-07-08 23:36:47,254 INFO L87 Difference]: Start difference. First operand 75 states. Second operand 59 states. [2020-07-08 23:36:47,259 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 23:36:47,259 INFO L93 Difference]: Finished difference Result 75 states and 78 transitions. [2020-07-08 23:36:47,259 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 78 transitions. [2020-07-08 23:36:47,260 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 23:36:47,260 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 23:36:47,260 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand 75 states. [2020-07-08 23:36:47,260 INFO L87 Difference]: Start difference. First operand 59 states. Second operand 75 states. [2020-07-08 23:36:47,265 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 23:36:47,265 INFO L93 Difference]: Finished difference Result 75 states and 78 transitions. [2020-07-08 23:36:47,265 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 78 transitions. [2020-07-08 23:36:47,266 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 23:36:47,267 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 23:36:47,267 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 23:36:47,267 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 23:36:47,267 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 59 states. [2020-07-08 23:36:47,270 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 61 transitions. [2020-07-08 23:36:47,270 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 61 transitions. Word has length 38 [2020-07-08 23:36:47,271 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 23:36:47,271 INFO L479 AbstractCegarLoop]: Abstraction has 59 states and 61 transitions. [2020-07-08 23:36:47,271 INFO L480 AbstractCegarLoop]: Interpolant automaton has 5 states. [2020-07-08 23:36:47,271 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 59 states and 61 transitions. [2020-07-08 23:36:47,353 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 23:36:47,353 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 61 transitions. [2020-07-08 23:36:47,355 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2020-07-08 23:36:47,355 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 23:36:47,356 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-08 23:36:47,356 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2020-07-08 23:36:47,357 INFO L427 AbstractCegarLoop]: === Iteration 4 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 23:36:47,357 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 23:36:47,357 INFO L82 PathProgramCache]: Analyzing trace with hash -2141827952, now seen corresponding path program 1 times [2020-07-08 23:36:47,357 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 23:36:47,358 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [271727961] [2020-07-08 23:36:47,358 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 23:36:47,425 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 23:36:48,578 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 23:36:48,582 INFO L280 TraceCheckUtils]: 0: Hoare triple {1539#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {1515#true} is VALID [2020-07-08 23:36:48,583 INFO L280 TraceCheckUtils]: 1: Hoare triple {1515#true} #valid := #valid[0 := 0]; {1515#true} is VALID [2020-07-08 23:36:48,583 INFO L280 TraceCheckUtils]: 2: Hoare triple {1515#true} assume 0 < #StackHeapBarrier; {1515#true} is VALID [2020-07-08 23:36:48,583 INFO L280 TraceCheckUtils]: 3: Hoare triple {1515#true} assume true; {1515#true} is VALID [2020-07-08 23:36:48,584 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {1515#true} {1515#true} #107#return; {1515#true} is VALID [2020-07-08 23:36:48,585 INFO L263 TraceCheckUtils]: 0: Hoare triple {1515#true} call ULTIMATE.init(); {1539#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-08 23:36:48,585 INFO L280 TraceCheckUtils]: 1: Hoare triple {1539#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {1515#true} is VALID [2020-07-08 23:36:48,585 INFO L280 TraceCheckUtils]: 2: Hoare triple {1515#true} #valid := #valid[0 := 0]; {1515#true} is VALID [2020-07-08 23:36:48,585 INFO L280 TraceCheckUtils]: 3: Hoare triple {1515#true} assume 0 < #StackHeapBarrier; {1515#true} is VALID [2020-07-08 23:36:48,586 INFO L280 TraceCheckUtils]: 4: Hoare triple {1515#true} assume true; {1515#true} is VALID [2020-07-08 23:36:48,586 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {1515#true} {1515#true} #107#return; {1515#true} is VALID [2020-07-08 23:36:48,586 INFO L263 TraceCheckUtils]: 6: Hoare triple {1515#true} call #t~ret10 := main(); {1515#true} is VALID [2020-07-08 23:36:48,587 INFO L280 TraceCheckUtils]: 7: Hoare triple {1515#true} ~MAX~0 := (if #t~nondet0 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet0 % 4294967296 % 4294967296 else #t~nondet0 % 4294967296 % 4294967296 - 4294967296); {1515#true} is VALID [2020-07-08 23:36:48,587 INFO L280 TraceCheckUtils]: 8: Hoare triple {1515#true} havoc #t~nondet0; {1515#true} is VALID [2020-07-08 23:36:48,588 INFO L280 TraceCheckUtils]: 9: Hoare triple {1515#true} assume !!(~MAX~0 > 0); {1522#(<= 1 main_~MAX~0)} is VALID [2020-07-08 23:36:48,589 INFO L280 TraceCheckUtils]: 10: Hoare triple {1522#(<= 1 main_~MAX~0)} SUMMARY for call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack(~MAX~0); srcloc: L15-3 {1523#(and (= 1 (select |#valid| |main_~#str1~0.base|)) (= 0 |main_~#str1~0.offset|) (<= 1 main_~MAX~0))} is VALID [2020-07-08 23:36:48,590 INFO L280 TraceCheckUtils]: 11: Hoare triple {1523#(and (= 1 (select |#valid| |main_~#str1~0.base|)) (= 0 |main_~#str1~0.offset|) (<= 1 main_~MAX~0))} SUMMARY for call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(~MAX~0); srcloc: L16 {1524#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 1 main_~MAX~0))} is VALID [2020-07-08 23:36:48,591 INFO L280 TraceCheckUtils]: 12: Hoare triple {1524#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 1 main_~MAX~0))} havoc ~cont~0; {1524#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 1 main_~MAX~0))} is VALID [2020-07-08 23:36:48,592 INFO L280 TraceCheckUtils]: 13: Hoare triple {1524#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 1 main_~MAX~0))} havoc ~i~0; {1524#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 1 main_~MAX~0))} is VALID [2020-07-08 23:36:48,593 INFO L280 TraceCheckUtils]: 14: Hoare triple {1524#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 1 main_~MAX~0))} havoc ~j~0; {1524#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 1 main_~MAX~0))} is VALID [2020-07-08 23:36:48,601 INFO L280 TraceCheckUtils]: 15: Hoare triple {1524#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 1 main_~MAX~0))} ~cont~0 := 0; {1524#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 1 main_~MAX~0))} is VALID [2020-07-08 23:36:48,605 INFO L280 TraceCheckUtils]: 16: Hoare triple {1524#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 1 main_~MAX~0))} ~i~0 := 0; {1525#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= 0 main_~i~0) (<= 1 main_~MAX~0))} is VALID [2020-07-08 23:36:48,611 INFO L280 TraceCheckUtils]: 17: Hoare triple {1525#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= 0 main_~i~0) (<= 1 main_~MAX~0))} assume !!(~i~0 < ~MAX~0); {1525#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= 0 main_~i~0) (<= 1 main_~MAX~0))} is VALID [2020-07-08 23:36:48,614 INFO L280 TraceCheckUtils]: 18: Hoare triple {1525#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= 0 main_~i~0) (<= 1 main_~MAX~0))} assume -128 <= #t~nondet2 && #t~nondet2 <= 127; {1525#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= 0 main_~i~0) (<= 1 main_~MAX~0))} is VALID [2020-07-08 23:36:48,615 INFO L280 TraceCheckUtils]: 19: Hoare triple {1525#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= 0 main_~i~0) (<= 1 main_~MAX~0))} SUMMARY for call write~int(#t~nondet2, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1); srcloc: L21-1 {1525#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= 0 main_~i~0) (<= 1 main_~MAX~0))} is VALID [2020-07-08 23:36:48,616 INFO L280 TraceCheckUtils]: 20: Hoare triple {1525#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= 0 main_~i~0) (<= 1 main_~MAX~0))} havoc #t~nondet2; {1525#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= 0 main_~i~0) (<= 1 main_~MAX~0))} is VALID [2020-07-08 23:36:48,620 INFO L280 TraceCheckUtils]: 21: Hoare triple {1525#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= 0 main_~i~0) (<= 1 main_~MAX~0))} #t~post1 := ~i~0; {1526#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= |main_#t~post1| 0) (<= 1 main_~MAX~0))} is VALID [2020-07-08 23:36:48,622 INFO L280 TraceCheckUtils]: 22: Hoare triple {1526#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= |main_#t~post1| 0) (<= 1 main_~MAX~0))} ~i~0 := 1 + #t~post1; {1527#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~i~0 1) (<= 1 main_~MAX~0))} is VALID [2020-07-08 23:36:48,623 INFO L280 TraceCheckUtils]: 23: Hoare triple {1527#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~i~0 1) (<= 1 main_~MAX~0))} havoc #t~post1; {1527#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~i~0 1) (<= 1 main_~MAX~0))} is VALID [2020-07-08 23:36:48,624 INFO L280 TraceCheckUtils]: 24: Hoare triple {1527#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~i~0 1) (<= 1 main_~MAX~0))} assume !(~i~0 < ~MAX~0); {1528#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 1 main_~MAX~0) (<= main_~MAX~0 1))} is VALID [2020-07-08 23:36:48,627 INFO L280 TraceCheckUtils]: 25: Hoare triple {1528#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 1 main_~MAX~0) (<= main_~MAX~0 1))} SUMMARY for call write~int(0, ~#str1~0.base, ~#str1~0.offset + (~MAX~0 - 1), 1); srcloc: L20-7 {1528#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 1 main_~MAX~0) (<= main_~MAX~0 1))} is VALID [2020-07-08 23:36:48,629 INFO L280 TraceCheckUtils]: 26: Hoare triple {1528#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 1 main_~MAX~0) (<= main_~MAX~0 1))} ~j~0 := 0; {1529#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= 0 (+ main_~j~0 |main_~#str2~0.offset|)) (<= 1 main_~MAX~0) (<= main_~MAX~0 1))} is VALID [2020-07-08 23:36:48,632 INFO L280 TraceCheckUtils]: 27: Hoare triple {1529#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= 0 (+ main_~j~0 |main_~#str2~0.offset|)) (<= 1 main_~MAX~0) (<= main_~MAX~0 1))} ~i~0 := ~MAX~0 - 1; {1529#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= 0 (+ main_~j~0 |main_~#str2~0.offset|)) (<= 1 main_~MAX~0) (<= main_~MAX~0 1))} is VALID [2020-07-08 23:36:48,633 INFO L280 TraceCheckUtils]: 28: Hoare triple {1529#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= 0 (+ main_~j~0 |main_~#str2~0.offset|)) (<= 1 main_~MAX~0) (<= main_~MAX~0 1))} assume !!(~i~0 >= 0); {1529#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= 0 (+ main_~j~0 |main_~#str2~0.offset|)) (<= 1 main_~MAX~0) (<= main_~MAX~0 1))} is VALID [2020-07-08 23:36:48,635 INFO L280 TraceCheckUtils]: 29: Hoare triple {1529#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= 0 (+ main_~j~0 |main_~#str2~0.offset|)) (<= 1 main_~MAX~0) (<= main_~MAX~0 1))} SUMMARY for call #t~mem4 := read~int(~#str1~0.base, ~#str1~0.offset, 1); srcloc: L28 {1530#(and (= (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|) |main_#t~mem4|) (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= 0 (+ main_~j~0 |main_~#str2~0.offset|)) (<= 1 main_~MAX~0) (<= main_~MAX~0 1))} is VALID [2020-07-08 23:36:48,636 INFO L280 TraceCheckUtils]: 30: Hoare triple {1530#(and (= (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|) |main_#t~mem4|) (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= 0 (+ main_~j~0 |main_~#str2~0.offset|)) (<= 1 main_~MAX~0) (<= main_~MAX~0 1))} SUMMARY for call write~int(#t~mem4, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1); srcloc: L28-1 {1531#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (= (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|) (select (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|))) (= 0 (+ main_~j~0 |main_~#str2~0.offset|)) (<= 1 main_~MAX~0) (<= main_~MAX~0 1))} is VALID [2020-07-08 23:36:48,637 INFO L280 TraceCheckUtils]: 31: Hoare triple {1531#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (= (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|) (select (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|))) (= 0 (+ main_~j~0 |main_~#str2~0.offset|)) (<= 1 main_~MAX~0) (<= main_~MAX~0 1))} havoc #t~mem4; {1531#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (= (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|) (select (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|))) (= 0 (+ main_~j~0 |main_~#str2~0.offset|)) (<= 1 main_~MAX~0) (<= main_~MAX~0 1))} is VALID [2020-07-08 23:36:48,638 INFO L280 TraceCheckUtils]: 32: Hoare triple {1531#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (= (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|) (select (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|))) (= 0 (+ main_~j~0 |main_~#str2~0.offset|)) (<= 1 main_~MAX~0) (<= main_~MAX~0 1))} #t~post5 := ~j~0; {1532#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (= (select (select |#memory_int| |main_~#str2~0.base|) 0) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)) (<= 1 main_~MAX~0) (<= main_~MAX~0 1))} is VALID [2020-07-08 23:36:48,639 INFO L280 TraceCheckUtils]: 33: Hoare triple {1532#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (= (select (select |#memory_int| |main_~#str2~0.base|) 0) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)) (<= 1 main_~MAX~0) (<= main_~MAX~0 1))} ~j~0 := 1 + #t~post5; {1532#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (= (select (select |#memory_int| |main_~#str2~0.base|) 0) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)) (<= 1 main_~MAX~0) (<= main_~MAX~0 1))} is VALID [2020-07-08 23:36:48,640 INFO L280 TraceCheckUtils]: 34: Hoare triple {1532#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (= (select (select |#memory_int| |main_~#str2~0.base|) 0) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)) (<= 1 main_~MAX~0) (<= main_~MAX~0 1))} havoc #t~post5; {1532#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (= (select (select |#memory_int| |main_~#str2~0.base|) 0) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)) (<= 1 main_~MAX~0) (<= main_~MAX~0 1))} is VALID [2020-07-08 23:36:48,641 INFO L280 TraceCheckUtils]: 35: Hoare triple {1532#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (= (select (select |#memory_int| |main_~#str2~0.base|) 0) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)) (<= 1 main_~MAX~0) (<= main_~MAX~0 1))} #t~post3 := ~i~0; {1532#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (= (select (select |#memory_int| |main_~#str2~0.base|) 0) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)) (<= 1 main_~MAX~0) (<= main_~MAX~0 1))} is VALID [2020-07-08 23:36:48,642 INFO L280 TraceCheckUtils]: 36: Hoare triple {1532#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (= (select (select |#memory_int| |main_~#str2~0.base|) 0) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)) (<= 1 main_~MAX~0) (<= main_~MAX~0 1))} ~i~0 := #t~post3 - 1; {1532#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (= (select (select |#memory_int| |main_~#str2~0.base|) 0) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)) (<= 1 main_~MAX~0) (<= main_~MAX~0 1))} is VALID [2020-07-08 23:36:48,643 INFO L280 TraceCheckUtils]: 37: Hoare triple {1532#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (= (select (select |#memory_int| |main_~#str2~0.base|) 0) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)) (<= 1 main_~MAX~0) (<= main_~MAX~0 1))} havoc #t~post3; {1532#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (= (select (select |#memory_int| |main_~#str2~0.base|) 0) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)) (<= 1 main_~MAX~0) (<= main_~MAX~0 1))} is VALID [2020-07-08 23:36:48,645 INFO L280 TraceCheckUtils]: 38: Hoare triple {1532#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (= (select (select |#memory_int| |main_~#str2~0.base|) 0) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)) (<= 1 main_~MAX~0) (<= main_~MAX~0 1))} assume !(~i~0 >= 0); {1532#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (= (select (select |#memory_int| |main_~#str2~0.base|) 0) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)) (<= 1 main_~MAX~0) (<= main_~MAX~0 1))} is VALID [2020-07-08 23:36:48,646 INFO L280 TraceCheckUtils]: 39: Hoare triple {1532#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (= (select (select |#memory_int| |main_~#str2~0.base|) 0) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)) (<= 1 main_~MAX~0) (<= main_~MAX~0 1))} ~j~0 := ~MAX~0 - 1; {1533#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (= (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|) (select (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|))) (<= 0 main_~j~0) (<= main_~j~0 0))} is VALID [2020-07-08 23:36:48,647 INFO L280 TraceCheckUtils]: 40: Hoare triple {1533#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (= (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|) (select (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|))) (<= 0 main_~j~0) (<= main_~j~0 0))} ~i~0 := 0; {1534#(and (= 0 |main_~#str2~0.offset|) (= 0 (+ |main_~#str1~0.offset| main_~i~0)) (= 0 main_~i~0) (= (select (select |#memory_int| |main_~#str1~0.base|) (+ |main_~#str1~0.offset| main_~i~0)) (select (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|))) (<= 0 main_~j~0) (<= main_~j~0 0))} is VALID [2020-07-08 23:36:48,648 INFO L280 TraceCheckUtils]: 41: Hoare triple {1534#(and (= 0 |main_~#str2~0.offset|) (= 0 (+ |main_~#str1~0.offset| main_~i~0)) (= 0 main_~i~0) (= (select (select |#memory_int| |main_~#str1~0.base|) (+ |main_~#str1~0.offset| main_~i~0)) (select (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|))) (<= 0 main_~j~0) (<= main_~j~0 0))} assume !!(~i~0 < ~MAX~0); {1534#(and (= 0 |main_~#str2~0.offset|) (= 0 (+ |main_~#str1~0.offset| main_~i~0)) (= 0 main_~i~0) (= (select (select |#memory_int| |main_~#str1~0.base|) (+ |main_~#str1~0.offset| main_~i~0)) (select (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|))) (<= 0 main_~j~0) (<= main_~j~0 0))} is VALID [2020-07-08 23:36:48,649 INFO L280 TraceCheckUtils]: 42: Hoare triple {1534#(and (= 0 |main_~#str2~0.offset|) (= 0 (+ |main_~#str1~0.offset| main_~i~0)) (= 0 main_~i~0) (= (select (select |#memory_int| |main_~#str1~0.base|) (+ |main_~#str1~0.offset| main_~i~0)) (select (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|))) (<= 0 main_~j~0) (<= main_~j~0 0))} SUMMARY for call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1); srcloc: L34 {1535#(and (= 0 |main_~#str2~0.offset|) (<= 0 main_~j~0) (= |main_#t~mem7| (select (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|))) (<= main_~j~0 0))} is VALID [2020-07-08 23:36:48,650 INFO L280 TraceCheckUtils]: 43: Hoare triple {1535#(and (= 0 |main_~#str2~0.offset|) (<= 0 main_~j~0) (= |main_#t~mem7| (select (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|))) (<= main_~j~0 0))} SUMMARY for call #t~mem8 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); srcloc: L34-1 {1536#(= |main_#t~mem8| |main_#t~mem7|)} is VALID [2020-07-08 23:36:48,651 INFO L263 TraceCheckUtils]: 44: Hoare triple {1536#(= |main_#t~mem8| |main_#t~mem7|)} call __VERIFIER_assert((if #t~mem7 == #t~mem8 then 1 else 0)); {1537#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2020-07-08 23:36:48,651 INFO L280 TraceCheckUtils]: 45: Hoare triple {1537#(not (= 0 |__VERIFIER_assert_#in~cond|))} ~cond := #in~cond; {1538#(not (= 0 __VERIFIER_assert_~cond))} is VALID [2020-07-08 23:36:48,652 INFO L280 TraceCheckUtils]: 46: Hoare triple {1538#(not (= 0 __VERIFIER_assert_~cond))} assume 0 == ~cond; {1516#false} is VALID [2020-07-08 23:36:48,652 INFO L280 TraceCheckUtils]: 47: Hoare triple {1516#false} assume !false; {1516#false} is VALID [2020-07-08 23:36:48,667 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-08 23:36:48,668 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [271727961] [2020-07-08 23:36:48,668 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-08 23:36:48,668 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [20] total 20 [2020-07-08 23:36:48,669 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [969218568] [2020-07-08 23:36:48,669 INFO L78 Accepts]: Start accepts. Automaton has 20 states. Word has length 48 [2020-07-08 23:36:48,670 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 23:36:48,670 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states. [2020-07-08 23:36:48,724 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 23:36:48,725 INFO L459 AbstractCegarLoop]: Interpolant automaton has 20 states [2020-07-08 23:36:48,725 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 23:36:48,725 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2020-07-08 23:36:48,726 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=320, Unknown=0, NotChecked=0, Total=380 [2020-07-08 23:36:48,726 INFO L87 Difference]: Start difference. First operand 59 states and 61 transitions. Second operand 20 states. [2020-07-08 23:36:52,789 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 23:36:52,790 INFO L93 Difference]: Finished difference Result 164 states and 173 transitions. [2020-07-08 23:36:52,790 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2020-07-08 23:36:52,790 INFO L78 Accepts]: Start accepts. Automaton has 20 states. Word has length 48 [2020-07-08 23:36:52,790 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 23:36:52,791 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2020-07-08 23:36:52,797 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 172 transitions. [2020-07-08 23:36:52,797 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2020-07-08 23:36:52,803 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 172 transitions. [2020-07-08 23:36:52,804 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 27 states and 172 transitions. [2020-07-08 23:36:53,055 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 172 edges. 172 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 23:36:53,062 INFO L225 Difference]: With dead ends: 164 [2020-07-08 23:36:53,062 INFO L226 Difference]: Without dead ends: 162 [2020-07-08 23:36:53,064 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 45 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 41 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 386 ImplicationChecksByTransitivity, 1.7s TimeCoverageRelationStatistics Valid=363, Invalid=1443, Unknown=0, NotChecked=0, Total=1806 [2020-07-08 23:36:53,066 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 162 states. [2020-07-08 23:36:53,417 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 162 to 90. [2020-07-08 23:36:53,418 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 23:36:53,418 INFO L82 GeneralOperation]: Start isEquivalent. First operand 162 states. Second operand 90 states. [2020-07-08 23:36:53,418 INFO L74 IsIncluded]: Start isIncluded. First operand 162 states. Second operand 90 states. [2020-07-08 23:36:53,418 INFO L87 Difference]: Start difference. First operand 162 states. Second operand 90 states. [2020-07-08 23:36:53,425 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 23:36:53,425 INFO L93 Difference]: Finished difference Result 162 states and 171 transitions. [2020-07-08 23:36:53,426 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 171 transitions. [2020-07-08 23:36:53,427 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 23:36:53,427 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 23:36:53,427 INFO L74 IsIncluded]: Start isIncluded. First operand 90 states. Second operand 162 states. [2020-07-08 23:36:53,427 INFO L87 Difference]: Start difference. First operand 90 states. Second operand 162 states. [2020-07-08 23:36:53,434 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 23:36:53,435 INFO L93 Difference]: Finished difference Result 162 states and 171 transitions. [2020-07-08 23:36:53,435 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 171 transitions. [2020-07-08 23:36:53,435 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 23:36:53,436 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 23:36:53,436 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 23:36:53,436 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 23:36:53,436 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 90 states. [2020-07-08 23:36:53,439 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 90 states to 90 states and 94 transitions. [2020-07-08 23:36:53,440 INFO L78 Accepts]: Start accepts. Automaton has 90 states and 94 transitions. Word has length 48 [2020-07-08 23:36:53,440 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 23:36:53,440 INFO L479 AbstractCegarLoop]: Abstraction has 90 states and 94 transitions. [2020-07-08 23:36:53,440 INFO L480 AbstractCegarLoop]: Interpolant automaton has 20 states. [2020-07-08 23:36:53,441 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 90 states and 94 transitions. [2020-07-08 23:36:53,622 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 23:36:53,622 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 94 transitions. [2020-07-08 23:36:53,623 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2020-07-08 23:36:53,624 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 23:36:53,624 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-08 23:36:53,625 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2020-07-08 23:36:53,625 INFO L427 AbstractCegarLoop]: === Iteration 5 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 23:36:53,625 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 23:36:53,625 INFO L82 PathProgramCache]: Analyzing trace with hash -523876270, now seen corresponding path program 2 times [2020-07-08 23:36:53,626 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 23:36:53,626 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [233262215] [2020-07-08 23:36:53,626 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 23:36:53,645 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 23:36:53,765 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 23:36:53,772 INFO L280 TraceCheckUtils]: 0: Hoare triple {2433#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {2420#true} is VALID [2020-07-08 23:36:53,773 INFO L280 TraceCheckUtils]: 1: Hoare triple {2420#true} #valid := #valid[0 := 0]; {2420#true} is VALID [2020-07-08 23:36:53,773 INFO L280 TraceCheckUtils]: 2: Hoare triple {2420#true} assume 0 < #StackHeapBarrier; {2420#true} is VALID [2020-07-08 23:36:53,773 INFO L280 TraceCheckUtils]: 3: Hoare triple {2420#true} assume true; {2420#true} is VALID [2020-07-08 23:36:53,774 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {2420#true} {2420#true} #107#return; {2420#true} is VALID [2020-07-08 23:36:53,775 INFO L263 TraceCheckUtils]: 0: Hoare triple {2420#true} call ULTIMATE.init(); {2433#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-08 23:36:53,775 INFO L280 TraceCheckUtils]: 1: Hoare triple {2433#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {2420#true} is VALID [2020-07-08 23:36:53,775 INFO L280 TraceCheckUtils]: 2: Hoare triple {2420#true} #valid := #valid[0 := 0]; {2420#true} is VALID [2020-07-08 23:36:53,775 INFO L280 TraceCheckUtils]: 3: Hoare triple {2420#true} assume 0 < #StackHeapBarrier; {2420#true} is VALID [2020-07-08 23:36:53,776 INFO L280 TraceCheckUtils]: 4: Hoare triple {2420#true} assume true; {2420#true} is VALID [2020-07-08 23:36:53,776 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {2420#true} {2420#true} #107#return; {2420#true} is VALID [2020-07-08 23:36:53,776 INFO L263 TraceCheckUtils]: 6: Hoare triple {2420#true} call #t~ret10 := main(); {2420#true} is VALID [2020-07-08 23:36:53,776 INFO L280 TraceCheckUtils]: 7: Hoare triple {2420#true} ~MAX~0 := (if #t~nondet0 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet0 % 4294967296 % 4294967296 else #t~nondet0 % 4294967296 % 4294967296 - 4294967296); {2420#true} is VALID [2020-07-08 23:36:53,777 INFO L280 TraceCheckUtils]: 8: Hoare triple {2420#true} havoc #t~nondet0; {2420#true} is VALID [2020-07-08 23:36:53,777 INFO L280 TraceCheckUtils]: 9: Hoare triple {2420#true} assume !!(~MAX~0 > 0); {2420#true} is VALID [2020-07-08 23:36:53,777 INFO L280 TraceCheckUtils]: 10: Hoare triple {2420#true} SUMMARY for call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack(~MAX~0); srcloc: L15-3 {2420#true} is VALID [2020-07-08 23:36:53,777 INFO L280 TraceCheckUtils]: 11: Hoare triple {2420#true} SUMMARY for call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(~MAX~0); srcloc: L16 {2420#true} is VALID [2020-07-08 23:36:53,778 INFO L280 TraceCheckUtils]: 12: Hoare triple {2420#true} havoc ~cont~0; {2420#true} is VALID [2020-07-08 23:36:53,778 INFO L280 TraceCheckUtils]: 13: Hoare triple {2420#true} havoc ~i~0; {2420#true} is VALID [2020-07-08 23:36:53,778 INFO L280 TraceCheckUtils]: 14: Hoare triple {2420#true} havoc ~j~0; {2420#true} is VALID [2020-07-08 23:36:53,778 INFO L280 TraceCheckUtils]: 15: Hoare triple {2420#true} ~cont~0 := 0; {2420#true} is VALID [2020-07-08 23:36:53,781 INFO L280 TraceCheckUtils]: 16: Hoare triple {2420#true} ~i~0 := 0; {2427#(= 0 main_~i~0)} is VALID [2020-07-08 23:36:53,782 INFO L280 TraceCheckUtils]: 17: Hoare triple {2427#(= 0 main_~i~0)} assume !!(~i~0 < ~MAX~0); {2427#(= 0 main_~i~0)} is VALID [2020-07-08 23:36:53,783 INFO L280 TraceCheckUtils]: 18: Hoare triple {2427#(= 0 main_~i~0)} assume -128 <= #t~nondet2 && #t~nondet2 <= 127; {2427#(= 0 main_~i~0)} is VALID [2020-07-08 23:36:53,793 INFO L280 TraceCheckUtils]: 19: Hoare triple {2427#(= 0 main_~i~0)} SUMMARY for call write~int(#t~nondet2, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1); srcloc: L21-1 {2427#(= 0 main_~i~0)} is VALID [2020-07-08 23:36:53,794 INFO L280 TraceCheckUtils]: 20: Hoare triple {2427#(= 0 main_~i~0)} havoc #t~nondet2; {2427#(= 0 main_~i~0)} is VALID [2020-07-08 23:36:53,795 INFO L280 TraceCheckUtils]: 21: Hoare triple {2427#(= 0 main_~i~0)} #t~post1 := ~i~0; {2428#(= |main_#t~post1| 0)} is VALID [2020-07-08 23:36:53,796 INFO L280 TraceCheckUtils]: 22: Hoare triple {2428#(= |main_#t~post1| 0)} ~i~0 := 1 + #t~post1; {2429#(<= 1 main_~i~0)} is VALID [2020-07-08 23:36:53,796 INFO L280 TraceCheckUtils]: 23: Hoare triple {2429#(<= 1 main_~i~0)} havoc #t~post1; {2429#(<= 1 main_~i~0)} is VALID [2020-07-08 23:36:53,797 INFO L280 TraceCheckUtils]: 24: Hoare triple {2429#(<= 1 main_~i~0)} assume !!(~i~0 < ~MAX~0); {2430#(<= 2 main_~MAX~0)} is VALID [2020-07-08 23:36:53,800 INFO L280 TraceCheckUtils]: 25: Hoare triple {2430#(<= 2 main_~MAX~0)} assume -128 <= #t~nondet2 && #t~nondet2 <= 127; {2430#(<= 2 main_~MAX~0)} is VALID [2020-07-08 23:36:53,803 INFO L280 TraceCheckUtils]: 26: Hoare triple {2430#(<= 2 main_~MAX~0)} SUMMARY for call write~int(#t~nondet2, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1); srcloc: L21-1 {2430#(<= 2 main_~MAX~0)} is VALID [2020-07-08 23:36:53,804 INFO L280 TraceCheckUtils]: 27: Hoare triple {2430#(<= 2 main_~MAX~0)} havoc #t~nondet2; {2430#(<= 2 main_~MAX~0)} is VALID [2020-07-08 23:36:53,804 INFO L280 TraceCheckUtils]: 28: Hoare triple {2430#(<= 2 main_~MAX~0)} #t~post1 := ~i~0; {2430#(<= 2 main_~MAX~0)} is VALID [2020-07-08 23:36:53,805 INFO L280 TraceCheckUtils]: 29: Hoare triple {2430#(<= 2 main_~MAX~0)} ~i~0 := 1 + #t~post1; {2430#(<= 2 main_~MAX~0)} is VALID [2020-07-08 23:36:53,813 INFO L280 TraceCheckUtils]: 30: Hoare triple {2430#(<= 2 main_~MAX~0)} havoc #t~post1; {2430#(<= 2 main_~MAX~0)} is VALID [2020-07-08 23:36:53,814 INFO L280 TraceCheckUtils]: 31: Hoare triple {2430#(<= 2 main_~MAX~0)} assume !(~i~0 < ~MAX~0); {2430#(<= 2 main_~MAX~0)} is VALID [2020-07-08 23:36:53,814 INFO L280 TraceCheckUtils]: 32: Hoare triple {2430#(<= 2 main_~MAX~0)} SUMMARY for call write~int(0, ~#str1~0.base, ~#str1~0.offset + (~MAX~0 - 1), 1); srcloc: L20-7 {2430#(<= 2 main_~MAX~0)} is VALID [2020-07-08 23:36:53,818 INFO L280 TraceCheckUtils]: 33: Hoare triple {2430#(<= 2 main_~MAX~0)} ~j~0 := 0; {2430#(<= 2 main_~MAX~0)} is VALID [2020-07-08 23:36:53,819 INFO L280 TraceCheckUtils]: 34: Hoare triple {2430#(<= 2 main_~MAX~0)} ~i~0 := ~MAX~0 - 1; {2429#(<= 1 main_~i~0)} is VALID [2020-07-08 23:36:53,819 INFO L280 TraceCheckUtils]: 35: Hoare triple {2429#(<= 1 main_~i~0)} assume !!(~i~0 >= 0); {2429#(<= 1 main_~i~0)} is VALID [2020-07-08 23:36:53,820 INFO L280 TraceCheckUtils]: 36: Hoare triple {2429#(<= 1 main_~i~0)} SUMMARY for call #t~mem4 := read~int(~#str1~0.base, ~#str1~0.offset, 1); srcloc: L28 {2429#(<= 1 main_~i~0)} is VALID [2020-07-08 23:36:53,820 INFO L280 TraceCheckUtils]: 37: Hoare triple {2429#(<= 1 main_~i~0)} SUMMARY for call write~int(#t~mem4, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1); srcloc: L28-1 {2429#(<= 1 main_~i~0)} is VALID [2020-07-08 23:36:53,823 INFO L280 TraceCheckUtils]: 38: Hoare triple {2429#(<= 1 main_~i~0)} havoc #t~mem4; {2429#(<= 1 main_~i~0)} is VALID [2020-07-08 23:36:53,823 INFO L280 TraceCheckUtils]: 39: Hoare triple {2429#(<= 1 main_~i~0)} #t~post5 := ~j~0; {2429#(<= 1 main_~i~0)} is VALID [2020-07-08 23:36:53,824 INFO L280 TraceCheckUtils]: 40: Hoare triple {2429#(<= 1 main_~i~0)} ~j~0 := 1 + #t~post5; {2429#(<= 1 main_~i~0)} is VALID [2020-07-08 23:36:53,825 INFO L280 TraceCheckUtils]: 41: Hoare triple {2429#(<= 1 main_~i~0)} havoc #t~post5; {2429#(<= 1 main_~i~0)} is VALID [2020-07-08 23:36:53,826 INFO L280 TraceCheckUtils]: 42: Hoare triple {2429#(<= 1 main_~i~0)} #t~post3 := ~i~0; {2431#(<= 1 |main_#t~post3|)} is VALID [2020-07-08 23:36:53,826 INFO L280 TraceCheckUtils]: 43: Hoare triple {2431#(<= 1 |main_#t~post3|)} ~i~0 := #t~post3 - 1; {2432#(<= 0 main_~i~0)} is VALID [2020-07-08 23:36:53,827 INFO L280 TraceCheckUtils]: 44: Hoare triple {2432#(<= 0 main_~i~0)} havoc #t~post3; {2432#(<= 0 main_~i~0)} is VALID [2020-07-08 23:36:53,828 INFO L280 TraceCheckUtils]: 45: Hoare triple {2432#(<= 0 main_~i~0)} assume !(~i~0 >= 0); {2421#false} is VALID [2020-07-08 23:36:53,828 INFO L280 TraceCheckUtils]: 46: Hoare triple {2421#false} ~j~0 := ~MAX~0 - 1; {2421#false} is VALID [2020-07-08 23:36:53,828 INFO L280 TraceCheckUtils]: 47: Hoare triple {2421#false} ~i~0 := 0; {2421#false} is VALID [2020-07-08 23:36:53,828 INFO L280 TraceCheckUtils]: 48: Hoare triple {2421#false} assume !!(~i~0 < ~MAX~0); {2421#false} is VALID [2020-07-08 23:36:53,829 INFO L280 TraceCheckUtils]: 49: Hoare triple {2421#false} SUMMARY for call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1); srcloc: L34 {2421#false} is VALID [2020-07-08 23:36:53,829 INFO L280 TraceCheckUtils]: 50: Hoare triple {2421#false} SUMMARY for call #t~mem8 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); srcloc: L34-1 {2421#false} is VALID [2020-07-08 23:36:53,829 INFO L263 TraceCheckUtils]: 51: Hoare triple {2421#false} call __VERIFIER_assert((if #t~mem7 == #t~mem8 then 1 else 0)); {2421#false} is VALID [2020-07-08 23:36:53,829 INFO L280 TraceCheckUtils]: 52: Hoare triple {2421#false} ~cond := #in~cond; {2421#false} is VALID [2020-07-08 23:36:53,829 INFO L280 TraceCheckUtils]: 53: Hoare triple {2421#false} assume 0 == ~cond; {2421#false} is VALID [2020-07-08 23:36:53,830 INFO L280 TraceCheckUtils]: 54: Hoare triple {2421#false} assume !false; {2421#false} is VALID [2020-07-08 23:36:53,834 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-08 23:36:53,834 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [233262215] [2020-07-08 23:36:53,834 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-08 23:36:53,835 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2020-07-08 23:36:53,835 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1572738042] [2020-07-08 23:36:53,836 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 55 [2020-07-08 23:36:53,836 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 23:36:53,836 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-08 23:36:53,892 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 23:36:53,893 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-08 23:36:53,893 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 23:36:53,893 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-08 23:36:53,894 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2020-07-08 23:36:53,894 INFO L87 Difference]: Start difference. First operand 90 states and 94 transitions. Second operand 9 states. [2020-07-08 23:36:55,454 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 23:36:55,455 INFO L93 Difference]: Finished difference Result 171 states and 180 transitions. [2020-07-08 23:36:55,455 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2020-07-08 23:36:55,455 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 55 [2020-07-08 23:36:55,455 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 23:36:55,455 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-08 23:36:55,459 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 158 transitions. [2020-07-08 23:36:55,459 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-08 23:36:55,463 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 158 transitions. [2020-07-08 23:36:55,463 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 158 transitions. [2020-07-08 23:36:55,646 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 158 edges. 158 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 23:36:55,650 INFO L225 Difference]: With dead ends: 171 [2020-07-08 23:36:55,650 INFO L226 Difference]: Without dead ends: 151 [2020-07-08 23:36:55,651 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 21 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=58, Invalid=182, Unknown=0, NotChecked=0, Total=240 [2020-07-08 23:36:55,652 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 151 states. [2020-07-08 23:36:56,044 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 151 to 100. [2020-07-08 23:36:56,045 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 23:36:56,045 INFO L82 GeneralOperation]: Start isEquivalent. First operand 151 states. Second operand 100 states. [2020-07-08 23:36:56,045 INFO L74 IsIncluded]: Start isIncluded. First operand 151 states. Second operand 100 states. [2020-07-08 23:36:56,045 INFO L87 Difference]: Start difference. First operand 151 states. Second operand 100 states. [2020-07-08 23:36:56,050 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 23:36:56,050 INFO L93 Difference]: Finished difference Result 151 states and 159 transitions. [2020-07-08 23:36:56,050 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 159 transitions. [2020-07-08 23:36:56,051 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 23:36:56,051 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 23:36:56,051 INFO L74 IsIncluded]: Start isIncluded. First operand 100 states. Second operand 151 states. [2020-07-08 23:36:56,051 INFO L87 Difference]: Start difference. First operand 100 states. Second operand 151 states. [2020-07-08 23:36:56,057 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 23:36:56,057 INFO L93 Difference]: Finished difference Result 151 states and 159 transitions. [2020-07-08 23:36:56,058 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 159 transitions. [2020-07-08 23:36:56,058 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 23:36:56,058 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 23:36:56,058 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 23:36:56,059 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 23:36:56,059 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 100 states. [2020-07-08 23:36:56,062 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100 states to 100 states and 104 transitions. [2020-07-08 23:36:56,062 INFO L78 Accepts]: Start accepts. Automaton has 100 states and 104 transitions. Word has length 55 [2020-07-08 23:36:56,062 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 23:36:56,063 INFO L479 AbstractCegarLoop]: Abstraction has 100 states and 104 transitions. [2020-07-08 23:36:56,063 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-08 23:36:56,063 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 100 states and 104 transitions. [2020-07-08 23:36:56,260 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 104 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 23:36:56,261 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 104 transitions. [2020-07-08 23:36:56,262 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2020-07-08 23:36:56,262 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 23:36:56,262 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-08 23:36:56,263 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2020-07-08 23:36:56,263 INFO L427 AbstractCegarLoop]: === Iteration 6 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 23:36:56,263 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 23:36:56,263 INFO L82 PathProgramCache]: Analyzing trace with hash -2134174762, now seen corresponding path program 3 times [2020-07-08 23:36:56,263 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 23:36:56,264 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [252294851] [2020-07-08 23:36:56,264 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 23:36:56,287 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 23:36:56,430 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 23:36:56,436 INFO L280 TraceCheckUtils]: 0: Hoare triple {3308#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {3294#true} is VALID [2020-07-08 23:36:56,437 INFO L280 TraceCheckUtils]: 1: Hoare triple {3294#true} #valid := #valid[0 := 0]; {3294#true} is VALID [2020-07-08 23:36:56,437 INFO L280 TraceCheckUtils]: 2: Hoare triple {3294#true} assume 0 < #StackHeapBarrier; {3294#true} is VALID [2020-07-08 23:36:56,437 INFO L280 TraceCheckUtils]: 3: Hoare triple {3294#true} assume true; {3294#true} is VALID [2020-07-08 23:36:56,437 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {3294#true} {3294#true} #107#return; {3294#true} is VALID [2020-07-08 23:36:56,438 INFO L263 TraceCheckUtils]: 0: Hoare triple {3294#true} call ULTIMATE.init(); {3308#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-08 23:36:56,439 INFO L280 TraceCheckUtils]: 1: Hoare triple {3308#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {3294#true} is VALID [2020-07-08 23:36:56,439 INFO L280 TraceCheckUtils]: 2: Hoare triple {3294#true} #valid := #valid[0 := 0]; {3294#true} is VALID [2020-07-08 23:36:56,439 INFO L280 TraceCheckUtils]: 3: Hoare triple {3294#true} assume 0 < #StackHeapBarrier; {3294#true} is VALID [2020-07-08 23:36:56,439 INFO L280 TraceCheckUtils]: 4: Hoare triple {3294#true} assume true; {3294#true} is VALID [2020-07-08 23:36:56,439 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {3294#true} {3294#true} #107#return; {3294#true} is VALID [2020-07-08 23:36:56,440 INFO L263 TraceCheckUtils]: 6: Hoare triple {3294#true} call #t~ret10 := main(); {3294#true} is VALID [2020-07-08 23:36:56,440 INFO L280 TraceCheckUtils]: 7: Hoare triple {3294#true} ~MAX~0 := (if #t~nondet0 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet0 % 4294967296 % 4294967296 else #t~nondet0 % 4294967296 % 4294967296 - 4294967296); {3294#true} is VALID [2020-07-08 23:36:56,440 INFO L280 TraceCheckUtils]: 8: Hoare triple {3294#true} havoc #t~nondet0; {3294#true} is VALID [2020-07-08 23:36:56,440 INFO L280 TraceCheckUtils]: 9: Hoare triple {3294#true} assume !!(~MAX~0 > 0); {3294#true} is VALID [2020-07-08 23:36:56,440 INFO L280 TraceCheckUtils]: 10: Hoare triple {3294#true} SUMMARY for call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack(~MAX~0); srcloc: L15-3 {3294#true} is VALID [2020-07-08 23:36:56,440 INFO L280 TraceCheckUtils]: 11: Hoare triple {3294#true} SUMMARY for call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(~MAX~0); srcloc: L16 {3294#true} is VALID [2020-07-08 23:36:56,441 INFO L280 TraceCheckUtils]: 12: Hoare triple {3294#true} havoc ~cont~0; {3294#true} is VALID [2020-07-08 23:36:56,441 INFO L280 TraceCheckUtils]: 13: Hoare triple {3294#true} havoc ~i~0; {3294#true} is VALID [2020-07-08 23:36:56,441 INFO L280 TraceCheckUtils]: 14: Hoare triple {3294#true} havoc ~j~0; {3294#true} is VALID [2020-07-08 23:36:56,441 INFO L280 TraceCheckUtils]: 15: Hoare triple {3294#true} ~cont~0 := 0; {3294#true} is VALID [2020-07-08 23:36:56,448 INFO L280 TraceCheckUtils]: 16: Hoare triple {3294#true} ~i~0 := 0; {3301#(= 0 main_~i~0)} is VALID [2020-07-08 23:36:56,449 INFO L280 TraceCheckUtils]: 17: Hoare triple {3301#(= 0 main_~i~0)} assume !!(~i~0 < ~MAX~0); {3301#(= 0 main_~i~0)} is VALID [2020-07-08 23:36:56,450 INFO L280 TraceCheckUtils]: 18: Hoare triple {3301#(= 0 main_~i~0)} assume -128 <= #t~nondet2 && #t~nondet2 <= 127; {3301#(= 0 main_~i~0)} is VALID [2020-07-08 23:36:56,450 INFO L280 TraceCheckUtils]: 19: Hoare triple {3301#(= 0 main_~i~0)} SUMMARY for call write~int(#t~nondet2, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1); srcloc: L21-1 {3301#(= 0 main_~i~0)} is VALID [2020-07-08 23:36:56,452 INFO L280 TraceCheckUtils]: 20: Hoare triple {3301#(= 0 main_~i~0)} havoc #t~nondet2; {3301#(= 0 main_~i~0)} is VALID [2020-07-08 23:36:56,455 INFO L280 TraceCheckUtils]: 21: Hoare triple {3301#(= 0 main_~i~0)} #t~post1 := ~i~0; {3302#(= |main_#t~post1| 0)} is VALID [2020-07-08 23:36:56,458 INFO L280 TraceCheckUtils]: 22: Hoare triple {3302#(= |main_#t~post1| 0)} ~i~0 := 1 + #t~post1; {3303#(<= main_~i~0 1)} is VALID [2020-07-08 23:36:56,460 INFO L280 TraceCheckUtils]: 23: Hoare triple {3303#(<= main_~i~0 1)} havoc #t~post1; {3303#(<= main_~i~0 1)} is VALID [2020-07-08 23:36:56,461 INFO L280 TraceCheckUtils]: 24: Hoare triple {3303#(<= main_~i~0 1)} assume !(~i~0 < ~MAX~0); {3304#(<= main_~MAX~0 1)} is VALID [2020-07-08 23:36:56,461 INFO L280 TraceCheckUtils]: 25: Hoare triple {3304#(<= main_~MAX~0 1)} SUMMARY for call write~int(0, ~#str1~0.base, ~#str1~0.offset + (~MAX~0 - 1), 1); srcloc: L20-7 {3304#(<= main_~MAX~0 1)} is VALID [2020-07-08 23:36:56,462 INFO L280 TraceCheckUtils]: 26: Hoare triple {3304#(<= main_~MAX~0 1)} ~j~0 := 0; {3304#(<= main_~MAX~0 1)} is VALID [2020-07-08 23:36:56,463 INFO L280 TraceCheckUtils]: 27: Hoare triple {3304#(<= main_~MAX~0 1)} ~i~0 := ~MAX~0 - 1; {3305#(<= main_~i~0 0)} is VALID [2020-07-08 23:36:56,463 INFO L280 TraceCheckUtils]: 28: Hoare triple {3305#(<= main_~i~0 0)} assume !!(~i~0 >= 0); {3305#(<= main_~i~0 0)} is VALID [2020-07-08 23:36:56,464 INFO L280 TraceCheckUtils]: 29: Hoare triple {3305#(<= main_~i~0 0)} SUMMARY for call #t~mem4 := read~int(~#str1~0.base, ~#str1~0.offset, 1); srcloc: L28 {3305#(<= main_~i~0 0)} is VALID [2020-07-08 23:36:56,464 INFO L280 TraceCheckUtils]: 30: Hoare triple {3305#(<= main_~i~0 0)} SUMMARY for call write~int(#t~mem4, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1); srcloc: L28-1 {3305#(<= main_~i~0 0)} is VALID [2020-07-08 23:36:56,464 INFO L280 TraceCheckUtils]: 31: Hoare triple {3305#(<= main_~i~0 0)} havoc #t~mem4; {3305#(<= main_~i~0 0)} is VALID [2020-07-08 23:36:56,465 INFO L280 TraceCheckUtils]: 32: Hoare triple {3305#(<= main_~i~0 0)} #t~post5 := ~j~0; {3305#(<= main_~i~0 0)} is VALID [2020-07-08 23:36:56,465 INFO L280 TraceCheckUtils]: 33: Hoare triple {3305#(<= main_~i~0 0)} ~j~0 := 1 + #t~post5; {3305#(<= main_~i~0 0)} is VALID [2020-07-08 23:36:56,466 INFO L280 TraceCheckUtils]: 34: Hoare triple {3305#(<= main_~i~0 0)} havoc #t~post5; {3305#(<= main_~i~0 0)} is VALID [2020-07-08 23:36:56,466 INFO L280 TraceCheckUtils]: 35: Hoare triple {3305#(<= main_~i~0 0)} #t~post3 := ~i~0; {3306#(<= |main_#t~post3| 0)} is VALID [2020-07-08 23:36:56,467 INFO L280 TraceCheckUtils]: 36: Hoare triple {3306#(<= |main_#t~post3| 0)} ~i~0 := #t~post3 - 1; {3307#(<= (+ main_~i~0 1) 0)} is VALID [2020-07-08 23:36:56,467 INFO L280 TraceCheckUtils]: 37: Hoare triple {3307#(<= (+ main_~i~0 1) 0)} havoc #t~post3; {3307#(<= (+ main_~i~0 1) 0)} is VALID [2020-07-08 23:36:56,468 INFO L280 TraceCheckUtils]: 38: Hoare triple {3307#(<= (+ main_~i~0 1) 0)} assume !!(~i~0 >= 0); {3295#false} is VALID [2020-07-08 23:36:56,468 INFO L280 TraceCheckUtils]: 39: Hoare triple {3295#false} SUMMARY for call #t~mem4 := read~int(~#str1~0.base, ~#str1~0.offset, 1); srcloc: L28 {3295#false} is VALID [2020-07-08 23:36:56,468 INFO L280 TraceCheckUtils]: 40: Hoare triple {3295#false} SUMMARY for call write~int(#t~mem4, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1); srcloc: L28-1 {3295#false} is VALID [2020-07-08 23:36:56,468 INFO L280 TraceCheckUtils]: 41: Hoare triple {3295#false} havoc #t~mem4; {3295#false} is VALID [2020-07-08 23:36:56,469 INFO L280 TraceCheckUtils]: 42: Hoare triple {3295#false} #t~post5 := ~j~0; {3295#false} is VALID [2020-07-08 23:36:56,469 INFO L280 TraceCheckUtils]: 43: Hoare triple {3295#false} ~j~0 := 1 + #t~post5; {3295#false} is VALID [2020-07-08 23:36:56,469 INFO L280 TraceCheckUtils]: 44: Hoare triple {3295#false} havoc #t~post5; {3295#false} is VALID [2020-07-08 23:36:56,469 INFO L280 TraceCheckUtils]: 45: Hoare triple {3295#false} #t~post3 := ~i~0; {3295#false} is VALID [2020-07-08 23:36:56,469 INFO L280 TraceCheckUtils]: 46: Hoare triple {3295#false} ~i~0 := #t~post3 - 1; {3295#false} is VALID [2020-07-08 23:36:56,469 INFO L280 TraceCheckUtils]: 47: Hoare triple {3295#false} havoc #t~post3; {3295#false} is VALID [2020-07-08 23:36:56,470 INFO L280 TraceCheckUtils]: 48: Hoare triple {3295#false} assume !(~i~0 >= 0); {3295#false} is VALID [2020-07-08 23:36:56,470 INFO L280 TraceCheckUtils]: 49: Hoare triple {3295#false} ~j~0 := ~MAX~0 - 1; {3295#false} is VALID [2020-07-08 23:36:56,470 INFO L280 TraceCheckUtils]: 50: Hoare triple {3295#false} ~i~0 := 0; {3295#false} is VALID [2020-07-08 23:36:56,470 INFO L280 TraceCheckUtils]: 51: Hoare triple {3295#false} assume !!(~i~0 < ~MAX~0); {3295#false} is VALID [2020-07-08 23:36:56,470 INFO L280 TraceCheckUtils]: 52: Hoare triple {3295#false} SUMMARY for call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1); srcloc: L34 {3295#false} is VALID [2020-07-08 23:36:56,470 INFO L280 TraceCheckUtils]: 53: Hoare triple {3295#false} SUMMARY for call #t~mem8 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); srcloc: L34-1 {3295#false} is VALID [2020-07-08 23:36:56,471 INFO L263 TraceCheckUtils]: 54: Hoare triple {3295#false} call __VERIFIER_assert((if #t~mem7 == #t~mem8 then 1 else 0)); {3295#false} is VALID [2020-07-08 23:36:56,471 INFO L280 TraceCheckUtils]: 55: Hoare triple {3295#false} ~cond := #in~cond; {3295#false} is VALID [2020-07-08 23:36:56,471 INFO L280 TraceCheckUtils]: 56: Hoare triple {3295#false} assume 0 == ~cond; {3295#false} is VALID [2020-07-08 23:36:56,471 INFO L280 TraceCheckUtils]: 57: Hoare triple {3295#false} assume !false; {3295#false} is VALID [2020-07-08 23:36:56,473 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 12 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-08 23:36:56,474 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [252294851] [2020-07-08 23:36:56,474 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-08 23:36:56,474 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2020-07-08 23:36:56,474 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [804048899] [2020-07-08 23:36:56,475 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 58 [2020-07-08 23:36:56,475 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 23:36:56,475 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2020-07-08 23:36:56,536 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 23:36:56,536 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2020-07-08 23:36:56,537 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 23:36:56,537 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2020-07-08 23:36:56,537 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=68, Unknown=0, NotChecked=0, Total=90 [2020-07-08 23:36:56,538 INFO L87 Difference]: Start difference. First operand 100 states and 104 transitions. Second operand 10 states. [2020-07-08 23:36:57,995 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 23:36:57,996 INFO L93 Difference]: Finished difference Result 165 states and 172 transitions. [2020-07-08 23:36:57,996 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2020-07-08 23:36:57,996 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 58 [2020-07-08 23:36:57,997 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 23:36:57,997 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-08 23:36:58,005 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 158 transitions. [2020-07-08 23:36:58,005 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-08 23:36:58,012 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 158 transitions. [2020-07-08 23:36:58,012 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 158 transitions. [2020-07-08 23:36:58,262 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 158 edges. 158 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 23:36:58,265 INFO L225 Difference]: With dead ends: 165 [2020-07-08 23:36:58,265 INFO L226 Difference]: Without dead ends: 135 [2020-07-08 23:36:58,266 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 30 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=79, Invalid=227, Unknown=0, NotChecked=0, Total=306 [2020-07-08 23:36:58,267 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 135 states. [2020-07-08 23:36:58,660 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 135 to 100. [2020-07-08 23:36:58,661 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 23:36:58,661 INFO L82 GeneralOperation]: Start isEquivalent. First operand 135 states. Second operand 100 states. [2020-07-08 23:36:58,661 INFO L74 IsIncluded]: Start isIncluded. First operand 135 states. Second operand 100 states. [2020-07-08 23:36:58,661 INFO L87 Difference]: Start difference. First operand 135 states. Second operand 100 states. [2020-07-08 23:36:58,667 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 23:36:58,668 INFO L93 Difference]: Finished difference Result 135 states and 140 transitions. [2020-07-08 23:36:58,668 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 140 transitions. [2020-07-08 23:36:58,668 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 23:36:58,668 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 23:36:58,669 INFO L74 IsIncluded]: Start isIncluded. First operand 100 states. Second operand 135 states. [2020-07-08 23:36:58,669 INFO L87 Difference]: Start difference. First operand 100 states. Second operand 135 states. [2020-07-08 23:36:58,674 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 23:36:58,674 INFO L93 Difference]: Finished difference Result 135 states and 140 transitions. [2020-07-08 23:36:58,674 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 140 transitions. [2020-07-08 23:36:58,675 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 23:36:58,675 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 23:36:58,675 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 23:36:58,675 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 23:36:58,675 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 100 states. [2020-07-08 23:36:58,679 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100 states to 100 states and 103 transitions. [2020-07-08 23:36:58,679 INFO L78 Accepts]: Start accepts. Automaton has 100 states and 103 transitions. Word has length 58 [2020-07-08 23:36:58,679 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 23:36:58,680 INFO L479 AbstractCegarLoop]: Abstraction has 100 states and 103 transitions. [2020-07-08 23:36:58,680 INFO L480 AbstractCegarLoop]: Interpolant automaton has 10 states. [2020-07-08 23:36:58,680 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 100 states and 103 transitions. [2020-07-08 23:36:58,889 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 103 edges. 103 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 23:36:58,890 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 103 transitions. [2020-07-08 23:36:58,891 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2020-07-08 23:36:58,891 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 23:36:58,891 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-08 23:36:58,892 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2020-07-08 23:36:58,892 INFO L427 AbstractCegarLoop]: === Iteration 7 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 23:36:58,892 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 23:36:58,892 INFO L82 PathProgramCache]: Analyzing trace with hash -280271430, now seen corresponding path program 1 times [2020-07-08 23:36:58,893 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 23:36:58,893 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1038677688] [2020-07-08 23:36:58,893 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 23:36:58,919 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 23:36:59,055 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 23:36:59,059 INFO L280 TraceCheckUtils]: 0: Hoare triple {4145#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {4127#true} is VALID [2020-07-08 23:36:59,060 INFO L280 TraceCheckUtils]: 1: Hoare triple {4127#true} #valid := #valid[0 := 0]; {4127#true} is VALID [2020-07-08 23:36:59,060 INFO L280 TraceCheckUtils]: 2: Hoare triple {4127#true} assume 0 < #StackHeapBarrier; {4127#true} is VALID [2020-07-08 23:36:59,060 INFO L280 TraceCheckUtils]: 3: Hoare triple {4127#true} assume true; {4127#true} is VALID [2020-07-08 23:36:59,061 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {4127#true} {4127#true} #107#return; {4127#true} is VALID [2020-07-08 23:36:59,062 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 23:36:59,066 INFO L280 TraceCheckUtils]: 0: Hoare triple {4127#true} ~cond := #in~cond; {4127#true} is VALID [2020-07-08 23:36:59,067 INFO L280 TraceCheckUtils]: 1: Hoare triple {4127#true} assume !(0 == ~cond); {4127#true} is VALID [2020-07-08 23:36:59,067 INFO L280 TraceCheckUtils]: 2: Hoare triple {4127#true} assume true; {4127#true} is VALID [2020-07-08 23:36:59,068 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4127#true} {4138#(and (= 0 main_~i~0) (<= main_~MAX~0 1))} #111#return; {4138#(and (= 0 main_~i~0) (<= main_~MAX~0 1))} is VALID [2020-07-08 23:36:59,069 INFO L263 TraceCheckUtils]: 0: Hoare triple {4127#true} call ULTIMATE.init(); {4145#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-08 23:36:59,070 INFO L280 TraceCheckUtils]: 1: Hoare triple {4145#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {4127#true} is VALID [2020-07-08 23:36:59,070 INFO L280 TraceCheckUtils]: 2: Hoare triple {4127#true} #valid := #valid[0 := 0]; {4127#true} is VALID [2020-07-08 23:36:59,070 INFO L280 TraceCheckUtils]: 3: Hoare triple {4127#true} assume 0 < #StackHeapBarrier; {4127#true} is VALID [2020-07-08 23:36:59,071 INFO L280 TraceCheckUtils]: 4: Hoare triple {4127#true} assume true; {4127#true} is VALID [2020-07-08 23:36:59,071 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {4127#true} {4127#true} #107#return; {4127#true} is VALID [2020-07-08 23:36:59,071 INFO L263 TraceCheckUtils]: 6: Hoare triple {4127#true} call #t~ret10 := main(); {4127#true} is VALID [2020-07-08 23:36:59,071 INFO L280 TraceCheckUtils]: 7: Hoare triple {4127#true} ~MAX~0 := (if #t~nondet0 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet0 % 4294967296 % 4294967296 else #t~nondet0 % 4294967296 % 4294967296 - 4294967296); {4127#true} is VALID [2020-07-08 23:36:59,072 INFO L280 TraceCheckUtils]: 8: Hoare triple {4127#true} havoc #t~nondet0; {4127#true} is VALID [2020-07-08 23:36:59,072 INFO L280 TraceCheckUtils]: 9: Hoare triple {4127#true} assume !!(~MAX~0 > 0); {4127#true} is VALID [2020-07-08 23:36:59,072 INFO L280 TraceCheckUtils]: 10: Hoare triple {4127#true} SUMMARY for call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack(~MAX~0); srcloc: L15-3 {4127#true} is VALID [2020-07-08 23:36:59,072 INFO L280 TraceCheckUtils]: 11: Hoare triple {4127#true} SUMMARY for call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(~MAX~0); srcloc: L16 {4127#true} is VALID [2020-07-08 23:36:59,072 INFO L280 TraceCheckUtils]: 12: Hoare triple {4127#true} havoc ~cont~0; {4127#true} is VALID [2020-07-08 23:36:59,073 INFO L280 TraceCheckUtils]: 13: Hoare triple {4127#true} havoc ~i~0; {4127#true} is VALID [2020-07-08 23:36:59,073 INFO L280 TraceCheckUtils]: 14: Hoare triple {4127#true} havoc ~j~0; {4127#true} is VALID [2020-07-08 23:36:59,073 INFO L280 TraceCheckUtils]: 15: Hoare triple {4127#true} ~cont~0 := 0; {4127#true} is VALID [2020-07-08 23:36:59,074 INFO L280 TraceCheckUtils]: 16: Hoare triple {4127#true} ~i~0 := 0; {4134#(= 0 main_~i~0)} is VALID [2020-07-08 23:36:59,075 INFO L280 TraceCheckUtils]: 17: Hoare triple {4134#(= 0 main_~i~0)} assume !!(~i~0 < ~MAX~0); {4134#(= 0 main_~i~0)} is VALID [2020-07-08 23:36:59,075 INFO L280 TraceCheckUtils]: 18: Hoare triple {4134#(= 0 main_~i~0)} assume -128 <= #t~nondet2 && #t~nondet2 <= 127; {4134#(= 0 main_~i~0)} is VALID [2020-07-08 23:36:59,076 INFO L280 TraceCheckUtils]: 19: Hoare triple {4134#(= 0 main_~i~0)} SUMMARY for call write~int(#t~nondet2, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1); srcloc: L21-1 {4134#(= 0 main_~i~0)} is VALID [2020-07-08 23:36:59,076 INFO L280 TraceCheckUtils]: 20: Hoare triple {4134#(= 0 main_~i~0)} havoc #t~nondet2; {4134#(= 0 main_~i~0)} is VALID [2020-07-08 23:36:59,077 INFO L280 TraceCheckUtils]: 21: Hoare triple {4134#(= 0 main_~i~0)} #t~post1 := ~i~0; {4135#(= |main_#t~post1| 0)} is VALID [2020-07-08 23:36:59,078 INFO L280 TraceCheckUtils]: 22: Hoare triple {4135#(= |main_#t~post1| 0)} ~i~0 := 1 + #t~post1; {4136#(<= main_~i~0 1)} is VALID [2020-07-08 23:36:59,079 INFO L280 TraceCheckUtils]: 23: Hoare triple {4136#(<= main_~i~0 1)} havoc #t~post1; {4136#(<= main_~i~0 1)} is VALID [2020-07-08 23:36:59,080 INFO L280 TraceCheckUtils]: 24: Hoare triple {4136#(<= main_~i~0 1)} assume !(~i~0 < ~MAX~0); {4137#(<= main_~MAX~0 1)} is VALID [2020-07-08 23:36:59,081 INFO L280 TraceCheckUtils]: 25: Hoare triple {4137#(<= main_~MAX~0 1)} SUMMARY for call write~int(0, ~#str1~0.base, ~#str1~0.offset + (~MAX~0 - 1), 1); srcloc: L20-7 {4137#(<= main_~MAX~0 1)} is VALID [2020-07-08 23:36:59,082 INFO L280 TraceCheckUtils]: 26: Hoare triple {4137#(<= main_~MAX~0 1)} ~j~0 := 0; {4137#(<= main_~MAX~0 1)} is VALID [2020-07-08 23:36:59,082 INFO L280 TraceCheckUtils]: 27: Hoare triple {4137#(<= main_~MAX~0 1)} ~i~0 := ~MAX~0 - 1; {4137#(<= main_~MAX~0 1)} is VALID [2020-07-08 23:36:59,083 INFO L280 TraceCheckUtils]: 28: Hoare triple {4137#(<= main_~MAX~0 1)} assume !!(~i~0 >= 0); {4137#(<= main_~MAX~0 1)} is VALID [2020-07-08 23:36:59,084 INFO L280 TraceCheckUtils]: 29: Hoare triple {4137#(<= main_~MAX~0 1)} SUMMARY for call #t~mem4 := read~int(~#str1~0.base, ~#str1~0.offset, 1); srcloc: L28 {4137#(<= main_~MAX~0 1)} is VALID [2020-07-08 23:36:59,085 INFO L280 TraceCheckUtils]: 30: Hoare triple {4137#(<= main_~MAX~0 1)} SUMMARY for call write~int(#t~mem4, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1); srcloc: L28-1 {4137#(<= main_~MAX~0 1)} is VALID [2020-07-08 23:36:59,085 INFO L280 TraceCheckUtils]: 31: Hoare triple {4137#(<= main_~MAX~0 1)} havoc #t~mem4; {4137#(<= main_~MAX~0 1)} is VALID [2020-07-08 23:36:59,086 INFO L280 TraceCheckUtils]: 32: Hoare triple {4137#(<= main_~MAX~0 1)} #t~post5 := ~j~0; {4137#(<= main_~MAX~0 1)} is VALID [2020-07-08 23:36:59,087 INFO L280 TraceCheckUtils]: 33: Hoare triple {4137#(<= main_~MAX~0 1)} ~j~0 := 1 + #t~post5; {4137#(<= main_~MAX~0 1)} is VALID [2020-07-08 23:36:59,087 INFO L280 TraceCheckUtils]: 34: Hoare triple {4137#(<= main_~MAX~0 1)} havoc #t~post5; {4137#(<= main_~MAX~0 1)} is VALID [2020-07-08 23:36:59,088 INFO L280 TraceCheckUtils]: 35: Hoare triple {4137#(<= main_~MAX~0 1)} #t~post3 := ~i~0; {4137#(<= main_~MAX~0 1)} is VALID [2020-07-08 23:36:59,089 INFO L280 TraceCheckUtils]: 36: Hoare triple {4137#(<= main_~MAX~0 1)} ~i~0 := #t~post3 - 1; {4137#(<= main_~MAX~0 1)} is VALID [2020-07-08 23:36:59,090 INFO L280 TraceCheckUtils]: 37: Hoare triple {4137#(<= main_~MAX~0 1)} havoc #t~post3; {4137#(<= main_~MAX~0 1)} is VALID [2020-07-08 23:36:59,090 INFO L280 TraceCheckUtils]: 38: Hoare triple {4137#(<= main_~MAX~0 1)} assume !(~i~0 >= 0); {4137#(<= main_~MAX~0 1)} is VALID [2020-07-08 23:36:59,091 INFO L280 TraceCheckUtils]: 39: Hoare triple {4137#(<= main_~MAX~0 1)} ~j~0 := ~MAX~0 - 1; {4137#(<= main_~MAX~0 1)} is VALID [2020-07-08 23:36:59,092 INFO L280 TraceCheckUtils]: 40: Hoare triple {4137#(<= main_~MAX~0 1)} ~i~0 := 0; {4138#(and (= 0 main_~i~0) (<= main_~MAX~0 1))} is VALID [2020-07-08 23:36:59,093 INFO L280 TraceCheckUtils]: 41: Hoare triple {4138#(and (= 0 main_~i~0) (<= main_~MAX~0 1))} assume !!(~i~0 < ~MAX~0); {4138#(and (= 0 main_~i~0) (<= main_~MAX~0 1))} is VALID [2020-07-08 23:36:59,094 INFO L280 TraceCheckUtils]: 42: Hoare triple {4138#(and (= 0 main_~i~0) (<= main_~MAX~0 1))} SUMMARY for call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1); srcloc: L34 {4138#(and (= 0 main_~i~0) (<= main_~MAX~0 1))} is VALID [2020-07-08 23:36:59,094 INFO L280 TraceCheckUtils]: 43: Hoare triple {4138#(and (= 0 main_~i~0) (<= main_~MAX~0 1))} SUMMARY for call #t~mem8 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); srcloc: L34-1 {4138#(and (= 0 main_~i~0) (<= main_~MAX~0 1))} is VALID [2020-07-08 23:36:59,095 INFO L263 TraceCheckUtils]: 44: Hoare triple {4138#(and (= 0 main_~i~0) (<= main_~MAX~0 1))} call __VERIFIER_assert((if #t~mem7 == #t~mem8 then 1 else 0)); {4127#true} is VALID [2020-07-08 23:36:59,095 INFO L280 TraceCheckUtils]: 45: Hoare triple {4127#true} ~cond := #in~cond; {4127#true} is VALID [2020-07-08 23:36:59,095 INFO L280 TraceCheckUtils]: 46: Hoare triple {4127#true} assume !(0 == ~cond); {4127#true} is VALID [2020-07-08 23:36:59,095 INFO L280 TraceCheckUtils]: 47: Hoare triple {4127#true} assume true; {4127#true} is VALID [2020-07-08 23:36:59,096 INFO L275 TraceCheckUtils]: 48: Hoare quadruple {4127#true} {4138#(and (= 0 main_~i~0) (<= main_~MAX~0 1))} #111#return; {4138#(and (= 0 main_~i~0) (<= main_~MAX~0 1))} is VALID [2020-07-08 23:36:59,097 INFO L280 TraceCheckUtils]: 49: Hoare triple {4138#(and (= 0 main_~i~0) (<= main_~MAX~0 1))} havoc #t~mem8; {4138#(and (= 0 main_~i~0) (<= main_~MAX~0 1))} is VALID [2020-07-08 23:36:59,098 INFO L280 TraceCheckUtils]: 50: Hoare triple {4138#(and (= 0 main_~i~0) (<= main_~MAX~0 1))} havoc #t~mem7; {4138#(and (= 0 main_~i~0) (<= main_~MAX~0 1))} is VALID [2020-07-08 23:36:59,100 INFO L280 TraceCheckUtils]: 51: Hoare triple {4138#(and (= 0 main_~i~0) (<= main_~MAX~0 1))} #t~post9 := ~j~0; {4138#(and (= 0 main_~i~0) (<= main_~MAX~0 1))} is VALID [2020-07-08 23:36:59,101 INFO L280 TraceCheckUtils]: 52: Hoare triple {4138#(and (= 0 main_~i~0) (<= main_~MAX~0 1))} ~j~0 := #t~post9 - 1; {4138#(and (= 0 main_~i~0) (<= main_~MAX~0 1))} is VALID [2020-07-08 23:36:59,102 INFO L280 TraceCheckUtils]: 53: Hoare triple {4138#(and (= 0 main_~i~0) (<= main_~MAX~0 1))} havoc #t~post9; {4138#(and (= 0 main_~i~0) (<= main_~MAX~0 1))} is VALID [2020-07-08 23:36:59,102 INFO L280 TraceCheckUtils]: 54: Hoare triple {4138#(and (= 0 main_~i~0) (<= main_~MAX~0 1))} #t~post6 := ~i~0; {4143#(and (= |main_#t~post6| 0) (<= main_~MAX~0 1))} is VALID [2020-07-08 23:36:59,104 INFO L280 TraceCheckUtils]: 55: Hoare triple {4143#(and (= |main_#t~post6| 0) (<= main_~MAX~0 1))} ~i~0 := 1 + #t~post6; {4144#(<= main_~MAX~0 main_~i~0)} is VALID [2020-07-08 23:36:59,104 INFO L280 TraceCheckUtils]: 56: Hoare triple {4144#(<= main_~MAX~0 main_~i~0)} havoc #t~post6; {4144#(<= main_~MAX~0 main_~i~0)} is VALID [2020-07-08 23:36:59,105 INFO L280 TraceCheckUtils]: 57: Hoare triple {4144#(<= main_~MAX~0 main_~i~0)} assume !!(~i~0 < ~MAX~0); {4128#false} is VALID [2020-07-08 23:36:59,105 INFO L280 TraceCheckUtils]: 58: Hoare triple {4128#false} SUMMARY for call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1); srcloc: L34 {4128#false} is VALID [2020-07-08 23:36:59,106 INFO L280 TraceCheckUtils]: 59: Hoare triple {4128#false} SUMMARY for call #t~mem8 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); srcloc: L34-1 {4128#false} is VALID [2020-07-08 23:36:59,106 INFO L263 TraceCheckUtils]: 60: Hoare triple {4128#false} call __VERIFIER_assert((if #t~mem7 == #t~mem8 then 1 else 0)); {4128#false} is VALID [2020-07-08 23:36:59,106 INFO L280 TraceCheckUtils]: 61: Hoare triple {4128#false} ~cond := #in~cond; {4128#false} is VALID [2020-07-08 23:36:59,106 INFO L280 TraceCheckUtils]: 62: Hoare triple {4128#false} assume 0 == ~cond; {4128#false} is VALID [2020-07-08 23:36:59,107 INFO L280 TraceCheckUtils]: 63: Hoare triple {4128#false} assume !false; {4128#false} is VALID [2020-07-08 23:36:59,111 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 5 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-08 23:36:59,112 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1038677688] [2020-07-08 23:36:59,112 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-08 23:36:59,112 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2020-07-08 23:36:59,113 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [684227752] [2020-07-08 23:36:59,113 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 64 [2020-07-08 23:36:59,114 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 23:36:59,114 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2020-07-08 23:36:59,189 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 23:36:59,189 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2020-07-08 23:36:59,189 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 23:36:59,190 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2020-07-08 23:36:59,190 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=68, Unknown=0, NotChecked=0, Total=90 [2020-07-08 23:36:59,190 INFO L87 Difference]: Start difference. First operand 100 states and 103 transitions. Second operand 10 states. [2020-07-08 23:37:00,487 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 23:37:00,487 INFO L93 Difference]: Finished difference Result 143 states and 147 transitions. [2020-07-08 23:37:00,487 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2020-07-08 23:37:00,487 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 64 [2020-07-08 23:37:00,488 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 23:37:00,488 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-08 23:37:00,491 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 133 transitions. [2020-07-08 23:37:00,491 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-08 23:37:00,494 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 133 transitions. [2020-07-08 23:37:00,494 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 133 transitions. [2020-07-08 23:37:00,647 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 133 edges. 133 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 23:37:00,649 INFO L225 Difference]: With dead ends: 143 [2020-07-08 23:37:00,649 INFO L226 Difference]: Without dead ends: 92 [2020-07-08 23:37:00,650 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 31 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=59, Invalid=181, Unknown=0, NotChecked=0, Total=240 [2020-07-08 23:37:00,651 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 92 states. [2020-07-08 23:37:00,924 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 92 to 76. [2020-07-08 23:37:00,925 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 23:37:00,925 INFO L82 GeneralOperation]: Start isEquivalent. First operand 92 states. Second operand 76 states. [2020-07-08 23:37:00,925 INFO L74 IsIncluded]: Start isIncluded. First operand 92 states. Second operand 76 states. [2020-07-08 23:37:00,925 INFO L87 Difference]: Start difference. First operand 92 states. Second operand 76 states. [2020-07-08 23:37:00,929 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 23:37:00,929 INFO L93 Difference]: Finished difference Result 92 states and 95 transitions. [2020-07-08 23:37:00,929 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 95 transitions. [2020-07-08 23:37:00,930 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 23:37:00,930 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 23:37:00,930 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand 92 states. [2020-07-08 23:37:00,930 INFO L87 Difference]: Start difference. First operand 76 states. Second operand 92 states. [2020-07-08 23:37:00,933 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 23:37:00,934 INFO L93 Difference]: Finished difference Result 92 states and 95 transitions. [2020-07-08 23:37:00,934 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 95 transitions. [2020-07-08 23:37:00,934 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 23:37:00,935 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 23:37:00,935 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 23:37:00,935 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 23:37:00,935 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 76 states. [2020-07-08 23:37:00,937 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 78 transitions. [2020-07-08 23:37:00,938 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 78 transitions. Word has length 64 [2020-07-08 23:37:00,938 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 23:37:00,938 INFO L479 AbstractCegarLoop]: Abstraction has 76 states and 78 transitions. [2020-07-08 23:37:00,938 INFO L480 AbstractCegarLoop]: Interpolant automaton has 10 states. [2020-07-08 23:37:00,938 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 76 states and 78 transitions. [2020-07-08 23:37:01,110 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 23:37:01,111 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 78 transitions. [2020-07-08 23:37:01,112 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 66 [2020-07-08 23:37:01,112 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 23:37:01,112 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-08 23:37:01,112 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2020-07-08 23:37:01,113 INFO L427 AbstractCegarLoop]: === Iteration 8 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 23:37:01,113 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 23:37:01,113 INFO L82 PathProgramCache]: Analyzing trace with hash 1930216728, now seen corresponding path program 4 times [2020-07-08 23:37:01,113 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 23:37:01,113 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1779318636] [2020-07-08 23:37:01,113 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 23:37:01,149 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 23:37:02,294 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 23:37:02,303 INFO L280 TraceCheckUtils]: 0: Hoare triple {4810#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {4782#true} is VALID [2020-07-08 23:37:02,304 INFO L280 TraceCheckUtils]: 1: Hoare triple {4782#true} #valid := #valid[0 := 0]; {4782#true} is VALID [2020-07-08 23:37:02,304 INFO L280 TraceCheckUtils]: 2: Hoare triple {4782#true} assume 0 < #StackHeapBarrier; {4782#true} is VALID [2020-07-08 23:37:02,304 INFO L280 TraceCheckUtils]: 3: Hoare triple {4782#true} assume true; {4782#true} is VALID [2020-07-08 23:37:02,304 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {4782#true} {4782#true} #107#return; {4782#true} is VALID [2020-07-08 23:37:02,305 INFO L263 TraceCheckUtils]: 0: Hoare triple {4782#true} call ULTIMATE.init(); {4810#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-08 23:37:02,305 INFO L280 TraceCheckUtils]: 1: Hoare triple {4810#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {4782#true} is VALID [2020-07-08 23:37:02,306 INFO L280 TraceCheckUtils]: 2: Hoare triple {4782#true} #valid := #valid[0 := 0]; {4782#true} is VALID [2020-07-08 23:37:02,306 INFO L280 TraceCheckUtils]: 3: Hoare triple {4782#true} assume 0 < #StackHeapBarrier; {4782#true} is VALID [2020-07-08 23:37:02,306 INFO L280 TraceCheckUtils]: 4: Hoare triple {4782#true} assume true; {4782#true} is VALID [2020-07-08 23:37:02,306 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {4782#true} {4782#true} #107#return; {4782#true} is VALID [2020-07-08 23:37:02,306 INFO L263 TraceCheckUtils]: 6: Hoare triple {4782#true} call #t~ret10 := main(); {4782#true} is VALID [2020-07-08 23:37:02,306 INFO L280 TraceCheckUtils]: 7: Hoare triple {4782#true} ~MAX~0 := (if #t~nondet0 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet0 % 4294967296 % 4294967296 else #t~nondet0 % 4294967296 % 4294967296 - 4294967296); {4782#true} is VALID [2020-07-08 23:37:02,307 INFO L280 TraceCheckUtils]: 8: Hoare triple {4782#true} havoc #t~nondet0; {4782#true} is VALID [2020-07-08 23:37:02,307 INFO L280 TraceCheckUtils]: 9: Hoare triple {4782#true} assume !!(~MAX~0 > 0); {4782#true} is VALID [2020-07-08 23:37:02,308 INFO L280 TraceCheckUtils]: 10: Hoare triple {4782#true} SUMMARY for call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack(~MAX~0); srcloc: L15-3 {4789#(and (= 1 (select |#valid| |main_~#str1~0.base|)) (= 0 |main_~#str1~0.offset|))} is VALID [2020-07-08 23:37:02,309 INFO L280 TraceCheckUtils]: 11: Hoare triple {4789#(and (= 1 (select |#valid| |main_~#str1~0.base|)) (= 0 |main_~#str1~0.offset|))} SUMMARY for call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(~MAX~0); srcloc: L16 {4790#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2020-07-08 23:37:02,310 INFO L280 TraceCheckUtils]: 12: Hoare triple {4790#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} havoc ~cont~0; {4790#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2020-07-08 23:37:02,311 INFO L280 TraceCheckUtils]: 13: Hoare triple {4790#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} havoc ~i~0; {4790#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2020-07-08 23:37:02,312 INFO L280 TraceCheckUtils]: 14: Hoare triple {4790#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} havoc ~j~0; {4790#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2020-07-08 23:37:02,327 INFO L280 TraceCheckUtils]: 15: Hoare triple {4790#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} ~cont~0 := 0; {4790#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2020-07-08 23:37:02,328 INFO L280 TraceCheckUtils]: 16: Hoare triple {4790#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} ~i~0 := 0; {4791#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= 0 main_~i~0))} is VALID [2020-07-08 23:37:02,329 INFO L280 TraceCheckUtils]: 17: Hoare triple {4791#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= 0 main_~i~0))} assume !!(~i~0 < ~MAX~0); {4791#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= 0 main_~i~0))} is VALID [2020-07-08 23:37:02,330 INFO L280 TraceCheckUtils]: 18: Hoare triple {4791#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= 0 main_~i~0))} assume -128 <= #t~nondet2 && #t~nondet2 <= 127; {4791#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= 0 main_~i~0))} is VALID [2020-07-08 23:37:02,331 INFO L280 TraceCheckUtils]: 19: Hoare triple {4791#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= 0 main_~i~0))} SUMMARY for call write~int(#t~nondet2, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1); srcloc: L21-1 {4791#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= 0 main_~i~0))} is VALID [2020-07-08 23:37:02,331 INFO L280 TraceCheckUtils]: 20: Hoare triple {4791#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= 0 main_~i~0))} havoc #t~nondet2; {4791#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= 0 main_~i~0))} is VALID [2020-07-08 23:37:02,332 INFO L280 TraceCheckUtils]: 21: Hoare triple {4791#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= 0 main_~i~0))} #t~post1 := ~i~0; {4792#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= |main_#t~post1| 0))} is VALID [2020-07-08 23:37:02,333 INFO L280 TraceCheckUtils]: 22: Hoare triple {4792#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= |main_#t~post1| 0))} ~i~0 := 1 + #t~post1; {4793#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~i~0 1) (<= 1 main_~i~0))} is VALID [2020-07-08 23:37:02,333 INFO L280 TraceCheckUtils]: 23: Hoare triple {4793#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~i~0 1) (<= 1 main_~i~0))} havoc #t~post1; {4793#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~i~0 1) (<= 1 main_~i~0))} is VALID [2020-07-08 23:37:02,334 INFO L280 TraceCheckUtils]: 24: Hoare triple {4793#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~i~0 1) (<= 1 main_~i~0))} assume !!(~i~0 < ~MAX~0); {4794#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 2 main_~MAX~0) (<= main_~i~0 1))} is VALID [2020-07-08 23:37:02,335 INFO L280 TraceCheckUtils]: 25: Hoare triple {4794#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 2 main_~MAX~0) (<= main_~i~0 1))} assume -128 <= #t~nondet2 && #t~nondet2 <= 127; {4794#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 2 main_~MAX~0) (<= main_~i~0 1))} is VALID [2020-07-08 23:37:02,336 INFO L280 TraceCheckUtils]: 26: Hoare triple {4794#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 2 main_~MAX~0) (<= main_~i~0 1))} SUMMARY for call write~int(#t~nondet2, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1); srcloc: L21-1 {4794#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 2 main_~MAX~0) (<= main_~i~0 1))} is VALID [2020-07-08 23:37:02,336 INFO L280 TraceCheckUtils]: 27: Hoare triple {4794#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 2 main_~MAX~0) (<= main_~i~0 1))} havoc #t~nondet2; {4794#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 2 main_~MAX~0) (<= main_~i~0 1))} is VALID [2020-07-08 23:37:02,337 INFO L280 TraceCheckUtils]: 28: Hoare triple {4794#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 2 main_~MAX~0) (<= main_~i~0 1))} #t~post1 := ~i~0; {4795#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 2 main_~MAX~0) (<= |main_#t~post1| 1))} is VALID [2020-07-08 23:37:02,338 INFO L280 TraceCheckUtils]: 29: Hoare triple {4795#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 2 main_~MAX~0) (<= |main_#t~post1| 1))} ~i~0 := 1 + #t~post1; {4796#(and (= 0 |main_~#str1~0.offset|) (<= main_~i~0 2) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 2 main_~MAX~0))} is VALID [2020-07-08 23:37:02,339 INFO L280 TraceCheckUtils]: 30: Hoare triple {4796#(and (= 0 |main_~#str1~0.offset|) (<= main_~i~0 2) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 2 main_~MAX~0))} havoc #t~post1; {4796#(and (= 0 |main_~#str1~0.offset|) (<= main_~i~0 2) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 2 main_~MAX~0))} is VALID [2020-07-08 23:37:02,339 INFO L280 TraceCheckUtils]: 31: Hoare triple {4796#(and (= 0 |main_~#str1~0.offset|) (<= main_~i~0 2) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 2 main_~MAX~0))} assume !(~i~0 < ~MAX~0); {4797#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 2 main_~MAX~0) (<= main_~MAX~0 2))} is VALID [2020-07-08 23:37:02,340 INFO L280 TraceCheckUtils]: 32: Hoare triple {4797#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 2 main_~MAX~0) (<= main_~MAX~0 2))} SUMMARY for call write~int(0, ~#str1~0.base, ~#str1~0.offset + (~MAX~0 - 1), 1); srcloc: L20-7 {4797#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 2 main_~MAX~0) (<= main_~MAX~0 2))} is VALID [2020-07-08 23:37:02,341 INFO L280 TraceCheckUtils]: 33: Hoare triple {4797#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 2 main_~MAX~0) (<= main_~MAX~0 2))} ~j~0 := 0; {4798#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= 0 main_~j~0) (<= 2 main_~MAX~0) (<= main_~MAX~0 2))} is VALID [2020-07-08 23:37:02,341 INFO L280 TraceCheckUtils]: 34: Hoare triple {4798#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= 0 main_~j~0) (<= 2 main_~MAX~0) (<= main_~MAX~0 2))} ~i~0 := ~MAX~0 - 1; {4798#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= 0 main_~j~0) (<= 2 main_~MAX~0) (<= main_~MAX~0 2))} is VALID [2020-07-08 23:37:02,342 INFO L280 TraceCheckUtils]: 35: Hoare triple {4798#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= 0 main_~j~0) (<= 2 main_~MAX~0) (<= main_~MAX~0 2))} assume !!(~i~0 >= 0); {4798#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= 0 main_~j~0) (<= 2 main_~MAX~0) (<= main_~MAX~0 2))} is VALID [2020-07-08 23:37:02,342 INFO L280 TraceCheckUtils]: 36: Hoare triple {4798#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= 0 main_~j~0) (<= 2 main_~MAX~0) (<= main_~MAX~0 2))} SUMMARY for call #t~mem4 := read~int(~#str1~0.base, ~#str1~0.offset, 1); srcloc: L28 {4798#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= 0 main_~j~0) (<= 2 main_~MAX~0) (<= main_~MAX~0 2))} is VALID [2020-07-08 23:37:02,343 INFO L280 TraceCheckUtils]: 37: Hoare triple {4798#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= 0 main_~j~0) (<= 2 main_~MAX~0) (<= main_~MAX~0 2))} SUMMARY for call write~int(#t~mem4, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1); srcloc: L28-1 {4798#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= 0 main_~j~0) (<= 2 main_~MAX~0) (<= main_~MAX~0 2))} is VALID [2020-07-08 23:37:02,343 INFO L280 TraceCheckUtils]: 38: Hoare triple {4798#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= 0 main_~j~0) (<= 2 main_~MAX~0) (<= main_~MAX~0 2))} havoc #t~mem4; {4798#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= 0 main_~j~0) (<= 2 main_~MAX~0) (<= main_~MAX~0 2))} is VALID [2020-07-08 23:37:02,344 INFO L280 TraceCheckUtils]: 39: Hoare triple {4798#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= 0 main_~j~0) (<= 2 main_~MAX~0) (<= main_~MAX~0 2))} #t~post5 := ~j~0; {4799#(and (= 0 |main_~#str1~0.offset|) (= |main_#t~post5| 0) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 2 main_~MAX~0) (<= main_~MAX~0 2))} is VALID [2020-07-08 23:37:02,345 INFO L280 TraceCheckUtils]: 40: Hoare triple {4799#(and (= 0 |main_~#str1~0.offset|) (= |main_#t~post5| 0) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 2 main_~MAX~0) (<= main_~MAX~0 2))} ~j~0 := 1 + #t~post5; {4800#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (< 0 (+ main_~j~0 |main_~#str2~0.offset|)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 2 main_~MAX~0) (<= main_~MAX~0 2) (<= (+ main_~j~0 |main_~#str2~0.offset|) 1))} is VALID [2020-07-08 23:37:02,346 INFO L280 TraceCheckUtils]: 41: Hoare triple {4800#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (< 0 (+ main_~j~0 |main_~#str2~0.offset|)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 2 main_~MAX~0) (<= main_~MAX~0 2) (<= (+ main_~j~0 |main_~#str2~0.offset|) 1))} havoc #t~post5; {4800#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (< 0 (+ main_~j~0 |main_~#str2~0.offset|)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 2 main_~MAX~0) (<= main_~MAX~0 2) (<= (+ main_~j~0 |main_~#str2~0.offset|) 1))} is VALID [2020-07-08 23:37:02,346 INFO L280 TraceCheckUtils]: 42: Hoare triple {4800#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (< 0 (+ main_~j~0 |main_~#str2~0.offset|)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 2 main_~MAX~0) (<= main_~MAX~0 2) (<= (+ main_~j~0 |main_~#str2~0.offset|) 1))} #t~post3 := ~i~0; {4800#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (< 0 (+ main_~j~0 |main_~#str2~0.offset|)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 2 main_~MAX~0) (<= main_~MAX~0 2) (<= (+ main_~j~0 |main_~#str2~0.offset|) 1))} is VALID [2020-07-08 23:37:02,347 INFO L280 TraceCheckUtils]: 43: Hoare triple {4800#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (< 0 (+ main_~j~0 |main_~#str2~0.offset|)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 2 main_~MAX~0) (<= main_~MAX~0 2) (<= (+ main_~j~0 |main_~#str2~0.offset|) 1))} ~i~0 := #t~post3 - 1; {4800#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (< 0 (+ main_~j~0 |main_~#str2~0.offset|)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 2 main_~MAX~0) (<= main_~MAX~0 2) (<= (+ main_~j~0 |main_~#str2~0.offset|) 1))} is VALID [2020-07-08 23:37:02,348 INFO L280 TraceCheckUtils]: 44: Hoare triple {4800#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (< 0 (+ main_~j~0 |main_~#str2~0.offset|)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 2 main_~MAX~0) (<= main_~MAX~0 2) (<= (+ main_~j~0 |main_~#str2~0.offset|) 1))} havoc #t~post3; {4800#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (< 0 (+ main_~j~0 |main_~#str2~0.offset|)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 2 main_~MAX~0) (<= main_~MAX~0 2) (<= (+ main_~j~0 |main_~#str2~0.offset|) 1))} is VALID [2020-07-08 23:37:02,349 INFO L280 TraceCheckUtils]: 45: Hoare triple {4800#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (< 0 (+ main_~j~0 |main_~#str2~0.offset|)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 2 main_~MAX~0) (<= main_~MAX~0 2) (<= (+ main_~j~0 |main_~#str2~0.offset|) 1))} assume !!(~i~0 >= 0); {4800#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (< 0 (+ main_~j~0 |main_~#str2~0.offset|)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 2 main_~MAX~0) (<= main_~MAX~0 2) (<= (+ main_~j~0 |main_~#str2~0.offset|) 1))} is VALID [2020-07-08 23:37:02,350 INFO L280 TraceCheckUtils]: 46: Hoare triple {4800#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (< 0 (+ main_~j~0 |main_~#str2~0.offset|)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 2 main_~MAX~0) (<= main_~MAX~0 2) (<= (+ main_~j~0 |main_~#str2~0.offset|) 1))} SUMMARY for call #t~mem4 := read~int(~#str1~0.base, ~#str1~0.offset, 1); srcloc: L28 {4801#(and (= (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|) |main_#t~mem4|) (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (< 0 (+ main_~j~0 |main_~#str2~0.offset|)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 2 main_~MAX~0) (<= main_~MAX~0 2) (<= (+ main_~j~0 |main_~#str2~0.offset|) 1))} is VALID [2020-07-08 23:37:02,352 INFO L280 TraceCheckUtils]: 47: Hoare triple {4801#(and (= (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|) |main_#t~mem4|) (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (< 0 (+ main_~j~0 |main_~#str2~0.offset|)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 2 main_~MAX~0) (<= main_~MAX~0 2) (<= (+ main_~j~0 |main_~#str2~0.offset|) 1))} SUMMARY for call write~int(#t~mem4, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1); srcloc: L28-1 {4802#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (< 0 (+ main_~j~0 |main_~#str2~0.offset|)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|) (select (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|))) (<= 2 main_~MAX~0) (<= main_~MAX~0 2) (<= (+ main_~j~0 |main_~#str2~0.offset|) 1))} is VALID [2020-07-08 23:37:02,353 INFO L280 TraceCheckUtils]: 48: Hoare triple {4802#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (< 0 (+ main_~j~0 |main_~#str2~0.offset|)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|) (select (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|))) (<= 2 main_~MAX~0) (<= main_~MAX~0 2) (<= (+ main_~j~0 |main_~#str2~0.offset|) 1))} havoc #t~mem4; {4802#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (< 0 (+ main_~j~0 |main_~#str2~0.offset|)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|) (select (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|))) (<= 2 main_~MAX~0) (<= main_~MAX~0 2) (<= (+ main_~j~0 |main_~#str2~0.offset|) 1))} is VALID [2020-07-08 23:37:02,354 INFO L280 TraceCheckUtils]: 49: Hoare triple {4802#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (< 0 (+ main_~j~0 |main_~#str2~0.offset|)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|) (select (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|))) (<= 2 main_~MAX~0) (<= main_~MAX~0 2) (<= (+ main_~j~0 |main_~#str2~0.offset|) 1))} #t~post5 := ~j~0; {4803#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 2 main_~MAX~0) (<= main_~MAX~0 2) (= (select (select |#memory_int| |main_~#str2~0.base|) 1) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)))} is VALID [2020-07-08 23:37:02,354 INFO L280 TraceCheckUtils]: 50: Hoare triple {4803#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 2 main_~MAX~0) (<= main_~MAX~0 2) (= (select (select |#memory_int| |main_~#str2~0.base|) 1) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)))} ~j~0 := 1 + #t~post5; {4803#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 2 main_~MAX~0) (<= main_~MAX~0 2) (= (select (select |#memory_int| |main_~#str2~0.base|) 1) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)))} is VALID [2020-07-08 23:37:02,355 INFO L280 TraceCheckUtils]: 51: Hoare triple {4803#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 2 main_~MAX~0) (<= main_~MAX~0 2) (= (select (select |#memory_int| |main_~#str2~0.base|) 1) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)))} havoc #t~post5; {4803#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 2 main_~MAX~0) (<= main_~MAX~0 2) (= (select (select |#memory_int| |main_~#str2~0.base|) 1) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)))} is VALID [2020-07-08 23:37:02,356 INFO L280 TraceCheckUtils]: 52: Hoare triple {4803#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 2 main_~MAX~0) (<= main_~MAX~0 2) (= (select (select |#memory_int| |main_~#str2~0.base|) 1) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)))} #t~post3 := ~i~0; {4803#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 2 main_~MAX~0) (<= main_~MAX~0 2) (= (select (select |#memory_int| |main_~#str2~0.base|) 1) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)))} is VALID [2020-07-08 23:37:02,357 INFO L280 TraceCheckUtils]: 53: Hoare triple {4803#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 2 main_~MAX~0) (<= main_~MAX~0 2) (= (select (select |#memory_int| |main_~#str2~0.base|) 1) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)))} ~i~0 := #t~post3 - 1; {4803#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 2 main_~MAX~0) (<= main_~MAX~0 2) (= (select (select |#memory_int| |main_~#str2~0.base|) 1) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)))} is VALID [2020-07-08 23:37:02,358 INFO L280 TraceCheckUtils]: 54: Hoare triple {4803#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 2 main_~MAX~0) (<= main_~MAX~0 2) (= (select (select |#memory_int| |main_~#str2~0.base|) 1) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)))} havoc #t~post3; {4803#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 2 main_~MAX~0) (<= main_~MAX~0 2) (= (select (select |#memory_int| |main_~#str2~0.base|) 1) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)))} is VALID [2020-07-08 23:37:02,358 INFO L280 TraceCheckUtils]: 55: Hoare triple {4803#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 2 main_~MAX~0) (<= main_~MAX~0 2) (= (select (select |#memory_int| |main_~#str2~0.base|) 1) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)))} assume !(~i~0 >= 0); {4803#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 2 main_~MAX~0) (<= main_~MAX~0 2) (= (select (select |#memory_int| |main_~#str2~0.base|) 1) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)))} is VALID [2020-07-08 23:37:02,360 INFO L280 TraceCheckUtils]: 56: Hoare triple {4803#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 2 main_~MAX~0) (<= main_~MAX~0 2) (= (select (select |#memory_int| |main_~#str2~0.base|) 1) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)))} ~j~0 := ~MAX~0 - 1; {4804#(and (= 1 (+ main_~j~0 |main_~#str2~0.offset|)) (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|) (select (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|))))} is VALID [2020-07-08 23:37:02,361 INFO L280 TraceCheckUtils]: 57: Hoare triple {4804#(and (= 1 (+ main_~j~0 |main_~#str2~0.offset|)) (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|) (select (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|))))} ~i~0 := 0; {4805#(and (= 1 (+ main_~j~0 |main_~#str2~0.offset|)) (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= 0 main_~i~0) (= (select (select |#memory_int| |main_~#str1~0.base|) (+ |main_~#str1~0.offset| main_~i~0)) (select (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|))))} is VALID [2020-07-08 23:37:02,362 INFO L280 TraceCheckUtils]: 58: Hoare triple {4805#(and (= 1 (+ main_~j~0 |main_~#str2~0.offset|)) (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= 0 main_~i~0) (= (select (select |#memory_int| |main_~#str1~0.base|) (+ |main_~#str1~0.offset| main_~i~0)) (select (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|))))} assume !!(~i~0 < ~MAX~0); {4805#(and (= 1 (+ main_~j~0 |main_~#str2~0.offset|)) (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= 0 main_~i~0) (= (select (select |#memory_int| |main_~#str1~0.base|) (+ |main_~#str1~0.offset| main_~i~0)) (select (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|))))} is VALID [2020-07-08 23:37:02,362 INFO L280 TraceCheckUtils]: 59: Hoare triple {4805#(and (= 1 (+ main_~j~0 |main_~#str2~0.offset|)) (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= 0 main_~i~0) (= (select (select |#memory_int| |main_~#str1~0.base|) (+ |main_~#str1~0.offset| main_~i~0)) (select (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|))))} SUMMARY for call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1); srcloc: L34 {4806#(and (= 1 (+ main_~j~0 |main_~#str2~0.offset|)) (= 0 |main_~#str2~0.offset|) (= |main_#t~mem7| (select (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|))))} is VALID [2020-07-08 23:37:02,363 INFO L280 TraceCheckUtils]: 60: Hoare triple {4806#(and (= 1 (+ main_~j~0 |main_~#str2~0.offset|)) (= 0 |main_~#str2~0.offset|) (= |main_#t~mem7| (select (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|))))} SUMMARY for call #t~mem8 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); srcloc: L34-1 {4807#(= |main_#t~mem8| |main_#t~mem7|)} is VALID [2020-07-08 23:37:02,364 INFO L263 TraceCheckUtils]: 61: Hoare triple {4807#(= |main_#t~mem8| |main_#t~mem7|)} call __VERIFIER_assert((if #t~mem7 == #t~mem8 then 1 else 0)); {4808#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2020-07-08 23:37:02,365 INFO L280 TraceCheckUtils]: 62: Hoare triple {4808#(not (= 0 |__VERIFIER_assert_#in~cond|))} ~cond := #in~cond; {4809#(not (= 0 __VERIFIER_assert_~cond))} is VALID [2020-07-08 23:37:02,365 INFO L280 TraceCheckUtils]: 63: Hoare triple {4809#(not (= 0 __VERIFIER_assert_~cond))} assume 0 == ~cond; {4783#false} is VALID [2020-07-08 23:37:02,365 INFO L280 TraceCheckUtils]: 64: Hoare triple {4783#false} assume !false; {4783#false} is VALID [2020-07-08 23:37:02,381 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 0 proven. 21 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-08 23:37:02,381 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1779318636] [2020-07-08 23:37:02,381 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-08 23:37:02,382 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [24] total 24 [2020-07-08 23:37:02,382 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1402437017] [2020-07-08 23:37:02,382 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 65 [2020-07-08 23:37:02,383 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 23:37:02,383 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 24 states. [2020-07-08 23:37:02,474 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 23:37:02,474 INFO L459 AbstractCegarLoop]: Interpolant automaton has 24 states [2020-07-08 23:37:02,475 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 23:37:02,475 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2020-07-08 23:37:02,476 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=73, Invalid=479, Unknown=0, NotChecked=0, Total=552 [2020-07-08 23:37:02,476 INFO L87 Difference]: Start difference. First operand 76 states and 78 transitions. Second operand 24 states. [2020-07-08 23:37:08,167 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 23:37:08,168 INFO L93 Difference]: Finished difference Result 191 states and 200 transitions. [2020-07-08 23:37:08,168 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 38 states. [2020-07-08 23:37:08,168 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 65 [2020-07-08 23:37:08,168 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 23:37:08,169 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2020-07-08 23:37:08,173 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 189 transitions. [2020-07-08 23:37:08,173 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2020-07-08 23:37:08,178 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 189 transitions. [2020-07-08 23:37:08,178 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 38 states and 189 transitions. [2020-07-08 23:37:08,496 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 189 edges. 189 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 23:37:08,500 INFO L225 Difference]: With dead ends: 191 [2020-07-08 23:37:08,500 INFO L226 Difference]: Without dead ends: 189 [2020-07-08 23:37:08,502 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 59 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 56 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 739 ImplicationChecksByTransitivity, 2.3s TimeCoverageRelationStatistics Valid=512, Invalid=2794, Unknown=0, NotChecked=0, Total=3306 [2020-07-08 23:37:08,503 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 189 states. [2020-07-08 23:37:09,024 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 189 to 117. [2020-07-08 23:37:09,024 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 23:37:09,025 INFO L82 GeneralOperation]: Start isEquivalent. First operand 189 states. Second operand 117 states. [2020-07-08 23:37:09,025 INFO L74 IsIncluded]: Start isIncluded. First operand 189 states. Second operand 117 states. [2020-07-08 23:37:09,025 INFO L87 Difference]: Start difference. First operand 189 states. Second operand 117 states. [2020-07-08 23:37:09,032 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 23:37:09,033 INFO L93 Difference]: Finished difference Result 189 states and 198 transitions. [2020-07-08 23:37:09,033 INFO L276 IsEmpty]: Start isEmpty. Operand 189 states and 198 transitions. [2020-07-08 23:37:09,034 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 23:37:09,034 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 23:37:09,034 INFO L74 IsIncluded]: Start isIncluded. First operand 117 states. Second operand 189 states. [2020-07-08 23:37:09,034 INFO L87 Difference]: Start difference. First operand 117 states. Second operand 189 states. [2020-07-08 23:37:09,041 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 23:37:09,041 INFO L93 Difference]: Finished difference Result 189 states and 198 transitions. [2020-07-08 23:37:09,041 INFO L276 IsEmpty]: Start isEmpty. Operand 189 states and 198 transitions. [2020-07-08 23:37:09,042 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 23:37:09,042 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 23:37:09,042 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 23:37:09,043 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 23:37:09,043 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 117 states. [2020-07-08 23:37:09,046 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 117 states to 117 states and 121 transitions. [2020-07-08 23:37:09,047 INFO L78 Accepts]: Start accepts. Automaton has 117 states and 121 transitions. Word has length 65 [2020-07-08 23:37:09,047 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 23:37:09,047 INFO L479 AbstractCegarLoop]: Abstraction has 117 states and 121 transitions. [2020-07-08 23:37:09,047 INFO L480 AbstractCegarLoop]: Interpolant automaton has 24 states. [2020-07-08 23:37:09,048 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 117 states and 121 transitions. [2020-07-08 23:37:09,321 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 121 edges. 121 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 23:37:09,321 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 121 transitions. [2020-07-08 23:37:09,322 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 73 [2020-07-08 23:37:09,323 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 23:37:09,323 INFO L422 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-08 23:37:09,323 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7 [2020-07-08 23:37:09,323 INFO L427 AbstractCegarLoop]: === Iteration 9 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 23:37:09,324 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 23:37:09,324 INFO L82 PathProgramCache]: Analyzing trace with hash 499090838, now seen corresponding path program 5 times [2020-07-08 23:37:09,324 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 23:37:09,324 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1113388696] [2020-07-08 23:37:09,324 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 23:37:09,341 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 23:37:09,505 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 23:37:09,509 INFO L280 TraceCheckUtils]: 0: Hoare triple {5891#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {5875#true} is VALID [2020-07-08 23:37:09,509 INFO L280 TraceCheckUtils]: 1: Hoare triple {5875#true} #valid := #valid[0 := 0]; {5875#true} is VALID [2020-07-08 23:37:09,509 INFO L280 TraceCheckUtils]: 2: Hoare triple {5875#true} assume 0 < #StackHeapBarrier; {5875#true} is VALID [2020-07-08 23:37:09,510 INFO L280 TraceCheckUtils]: 3: Hoare triple {5875#true} assume true; {5875#true} is VALID [2020-07-08 23:37:09,510 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {5875#true} {5875#true} #107#return; {5875#true} is VALID [2020-07-08 23:37:09,512 INFO L263 TraceCheckUtils]: 0: Hoare triple {5875#true} call ULTIMATE.init(); {5891#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-08 23:37:09,513 INFO L280 TraceCheckUtils]: 1: Hoare triple {5891#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {5875#true} is VALID [2020-07-08 23:37:09,513 INFO L280 TraceCheckUtils]: 2: Hoare triple {5875#true} #valid := #valid[0 := 0]; {5875#true} is VALID [2020-07-08 23:37:09,513 INFO L280 TraceCheckUtils]: 3: Hoare triple {5875#true} assume 0 < #StackHeapBarrier; {5875#true} is VALID [2020-07-08 23:37:09,513 INFO L280 TraceCheckUtils]: 4: Hoare triple {5875#true} assume true; {5875#true} is VALID [2020-07-08 23:37:09,514 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {5875#true} {5875#true} #107#return; {5875#true} is VALID [2020-07-08 23:37:09,514 INFO L263 TraceCheckUtils]: 6: Hoare triple {5875#true} call #t~ret10 := main(); {5875#true} is VALID [2020-07-08 23:37:09,514 INFO L280 TraceCheckUtils]: 7: Hoare triple {5875#true} ~MAX~0 := (if #t~nondet0 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet0 % 4294967296 % 4294967296 else #t~nondet0 % 4294967296 % 4294967296 - 4294967296); {5875#true} is VALID [2020-07-08 23:37:09,514 INFO L280 TraceCheckUtils]: 8: Hoare triple {5875#true} havoc #t~nondet0; {5875#true} is VALID [2020-07-08 23:37:09,514 INFO L280 TraceCheckUtils]: 9: Hoare triple {5875#true} assume !!(~MAX~0 > 0); {5875#true} is VALID [2020-07-08 23:37:09,515 INFO L280 TraceCheckUtils]: 10: Hoare triple {5875#true} SUMMARY for call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack(~MAX~0); srcloc: L15-3 {5875#true} is VALID [2020-07-08 23:37:09,515 INFO L280 TraceCheckUtils]: 11: Hoare triple {5875#true} SUMMARY for call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(~MAX~0); srcloc: L16 {5875#true} is VALID [2020-07-08 23:37:09,515 INFO L280 TraceCheckUtils]: 12: Hoare triple {5875#true} havoc ~cont~0; {5875#true} is VALID [2020-07-08 23:37:09,515 INFO L280 TraceCheckUtils]: 13: Hoare triple {5875#true} havoc ~i~0; {5875#true} is VALID [2020-07-08 23:37:09,515 INFO L280 TraceCheckUtils]: 14: Hoare triple {5875#true} havoc ~j~0; {5875#true} is VALID [2020-07-08 23:37:09,515 INFO L280 TraceCheckUtils]: 15: Hoare triple {5875#true} ~cont~0 := 0; {5875#true} is VALID [2020-07-08 23:37:09,517 INFO L280 TraceCheckUtils]: 16: Hoare triple {5875#true} ~i~0 := 0; {5882#(= 0 main_~i~0)} is VALID [2020-07-08 23:37:09,518 INFO L280 TraceCheckUtils]: 17: Hoare triple {5882#(= 0 main_~i~0)} assume !!(~i~0 < ~MAX~0); {5882#(= 0 main_~i~0)} is VALID [2020-07-08 23:37:09,518 INFO L280 TraceCheckUtils]: 18: Hoare triple {5882#(= 0 main_~i~0)} assume -128 <= #t~nondet2 && #t~nondet2 <= 127; {5882#(= 0 main_~i~0)} is VALID [2020-07-08 23:37:09,519 INFO L280 TraceCheckUtils]: 19: Hoare triple {5882#(= 0 main_~i~0)} SUMMARY for call write~int(#t~nondet2, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1); srcloc: L21-1 {5882#(= 0 main_~i~0)} is VALID [2020-07-08 23:37:09,519 INFO L280 TraceCheckUtils]: 20: Hoare triple {5882#(= 0 main_~i~0)} havoc #t~nondet2; {5882#(= 0 main_~i~0)} is VALID [2020-07-08 23:37:09,520 INFO L280 TraceCheckUtils]: 21: Hoare triple {5882#(= 0 main_~i~0)} #t~post1 := ~i~0; {5883#(= |main_#t~post1| 0)} is VALID [2020-07-08 23:37:09,520 INFO L280 TraceCheckUtils]: 22: Hoare triple {5883#(= |main_#t~post1| 0)} ~i~0 := 1 + #t~post1; {5884#(<= 1 main_~i~0)} is VALID [2020-07-08 23:37:09,521 INFO L280 TraceCheckUtils]: 23: Hoare triple {5884#(<= 1 main_~i~0)} havoc #t~post1; {5884#(<= 1 main_~i~0)} is VALID [2020-07-08 23:37:09,522 INFO L280 TraceCheckUtils]: 24: Hoare triple {5884#(<= 1 main_~i~0)} assume !!(~i~0 < ~MAX~0); {5884#(<= 1 main_~i~0)} is VALID [2020-07-08 23:37:09,522 INFO L280 TraceCheckUtils]: 25: Hoare triple {5884#(<= 1 main_~i~0)} assume -128 <= #t~nondet2 && #t~nondet2 <= 127; {5884#(<= 1 main_~i~0)} is VALID [2020-07-08 23:37:09,523 INFO L280 TraceCheckUtils]: 26: Hoare triple {5884#(<= 1 main_~i~0)} SUMMARY for call write~int(#t~nondet2, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1); srcloc: L21-1 {5884#(<= 1 main_~i~0)} is VALID [2020-07-08 23:37:09,523 INFO L280 TraceCheckUtils]: 27: Hoare triple {5884#(<= 1 main_~i~0)} havoc #t~nondet2; {5884#(<= 1 main_~i~0)} is VALID [2020-07-08 23:37:09,524 INFO L280 TraceCheckUtils]: 28: Hoare triple {5884#(<= 1 main_~i~0)} #t~post1 := ~i~0; {5885#(<= 1 |main_#t~post1|)} is VALID [2020-07-08 23:37:09,525 INFO L280 TraceCheckUtils]: 29: Hoare triple {5885#(<= 1 |main_#t~post1|)} ~i~0 := 1 + #t~post1; {5886#(<= 2 main_~i~0)} is VALID [2020-07-08 23:37:09,526 INFO L280 TraceCheckUtils]: 30: Hoare triple {5886#(<= 2 main_~i~0)} havoc #t~post1; {5886#(<= 2 main_~i~0)} is VALID [2020-07-08 23:37:09,527 INFO L280 TraceCheckUtils]: 31: Hoare triple {5886#(<= 2 main_~i~0)} assume !!(~i~0 < ~MAX~0); {5887#(<= 3 main_~MAX~0)} is VALID [2020-07-08 23:37:09,527 INFO L280 TraceCheckUtils]: 32: Hoare triple {5887#(<= 3 main_~MAX~0)} assume -128 <= #t~nondet2 && #t~nondet2 <= 127; {5887#(<= 3 main_~MAX~0)} is VALID [2020-07-08 23:37:09,528 INFO L280 TraceCheckUtils]: 33: Hoare triple {5887#(<= 3 main_~MAX~0)} SUMMARY for call write~int(#t~nondet2, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1); srcloc: L21-1 {5887#(<= 3 main_~MAX~0)} is VALID [2020-07-08 23:37:09,528 INFO L280 TraceCheckUtils]: 34: Hoare triple {5887#(<= 3 main_~MAX~0)} havoc #t~nondet2; {5887#(<= 3 main_~MAX~0)} is VALID [2020-07-08 23:37:09,529 INFO L280 TraceCheckUtils]: 35: Hoare triple {5887#(<= 3 main_~MAX~0)} #t~post1 := ~i~0; {5887#(<= 3 main_~MAX~0)} is VALID [2020-07-08 23:37:09,529 INFO L280 TraceCheckUtils]: 36: Hoare triple {5887#(<= 3 main_~MAX~0)} ~i~0 := 1 + #t~post1; {5887#(<= 3 main_~MAX~0)} is VALID [2020-07-08 23:37:09,530 INFO L280 TraceCheckUtils]: 37: Hoare triple {5887#(<= 3 main_~MAX~0)} havoc #t~post1; {5887#(<= 3 main_~MAX~0)} is VALID [2020-07-08 23:37:09,531 INFO L280 TraceCheckUtils]: 38: Hoare triple {5887#(<= 3 main_~MAX~0)} assume !(~i~0 < ~MAX~0); {5887#(<= 3 main_~MAX~0)} is VALID [2020-07-08 23:37:09,532 INFO L280 TraceCheckUtils]: 39: Hoare triple {5887#(<= 3 main_~MAX~0)} SUMMARY for call write~int(0, ~#str1~0.base, ~#str1~0.offset + (~MAX~0 - 1), 1); srcloc: L20-7 {5887#(<= 3 main_~MAX~0)} is VALID [2020-07-08 23:37:09,532 INFO L280 TraceCheckUtils]: 40: Hoare triple {5887#(<= 3 main_~MAX~0)} ~j~0 := 0; {5887#(<= 3 main_~MAX~0)} is VALID [2020-07-08 23:37:09,533 INFO L280 TraceCheckUtils]: 41: Hoare triple {5887#(<= 3 main_~MAX~0)} ~i~0 := ~MAX~0 - 1; {5886#(<= 2 main_~i~0)} is VALID [2020-07-08 23:37:09,534 INFO L280 TraceCheckUtils]: 42: Hoare triple {5886#(<= 2 main_~i~0)} assume !!(~i~0 >= 0); {5886#(<= 2 main_~i~0)} is VALID [2020-07-08 23:37:09,535 INFO L280 TraceCheckUtils]: 43: Hoare triple {5886#(<= 2 main_~i~0)} SUMMARY for call #t~mem4 := read~int(~#str1~0.base, ~#str1~0.offset, 1); srcloc: L28 {5886#(<= 2 main_~i~0)} is VALID [2020-07-08 23:37:09,536 INFO L280 TraceCheckUtils]: 44: Hoare triple {5886#(<= 2 main_~i~0)} SUMMARY for call write~int(#t~mem4, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1); srcloc: L28-1 {5886#(<= 2 main_~i~0)} is VALID [2020-07-08 23:37:09,538 INFO L280 TraceCheckUtils]: 45: Hoare triple {5886#(<= 2 main_~i~0)} havoc #t~mem4; {5886#(<= 2 main_~i~0)} is VALID [2020-07-08 23:37:09,538 INFO L280 TraceCheckUtils]: 46: Hoare triple {5886#(<= 2 main_~i~0)} #t~post5 := ~j~0; {5886#(<= 2 main_~i~0)} is VALID [2020-07-08 23:37:09,539 INFO L280 TraceCheckUtils]: 47: Hoare triple {5886#(<= 2 main_~i~0)} ~j~0 := 1 + #t~post5; {5886#(<= 2 main_~i~0)} is VALID [2020-07-08 23:37:09,541 INFO L280 TraceCheckUtils]: 48: Hoare triple {5886#(<= 2 main_~i~0)} havoc #t~post5; {5886#(<= 2 main_~i~0)} is VALID [2020-07-08 23:37:09,542 INFO L280 TraceCheckUtils]: 49: Hoare triple {5886#(<= 2 main_~i~0)} #t~post3 := ~i~0; {5888#(<= 2 |main_#t~post3|)} is VALID [2020-07-08 23:37:09,543 INFO L280 TraceCheckUtils]: 50: Hoare triple {5888#(<= 2 |main_#t~post3|)} ~i~0 := #t~post3 - 1; {5884#(<= 1 main_~i~0)} is VALID [2020-07-08 23:37:09,544 INFO L280 TraceCheckUtils]: 51: Hoare triple {5884#(<= 1 main_~i~0)} havoc #t~post3; {5884#(<= 1 main_~i~0)} is VALID [2020-07-08 23:37:09,545 INFO L280 TraceCheckUtils]: 52: Hoare triple {5884#(<= 1 main_~i~0)} assume !!(~i~0 >= 0); {5884#(<= 1 main_~i~0)} is VALID [2020-07-08 23:37:09,545 INFO L280 TraceCheckUtils]: 53: Hoare triple {5884#(<= 1 main_~i~0)} SUMMARY for call #t~mem4 := read~int(~#str1~0.base, ~#str1~0.offset, 1); srcloc: L28 {5884#(<= 1 main_~i~0)} is VALID [2020-07-08 23:37:09,546 INFO L280 TraceCheckUtils]: 54: Hoare triple {5884#(<= 1 main_~i~0)} SUMMARY for call write~int(#t~mem4, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1); srcloc: L28-1 {5884#(<= 1 main_~i~0)} is VALID [2020-07-08 23:37:09,547 INFO L280 TraceCheckUtils]: 55: Hoare triple {5884#(<= 1 main_~i~0)} havoc #t~mem4; {5884#(<= 1 main_~i~0)} is VALID [2020-07-08 23:37:09,548 INFO L280 TraceCheckUtils]: 56: Hoare triple {5884#(<= 1 main_~i~0)} #t~post5 := ~j~0; {5884#(<= 1 main_~i~0)} is VALID [2020-07-08 23:37:09,549 INFO L280 TraceCheckUtils]: 57: Hoare triple {5884#(<= 1 main_~i~0)} ~j~0 := 1 + #t~post5; {5884#(<= 1 main_~i~0)} is VALID [2020-07-08 23:37:09,549 INFO L280 TraceCheckUtils]: 58: Hoare triple {5884#(<= 1 main_~i~0)} havoc #t~post5; {5884#(<= 1 main_~i~0)} is VALID [2020-07-08 23:37:09,550 INFO L280 TraceCheckUtils]: 59: Hoare triple {5884#(<= 1 main_~i~0)} #t~post3 := ~i~0; {5889#(<= 1 |main_#t~post3|)} is VALID [2020-07-08 23:37:09,552 INFO L280 TraceCheckUtils]: 60: Hoare triple {5889#(<= 1 |main_#t~post3|)} ~i~0 := #t~post3 - 1; {5890#(<= 0 main_~i~0)} is VALID [2020-07-08 23:37:09,553 INFO L280 TraceCheckUtils]: 61: Hoare triple {5890#(<= 0 main_~i~0)} havoc #t~post3; {5890#(<= 0 main_~i~0)} is VALID [2020-07-08 23:37:09,553 INFO L280 TraceCheckUtils]: 62: Hoare triple {5890#(<= 0 main_~i~0)} assume !(~i~0 >= 0); {5876#false} is VALID [2020-07-08 23:37:09,553 INFO L280 TraceCheckUtils]: 63: Hoare triple {5876#false} ~j~0 := ~MAX~0 - 1; {5876#false} is VALID [2020-07-08 23:37:09,554 INFO L280 TraceCheckUtils]: 64: Hoare triple {5876#false} ~i~0 := 0; {5876#false} is VALID [2020-07-08 23:37:09,554 INFO L280 TraceCheckUtils]: 65: Hoare triple {5876#false} assume !!(~i~0 < ~MAX~0); {5876#false} is VALID [2020-07-08 23:37:09,554 INFO L280 TraceCheckUtils]: 66: Hoare triple {5876#false} SUMMARY for call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1); srcloc: L34 {5876#false} is VALID [2020-07-08 23:37:09,554 INFO L280 TraceCheckUtils]: 67: Hoare triple {5876#false} SUMMARY for call #t~mem8 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); srcloc: L34-1 {5876#false} is VALID [2020-07-08 23:37:09,554 INFO L263 TraceCheckUtils]: 68: Hoare triple {5876#false} call __VERIFIER_assert((if #t~mem7 == #t~mem8 then 1 else 0)); {5876#false} is VALID [2020-07-08 23:37:09,555 INFO L280 TraceCheckUtils]: 69: Hoare triple {5876#false} ~cond := #in~cond; {5876#false} is VALID [2020-07-08 23:37:09,555 INFO L280 TraceCheckUtils]: 70: Hoare triple {5876#false} assume 0 == ~cond; {5876#false} is VALID [2020-07-08 23:37:09,555 INFO L280 TraceCheckUtils]: 71: Hoare triple {5876#false} assume !false; {5876#false} is VALID [2020-07-08 23:37:09,561 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 2 proven. 34 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-08 23:37:09,561 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1113388696] [2020-07-08 23:37:09,562 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-08 23:37:09,562 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12] total 12 [2020-07-08 23:37:09,569 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [444760086] [2020-07-08 23:37:09,571 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 72 [2020-07-08 23:37:09,572 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 23:37:09,572 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2020-07-08 23:37:09,662 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 23:37:09,662 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2020-07-08 23:37:09,662 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 23:37:09,663 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2020-07-08 23:37:09,663 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=106, Unknown=0, NotChecked=0, Total=132 [2020-07-08 23:37:09,664 INFO L87 Difference]: Start difference. First operand 117 states and 121 transitions. Second operand 12 states. [2020-07-08 23:37:11,824 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 23:37:11,825 INFO L93 Difference]: Finished difference Result 193 states and 202 transitions. [2020-07-08 23:37:11,825 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2020-07-08 23:37:11,825 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 72 [2020-07-08 23:37:11,826 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 23:37:11,826 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-08 23:37:11,829 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 170 transitions. [2020-07-08 23:37:11,829 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-08 23:37:11,833 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 170 transitions. [2020-07-08 23:37:11,833 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 170 transitions. [2020-07-08 23:37:12,039 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 170 edges. 170 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 23:37:12,045 INFO L225 Difference]: With dead ends: 193 [2020-07-08 23:37:12,046 INFO L226 Difference]: Without dead ends: 173 [2020-07-08 23:37:12,047 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 89 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=124, Invalid=476, Unknown=0, NotChecked=0, Total=600 [2020-07-08 23:37:12,048 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 173 states. [2020-07-08 23:37:12,659 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 173 to 127. [2020-07-08 23:37:12,660 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 23:37:12,660 INFO L82 GeneralOperation]: Start isEquivalent. First operand 173 states. Second operand 127 states. [2020-07-08 23:37:12,660 INFO L74 IsIncluded]: Start isIncluded. First operand 173 states. Second operand 127 states. [2020-07-08 23:37:12,660 INFO L87 Difference]: Start difference. First operand 173 states. Second operand 127 states. [2020-07-08 23:37:12,671 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 23:37:12,671 INFO L93 Difference]: Finished difference Result 173 states and 181 transitions. [2020-07-08 23:37:12,671 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 181 transitions. [2020-07-08 23:37:12,672 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 23:37:12,672 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 23:37:12,672 INFO L74 IsIncluded]: Start isIncluded. First operand 127 states. Second operand 173 states. [2020-07-08 23:37:12,673 INFO L87 Difference]: Start difference. First operand 127 states. Second operand 173 states. [2020-07-08 23:37:12,678 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 23:37:12,679 INFO L93 Difference]: Finished difference Result 173 states and 181 transitions. [2020-07-08 23:37:12,679 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 181 transitions. [2020-07-08 23:37:12,679 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 23:37:12,680 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 23:37:12,680 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 23:37:12,680 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 23:37:12,680 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 127 states. [2020-07-08 23:37:12,684 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 127 states to 127 states and 131 transitions. [2020-07-08 23:37:12,684 INFO L78 Accepts]: Start accepts. Automaton has 127 states and 131 transitions. Word has length 72 [2020-07-08 23:37:12,684 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 23:37:12,684 INFO L479 AbstractCegarLoop]: Abstraction has 127 states and 131 transitions. [2020-07-08 23:37:12,684 INFO L480 AbstractCegarLoop]: Interpolant automaton has 12 states. [2020-07-08 23:37:12,685 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 127 states and 131 transitions. [2020-07-08 23:37:13,031 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 131 edges. 131 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 23:37:13,031 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 131 transitions. [2020-07-08 23:37:13,032 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2020-07-08 23:37:13,032 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 23:37:13,033 INFO L422 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-08 23:37:13,033 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8 [2020-07-08 23:37:13,033 INFO L427 AbstractCegarLoop]: === Iteration 10 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 23:37:13,033 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 23:37:13,033 INFO L82 PathProgramCache]: Analyzing trace with hash 1430946398, now seen corresponding path program 6 times [2020-07-08 23:37:13,034 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 23:37:13,034 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [893493453] [2020-07-08 23:37:13,034 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 23:37:13,063 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 23:37:13,254 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 23:37:13,261 INFO L280 TraceCheckUtils]: 0: Hoare triple {6923#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {6906#true} is VALID [2020-07-08 23:37:13,262 INFO L280 TraceCheckUtils]: 1: Hoare triple {6906#true} #valid := #valid[0 := 0]; {6906#true} is VALID [2020-07-08 23:37:13,262 INFO L280 TraceCheckUtils]: 2: Hoare triple {6906#true} assume 0 < #StackHeapBarrier; {6906#true} is VALID [2020-07-08 23:37:13,264 INFO L280 TraceCheckUtils]: 3: Hoare triple {6906#true} assume true; {6906#true} is VALID [2020-07-08 23:37:13,264 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {6906#true} {6906#true} #107#return; {6906#true} is VALID [2020-07-08 23:37:13,265 INFO L263 TraceCheckUtils]: 0: Hoare triple {6906#true} call ULTIMATE.init(); {6923#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-08 23:37:13,266 INFO L280 TraceCheckUtils]: 1: Hoare triple {6923#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {6906#true} is VALID [2020-07-08 23:37:13,266 INFO L280 TraceCheckUtils]: 2: Hoare triple {6906#true} #valid := #valid[0 := 0]; {6906#true} is VALID [2020-07-08 23:37:13,266 INFO L280 TraceCheckUtils]: 3: Hoare triple {6906#true} assume 0 < #StackHeapBarrier; {6906#true} is VALID [2020-07-08 23:37:13,266 INFO L280 TraceCheckUtils]: 4: Hoare triple {6906#true} assume true; {6906#true} is VALID [2020-07-08 23:37:13,266 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {6906#true} {6906#true} #107#return; {6906#true} is VALID [2020-07-08 23:37:13,267 INFO L263 TraceCheckUtils]: 6: Hoare triple {6906#true} call #t~ret10 := main(); {6906#true} is VALID [2020-07-08 23:37:13,267 INFO L280 TraceCheckUtils]: 7: Hoare triple {6906#true} ~MAX~0 := (if #t~nondet0 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet0 % 4294967296 % 4294967296 else #t~nondet0 % 4294967296 % 4294967296 - 4294967296); {6906#true} is VALID [2020-07-08 23:37:13,267 INFO L280 TraceCheckUtils]: 8: Hoare triple {6906#true} havoc #t~nondet0; {6906#true} is VALID [2020-07-08 23:37:13,268 INFO L280 TraceCheckUtils]: 9: Hoare triple {6906#true} assume !!(~MAX~0 > 0); {6906#true} is VALID [2020-07-08 23:37:13,268 INFO L280 TraceCheckUtils]: 10: Hoare triple {6906#true} SUMMARY for call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack(~MAX~0); srcloc: L15-3 {6906#true} is VALID [2020-07-08 23:37:13,268 INFO L280 TraceCheckUtils]: 11: Hoare triple {6906#true} SUMMARY for call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(~MAX~0); srcloc: L16 {6906#true} is VALID [2020-07-08 23:37:13,268 INFO L280 TraceCheckUtils]: 12: Hoare triple {6906#true} havoc ~cont~0; {6906#true} is VALID [2020-07-08 23:37:13,268 INFO L280 TraceCheckUtils]: 13: Hoare triple {6906#true} havoc ~i~0; {6906#true} is VALID [2020-07-08 23:37:13,269 INFO L280 TraceCheckUtils]: 14: Hoare triple {6906#true} havoc ~j~0; {6906#true} is VALID [2020-07-08 23:37:13,269 INFO L280 TraceCheckUtils]: 15: Hoare triple {6906#true} ~cont~0 := 0; {6906#true} is VALID [2020-07-08 23:37:13,270 INFO L280 TraceCheckUtils]: 16: Hoare triple {6906#true} ~i~0 := 0; {6913#(= 0 main_~i~0)} is VALID [2020-07-08 23:37:13,271 INFO L280 TraceCheckUtils]: 17: Hoare triple {6913#(= 0 main_~i~0)} assume !!(~i~0 < ~MAX~0); {6913#(= 0 main_~i~0)} is VALID [2020-07-08 23:37:13,271 INFO L280 TraceCheckUtils]: 18: Hoare triple {6913#(= 0 main_~i~0)} assume -128 <= #t~nondet2 && #t~nondet2 <= 127; {6913#(= 0 main_~i~0)} is VALID [2020-07-08 23:37:13,272 INFO L280 TraceCheckUtils]: 19: Hoare triple {6913#(= 0 main_~i~0)} SUMMARY for call write~int(#t~nondet2, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1); srcloc: L21-1 {6913#(= 0 main_~i~0)} is VALID [2020-07-08 23:37:13,273 INFO L280 TraceCheckUtils]: 20: Hoare triple {6913#(= 0 main_~i~0)} havoc #t~nondet2; {6913#(= 0 main_~i~0)} is VALID [2020-07-08 23:37:13,274 INFO L280 TraceCheckUtils]: 21: Hoare triple {6913#(= 0 main_~i~0)} #t~post1 := ~i~0; {6914#(= |main_#t~post1| 0)} is VALID [2020-07-08 23:37:13,275 INFO L280 TraceCheckUtils]: 22: Hoare triple {6914#(= |main_#t~post1| 0)} ~i~0 := 1 + #t~post1; {6915#(<= main_~i~0 1)} is VALID [2020-07-08 23:37:13,276 INFO L280 TraceCheckUtils]: 23: Hoare triple {6915#(<= main_~i~0 1)} havoc #t~post1; {6915#(<= main_~i~0 1)} is VALID [2020-07-08 23:37:13,277 INFO L280 TraceCheckUtils]: 24: Hoare triple {6915#(<= main_~i~0 1)} assume !!(~i~0 < ~MAX~0); {6915#(<= main_~i~0 1)} is VALID [2020-07-08 23:37:13,277 INFO L280 TraceCheckUtils]: 25: Hoare triple {6915#(<= main_~i~0 1)} assume -128 <= #t~nondet2 && #t~nondet2 <= 127; {6915#(<= main_~i~0 1)} is VALID [2020-07-08 23:37:13,278 INFO L280 TraceCheckUtils]: 26: Hoare triple {6915#(<= main_~i~0 1)} SUMMARY for call write~int(#t~nondet2, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1); srcloc: L21-1 {6915#(<= main_~i~0 1)} is VALID [2020-07-08 23:37:13,278 INFO L280 TraceCheckUtils]: 27: Hoare triple {6915#(<= main_~i~0 1)} havoc #t~nondet2; {6915#(<= main_~i~0 1)} is VALID [2020-07-08 23:37:13,279 INFO L280 TraceCheckUtils]: 28: Hoare triple {6915#(<= main_~i~0 1)} #t~post1 := ~i~0; {6916#(<= |main_#t~post1| 1)} is VALID [2020-07-08 23:37:13,280 INFO L280 TraceCheckUtils]: 29: Hoare triple {6916#(<= |main_#t~post1| 1)} ~i~0 := 1 + #t~post1; {6917#(<= main_~i~0 2)} is VALID [2020-07-08 23:37:13,281 INFO L280 TraceCheckUtils]: 30: Hoare triple {6917#(<= main_~i~0 2)} havoc #t~post1; {6917#(<= main_~i~0 2)} is VALID [2020-07-08 23:37:13,282 INFO L280 TraceCheckUtils]: 31: Hoare triple {6917#(<= main_~i~0 2)} assume !(~i~0 < ~MAX~0); {6918#(<= main_~MAX~0 2)} is VALID [2020-07-08 23:37:13,283 INFO L280 TraceCheckUtils]: 32: Hoare triple {6918#(<= main_~MAX~0 2)} SUMMARY for call write~int(0, ~#str1~0.base, ~#str1~0.offset + (~MAX~0 - 1), 1); srcloc: L20-7 {6918#(<= main_~MAX~0 2)} is VALID [2020-07-08 23:37:13,284 INFO L280 TraceCheckUtils]: 33: Hoare triple {6918#(<= main_~MAX~0 2)} ~j~0 := 0; {6918#(<= main_~MAX~0 2)} is VALID [2020-07-08 23:37:13,285 INFO L280 TraceCheckUtils]: 34: Hoare triple {6918#(<= main_~MAX~0 2)} ~i~0 := ~MAX~0 - 1; {6915#(<= main_~i~0 1)} is VALID [2020-07-08 23:37:13,286 INFO L280 TraceCheckUtils]: 35: Hoare triple {6915#(<= main_~i~0 1)} assume !!(~i~0 >= 0); {6915#(<= main_~i~0 1)} is VALID [2020-07-08 23:37:13,287 INFO L280 TraceCheckUtils]: 36: Hoare triple {6915#(<= main_~i~0 1)} SUMMARY for call #t~mem4 := read~int(~#str1~0.base, ~#str1~0.offset, 1); srcloc: L28 {6915#(<= main_~i~0 1)} is VALID [2020-07-08 23:37:13,288 INFO L280 TraceCheckUtils]: 37: Hoare triple {6915#(<= main_~i~0 1)} SUMMARY for call write~int(#t~mem4, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1); srcloc: L28-1 {6915#(<= main_~i~0 1)} is VALID [2020-07-08 23:37:13,289 INFO L280 TraceCheckUtils]: 38: Hoare triple {6915#(<= main_~i~0 1)} havoc #t~mem4; {6915#(<= main_~i~0 1)} is VALID [2020-07-08 23:37:13,290 INFO L280 TraceCheckUtils]: 39: Hoare triple {6915#(<= main_~i~0 1)} #t~post5 := ~j~0; {6915#(<= main_~i~0 1)} is VALID [2020-07-08 23:37:13,291 INFO L280 TraceCheckUtils]: 40: Hoare triple {6915#(<= main_~i~0 1)} ~j~0 := 1 + #t~post5; {6915#(<= main_~i~0 1)} is VALID [2020-07-08 23:37:13,292 INFO L280 TraceCheckUtils]: 41: Hoare triple {6915#(<= main_~i~0 1)} havoc #t~post5; {6915#(<= main_~i~0 1)} is VALID [2020-07-08 23:37:13,293 INFO L280 TraceCheckUtils]: 42: Hoare triple {6915#(<= main_~i~0 1)} #t~post3 := ~i~0; {6919#(<= |main_#t~post3| 1)} is VALID [2020-07-08 23:37:13,295 INFO L280 TraceCheckUtils]: 43: Hoare triple {6919#(<= |main_#t~post3| 1)} ~i~0 := #t~post3 - 1; {6920#(<= main_~i~0 0)} is VALID [2020-07-08 23:37:13,296 INFO L280 TraceCheckUtils]: 44: Hoare triple {6920#(<= main_~i~0 0)} havoc #t~post3; {6920#(<= main_~i~0 0)} is VALID [2020-07-08 23:37:13,297 INFO L280 TraceCheckUtils]: 45: Hoare triple {6920#(<= main_~i~0 0)} assume !!(~i~0 >= 0); {6920#(<= main_~i~0 0)} is VALID [2020-07-08 23:37:13,297 INFO L280 TraceCheckUtils]: 46: Hoare triple {6920#(<= main_~i~0 0)} SUMMARY for call #t~mem4 := read~int(~#str1~0.base, ~#str1~0.offset, 1); srcloc: L28 {6920#(<= main_~i~0 0)} is VALID [2020-07-08 23:37:13,298 INFO L280 TraceCheckUtils]: 47: Hoare triple {6920#(<= main_~i~0 0)} SUMMARY for call write~int(#t~mem4, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1); srcloc: L28-1 {6920#(<= main_~i~0 0)} is VALID [2020-07-08 23:37:13,299 INFO L280 TraceCheckUtils]: 48: Hoare triple {6920#(<= main_~i~0 0)} havoc #t~mem4; {6920#(<= main_~i~0 0)} is VALID [2020-07-08 23:37:13,300 INFO L280 TraceCheckUtils]: 49: Hoare triple {6920#(<= main_~i~0 0)} #t~post5 := ~j~0; {6920#(<= main_~i~0 0)} is VALID [2020-07-08 23:37:13,301 INFO L280 TraceCheckUtils]: 50: Hoare triple {6920#(<= main_~i~0 0)} ~j~0 := 1 + #t~post5; {6920#(<= main_~i~0 0)} is VALID [2020-07-08 23:37:13,302 INFO L280 TraceCheckUtils]: 51: Hoare triple {6920#(<= main_~i~0 0)} havoc #t~post5; {6920#(<= main_~i~0 0)} is VALID [2020-07-08 23:37:13,303 INFO L280 TraceCheckUtils]: 52: Hoare triple {6920#(<= main_~i~0 0)} #t~post3 := ~i~0; {6921#(<= |main_#t~post3| 0)} is VALID [2020-07-08 23:37:13,304 INFO L280 TraceCheckUtils]: 53: Hoare triple {6921#(<= |main_#t~post3| 0)} ~i~0 := #t~post3 - 1; {6922#(<= (+ main_~i~0 1) 0)} is VALID [2020-07-08 23:37:13,306 INFO L280 TraceCheckUtils]: 54: Hoare triple {6922#(<= (+ main_~i~0 1) 0)} havoc #t~post3; {6922#(<= (+ main_~i~0 1) 0)} is VALID [2020-07-08 23:37:13,307 INFO L280 TraceCheckUtils]: 55: Hoare triple {6922#(<= (+ main_~i~0 1) 0)} assume !!(~i~0 >= 0); {6907#false} is VALID [2020-07-08 23:37:13,307 INFO L280 TraceCheckUtils]: 56: Hoare triple {6907#false} SUMMARY for call #t~mem4 := read~int(~#str1~0.base, ~#str1~0.offset, 1); srcloc: L28 {6907#false} is VALID [2020-07-08 23:37:13,308 INFO L280 TraceCheckUtils]: 57: Hoare triple {6907#false} SUMMARY for call write~int(#t~mem4, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1); srcloc: L28-1 {6907#false} is VALID [2020-07-08 23:37:13,308 INFO L280 TraceCheckUtils]: 58: Hoare triple {6907#false} havoc #t~mem4; {6907#false} is VALID [2020-07-08 23:37:13,308 INFO L280 TraceCheckUtils]: 59: Hoare triple {6907#false} #t~post5 := ~j~0; {6907#false} is VALID [2020-07-08 23:37:13,308 INFO L280 TraceCheckUtils]: 60: Hoare triple {6907#false} ~j~0 := 1 + #t~post5; {6907#false} is VALID [2020-07-08 23:37:13,308 INFO L280 TraceCheckUtils]: 61: Hoare triple {6907#false} havoc #t~post5; {6907#false} is VALID [2020-07-08 23:37:13,309 INFO L280 TraceCheckUtils]: 62: Hoare triple {6907#false} #t~post3 := ~i~0; {6907#false} is VALID [2020-07-08 23:37:13,309 INFO L280 TraceCheckUtils]: 63: Hoare triple {6907#false} ~i~0 := #t~post3 - 1; {6907#false} is VALID [2020-07-08 23:37:13,309 INFO L280 TraceCheckUtils]: 64: Hoare triple {6907#false} havoc #t~post3; {6907#false} is VALID [2020-07-08 23:37:13,310 INFO L280 TraceCheckUtils]: 65: Hoare triple {6907#false} assume !(~i~0 >= 0); {6907#false} is VALID [2020-07-08 23:37:13,310 INFO L280 TraceCheckUtils]: 66: Hoare triple {6907#false} ~j~0 := ~MAX~0 - 1; {6907#false} is VALID [2020-07-08 23:37:13,310 INFO L280 TraceCheckUtils]: 67: Hoare triple {6907#false} ~i~0 := 0; {6907#false} is VALID [2020-07-08 23:37:13,311 INFO L280 TraceCheckUtils]: 68: Hoare triple {6907#false} assume !!(~i~0 < ~MAX~0); {6907#false} is VALID [2020-07-08 23:37:13,311 INFO L280 TraceCheckUtils]: 69: Hoare triple {6907#false} SUMMARY for call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1); srcloc: L34 {6907#false} is VALID [2020-07-08 23:37:13,311 INFO L280 TraceCheckUtils]: 70: Hoare triple {6907#false} SUMMARY for call #t~mem8 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); srcloc: L34-1 {6907#false} is VALID [2020-07-08 23:37:13,311 INFO L263 TraceCheckUtils]: 71: Hoare triple {6907#false} call __VERIFIER_assert((if #t~mem7 == #t~mem8 then 1 else 0)); {6907#false} is VALID [2020-07-08 23:37:13,312 INFO L280 TraceCheckUtils]: 72: Hoare triple {6907#false} ~cond := #in~cond; {6907#false} is VALID [2020-07-08 23:37:13,312 INFO L280 TraceCheckUtils]: 73: Hoare triple {6907#false} assume 0 == ~cond; {6907#false} is VALID [2020-07-08 23:37:13,312 INFO L280 TraceCheckUtils]: 74: Hoare triple {6907#false} assume !false; {6907#false} is VALID [2020-07-08 23:37:13,319 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 33 proven. 9 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-08 23:37:13,320 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [893493453] [2020-07-08 23:37:13,320 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-08 23:37:13,320 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13] total 13 [2020-07-08 23:37:13,321 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [586022134] [2020-07-08 23:37:13,321 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 75 [2020-07-08 23:37:13,321 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 23:37:13,322 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states. [2020-07-08 23:37:13,414 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 23:37:13,415 INFO L459 AbstractCegarLoop]: Interpolant automaton has 13 states [2020-07-08 23:37:13,415 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 23:37:13,415 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2020-07-08 23:37:13,415 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=122, Unknown=0, NotChecked=0, Total=156 [2020-07-08 23:37:13,416 INFO L87 Difference]: Start difference. First operand 127 states and 131 transitions. Second operand 13 states. [2020-07-08 23:37:15,380 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 23:37:15,381 INFO L93 Difference]: Finished difference Result 192 states and 199 transitions. [2020-07-08 23:37:15,381 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2020-07-08 23:37:15,381 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 75 [2020-07-08 23:37:15,381 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 23:37:15,381 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2020-07-08 23:37:15,386 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 175 transitions. [2020-07-08 23:37:15,386 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2020-07-08 23:37:15,388 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 175 transitions. [2020-07-08 23:37:15,389 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 175 transitions. [2020-07-08 23:37:15,597 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 175 edges. 175 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 23:37:15,603 INFO L225 Difference]: With dead ends: 192 [2020-07-08 23:37:15,603 INFO L226 Difference]: Without dead ends: 162 [2020-07-08 23:37:15,608 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 101 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=150, Invalid=500, Unknown=0, NotChecked=0, Total=650 [2020-07-08 23:37:15,609 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 162 states. [2020-07-08 23:37:16,206 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 162 to 127. [2020-07-08 23:37:16,207 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 23:37:16,207 INFO L82 GeneralOperation]: Start isEquivalent. First operand 162 states. Second operand 127 states. [2020-07-08 23:37:16,207 INFO L74 IsIncluded]: Start isIncluded. First operand 162 states. Second operand 127 states. [2020-07-08 23:37:16,207 INFO L87 Difference]: Start difference. First operand 162 states. Second operand 127 states. [2020-07-08 23:37:16,217 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 23:37:16,218 INFO L93 Difference]: Finished difference Result 162 states and 167 transitions. [2020-07-08 23:37:16,218 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 167 transitions. [2020-07-08 23:37:16,219 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 23:37:16,219 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 23:37:16,219 INFO L74 IsIncluded]: Start isIncluded. First operand 127 states. Second operand 162 states. [2020-07-08 23:37:16,219 INFO L87 Difference]: Start difference. First operand 127 states. Second operand 162 states. [2020-07-08 23:37:16,224 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 23:37:16,225 INFO L93 Difference]: Finished difference Result 162 states and 167 transitions. [2020-07-08 23:37:16,225 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 167 transitions. [2020-07-08 23:37:16,226 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 23:37:16,226 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 23:37:16,226 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 23:37:16,226 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 23:37:16,226 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 127 states. [2020-07-08 23:37:16,229 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 127 states to 127 states and 130 transitions. [2020-07-08 23:37:16,230 INFO L78 Accepts]: Start accepts. Automaton has 127 states and 130 transitions. Word has length 75 [2020-07-08 23:37:16,230 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 23:37:16,230 INFO L479 AbstractCegarLoop]: Abstraction has 127 states and 130 transitions. [2020-07-08 23:37:16,230 INFO L480 AbstractCegarLoop]: Interpolant automaton has 13 states. [2020-07-08 23:37:16,230 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 127 states and 130 transitions. [2020-07-08 23:37:16,554 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 130 edges. 130 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 23:37:16,554 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 130 transitions. [2020-07-08 23:37:16,555 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 82 [2020-07-08 23:37:16,556 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 23:37:16,556 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-08 23:37:16,558 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9 [2020-07-08 23:37:16,559 INFO L427 AbstractCegarLoop]: === Iteration 11 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 23:37:16,559 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 23:37:16,559 INFO L82 PathProgramCache]: Analyzing trace with hash 810536514, now seen corresponding path program 2 times [2020-07-08 23:37:16,559 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 23:37:16,560 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [981263534] [2020-07-08 23:37:16,560 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 23:37:16,595 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-08 23:37:16,647 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-08 23:37:16,717 INFO L174 FreeRefinementEngine]: Strategy FIXED_PREFERENCES found a feasible trace [2020-07-08 23:37:16,717 INFO L520 BasicCegarLoop]: Counterexample might be feasible [2020-07-08 23:37:16,717 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10 [2020-07-08 23:37:16,814 WARN L170 areAnnotationChecker]: ULTIMATE.initENTRY has no Hoare annotation [2020-07-08 23:37:16,814 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-08 23:37:16,815 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-08 23:37:16,815 WARN L170 areAnnotationChecker]: mainENTRY has no Hoare annotation [2020-07-08 23:37:16,815 WARN L170 areAnnotationChecker]: __VERIFIER_assertENTRY has no Hoare annotation [2020-07-08 23:37:16,815 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-08 23:37:16,815 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-08 23:37:16,815 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-08 23:37:16,815 WARN L170 areAnnotationChecker]: L14 has no Hoare annotation [2020-07-08 23:37:16,815 WARN L170 areAnnotationChecker]: L5 has no Hoare annotation [2020-07-08 23:37:16,816 WARN L170 areAnnotationChecker]: L5 has no Hoare annotation [2020-07-08 23:37:16,816 WARN L170 areAnnotationChecker]: L-1-1 has no Hoare annotation [2020-07-08 23:37:16,816 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2020-07-08 23:37:16,816 WARN L170 areAnnotationChecker]: L15 has no Hoare annotation [2020-07-08 23:37:16,816 WARN L170 areAnnotationChecker]: L15 has no Hoare annotation [2020-07-08 23:37:16,816 WARN L170 areAnnotationChecker]: L6 has no Hoare annotation [2020-07-08 23:37:16,816 WARN L170 areAnnotationChecker]: L6 has no Hoare annotation [2020-07-08 23:37:16,816 WARN L170 areAnnotationChecker]: L5-2 has no Hoare annotation [2020-07-08 23:37:16,817 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2020-07-08 23:37:16,817 WARN L170 areAnnotationChecker]: L15-1 has no Hoare annotation [2020-07-08 23:37:16,817 WARN L170 areAnnotationChecker]: L15-3 has no Hoare annotation [2020-07-08 23:37:16,817 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2020-07-08 23:37:16,817 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2020-07-08 23:37:16,817 WARN L170 areAnnotationChecker]: L16 has no Hoare annotation [2020-07-08 23:37:16,817 WARN L170 areAnnotationChecker]: L34-3 has no Hoare annotation [2020-07-08 23:37:16,818 WARN L170 areAnnotationChecker]: L16-1 has no Hoare annotation [2020-07-08 23:37:16,818 WARN L170 areAnnotationChecker]: L34-4 has no Hoare annotation [2020-07-08 23:37:16,818 WARN L170 areAnnotationChecker]: L17 has no Hoare annotation [2020-07-08 23:37:16,818 WARN L170 areAnnotationChecker]: L35 has no Hoare annotation [2020-07-08 23:37:16,818 WARN L170 areAnnotationChecker]: L17-1 has no Hoare annotation [2020-07-08 23:37:16,818 WARN L170 areAnnotationChecker]: L35-1 has no Hoare annotation [2020-07-08 23:37:16,818 WARN L170 areAnnotationChecker]: L18 has no Hoare annotation [2020-07-08 23:37:16,818 WARN L170 areAnnotationChecker]: L35-2 has no Hoare annotation [2020-07-08 23:37:16,819 WARN L170 areAnnotationChecker]: L20 has no Hoare annotation [2020-07-08 23:37:16,819 WARN L170 areAnnotationChecker]: L33-3 has no Hoare annotation [2020-07-08 23:37:16,819 WARN L170 areAnnotationChecker]: L20-6 has no Hoare annotation [2020-07-08 23:37:16,819 WARN L170 areAnnotationChecker]: L20-6 has no Hoare annotation [2020-07-08 23:37:16,819 WARN L170 areAnnotationChecker]: L20-6 has no Hoare annotation [2020-07-08 23:37:16,819 WARN L170 areAnnotationChecker]: L33-4 has no Hoare annotation [2020-07-08 23:37:16,819 WARN L170 areAnnotationChecker]: L20-7 has no Hoare annotation [2020-07-08 23:37:16,819 WARN L170 areAnnotationChecker]: L21 has no Hoare annotation [2020-07-08 23:37:16,819 WARN L170 areAnnotationChecker]: L33-5 has no Hoare annotation [2020-07-08 23:37:16,820 WARN L170 areAnnotationChecker]: L23 has no Hoare annotation [2020-07-08 23:37:16,820 WARN L170 areAnnotationChecker]: L21-1 has no Hoare annotation [2020-07-08 23:37:16,820 WARN L170 areAnnotationChecker]: L33-6 has no Hoare annotation [2020-07-08 23:37:16,820 WARN L170 areAnnotationChecker]: L33-6 has no Hoare annotation [2020-07-08 23:37:16,820 WARN L170 areAnnotationChecker]: L33-6 has no Hoare annotation [2020-07-08 23:37:16,820 WARN L170 areAnnotationChecker]: L27 has no Hoare annotation [2020-07-08 23:37:16,820 WARN L170 areAnnotationChecker]: L21-2 has no Hoare annotation [2020-07-08 23:37:16,820 WARN L170 areAnnotationChecker]: L33-7 has no Hoare annotation [2020-07-08 23:37:16,820 WARN L170 areAnnotationChecker]: L34 has no Hoare annotation [2020-07-08 23:37:16,821 WARN L170 areAnnotationChecker]: L27-6 has no Hoare annotation [2020-07-08 23:37:16,821 WARN L170 areAnnotationChecker]: L27-6 has no Hoare annotation [2020-07-08 23:37:16,821 WARN L170 areAnnotationChecker]: L27-6 has no Hoare annotation [2020-07-08 23:37:16,821 WARN L170 areAnnotationChecker]: L20-3 has no Hoare annotation [2020-07-08 23:37:16,821 WARN L170 areAnnotationChecker]: L16-2 has no Hoare annotation [2020-07-08 23:37:16,821 WARN L170 areAnnotationChecker]: L34-1 has no Hoare annotation [2020-07-08 23:37:16,821 WARN L170 areAnnotationChecker]: L27-7 has no Hoare annotation [2020-07-08 23:37:16,822 WARN L170 areAnnotationChecker]: L28 has no Hoare annotation [2020-07-08 23:37:16,822 WARN L170 areAnnotationChecker]: L20-4 has no Hoare annotation [2020-07-08 23:37:16,822 WARN L170 areAnnotationChecker]: L16-3 has no Hoare annotation [2020-07-08 23:37:16,822 WARN L170 areAnnotationChecker]: L34-2 has no Hoare annotation [2020-07-08 23:37:16,822 WARN L170 areAnnotationChecker]: L34-2 has no Hoare annotation [2020-07-08 23:37:16,822 WARN L170 areAnnotationChecker]: L33 has no Hoare annotation [2020-07-08 23:37:16,822 WARN L170 areAnnotationChecker]: L28-1 has no Hoare annotation [2020-07-08 23:37:16,822 WARN L170 areAnnotationChecker]: L20-5 has no Hoare annotation [2020-07-08 23:37:16,823 WARN L170 areAnnotationChecker]: L16-4 has no Hoare annotation [2020-07-08 23:37:16,823 WARN L170 areAnnotationChecker]: L28-2 has no Hoare annotation [2020-07-08 23:37:16,823 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2020-07-08 23:37:16,823 WARN L170 areAnnotationChecker]: L29 has no Hoare annotation [2020-07-08 23:37:16,823 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2020-07-08 23:37:16,823 WARN L170 areAnnotationChecker]: L29-1 has no Hoare annotation [2020-07-08 23:37:16,823 WARN L170 areAnnotationChecker]: L29-2 has no Hoare annotation [2020-07-08 23:37:16,823 WARN L170 areAnnotationChecker]: L27-3 has no Hoare annotation [2020-07-08 23:37:16,823 WARN L170 areAnnotationChecker]: L27-4 has no Hoare annotation [2020-07-08 23:37:16,824 WARN L170 areAnnotationChecker]: L27-5 has no Hoare annotation [2020-07-08 23:37:16,824 INFO L163 areAnnotationChecker]: CFG has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2020-07-08 23:37:16,828 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 08.07 11:37:16 BoogieIcfgContainer [2020-07-08 23:37:16,829 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2020-07-08 23:37:16,833 INFO L168 Benchmark]: Toolchain (without parser) took 34813.05 ms. Allocated memory was 136.3 MB in the beginning and 478.2 MB in the end (delta: 341.8 MB). Free memory was 100.5 MB in the beginning and 92.2 MB in the end (delta: 8.4 MB). Peak memory consumption was 350.2 MB. Max. memory is 7.1 GB. [2020-07-08 23:37:16,834 INFO L168 Benchmark]: CDTParser took 1.50 ms. Allocated memory is still 136.3 MB. Free memory was 118.5 MB in the beginning and 118.3 MB in the end (delta: 209.9 kB). Peak memory consumption was 209.9 kB. Max. memory is 7.1 GB. [2020-07-08 23:37:16,835 INFO L168 Benchmark]: CACSL2BoogieTranslator took 338.09 ms. Allocated memory is still 136.3 MB. Free memory was 100.3 MB in the beginning and 89.5 MB in the end (delta: 10.8 MB). Peak memory consumption was 10.8 MB. Max. memory is 7.1 GB. [2020-07-08 23:37:16,835 INFO L168 Benchmark]: Boogie Preprocessor took 165.05 ms. Allocated memory was 136.3 MB in the beginning and 201.3 MB in the end (delta: 65.0 MB). Free memory was 89.5 MB in the beginning and 179.4 MB in the end (delta: -89.8 MB). Peak memory consumption was 14.5 MB. Max. memory is 7.1 GB. [2020-07-08 23:37:16,836 INFO L168 Benchmark]: RCFGBuilder took 633.22 ms. Allocated memory is still 201.3 MB. Free memory was 178.7 MB in the beginning and 150.0 MB in the end (delta: 28.7 MB). Peak memory consumption was 28.7 MB. Max. memory is 7.1 GB. [2020-07-08 23:37:16,836 INFO L168 Benchmark]: TraceAbstraction took 33669.10 ms. Allocated memory was 201.3 MB in the beginning and 478.2 MB in the end (delta: 276.8 MB). Free memory was 149.3 MB in the beginning and 92.2 MB in the end (delta: 57.2 MB). Peak memory consumption was 334.0 MB. Max. memory is 7.1 GB. [2020-07-08 23:37:16,839 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 1.50 ms. Allocated memory is still 136.3 MB. Free memory was 118.5 MB in the beginning and 118.3 MB in the end (delta: 209.9 kB). Peak memory consumption was 209.9 kB. Max. memory is 7.1 GB. * CACSL2BoogieTranslator took 338.09 ms. Allocated memory is still 136.3 MB. Free memory was 100.3 MB in the beginning and 89.5 MB in the end (delta: 10.8 MB). Peak memory consumption was 10.8 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 165.05 ms. Allocated memory was 136.3 MB in the beginning and 201.3 MB in the end (delta: 65.0 MB). Free memory was 89.5 MB in the beginning and 179.4 MB in the end (delta: -89.8 MB). Peak memory consumption was 14.5 MB. Max. memory is 7.1 GB. * RCFGBuilder took 633.22 ms. Allocated memory is still 201.3 MB. Free memory was 178.7 MB in the beginning and 150.0 MB in the end (delta: 28.7 MB). Peak memory consumption was 28.7 MB. Max. memory is 7.1 GB. * TraceAbstraction took 33669.10 ms. Allocated memory was 201.3 MB in the beginning and 478.2 MB in the end (delta: 276.8 MB). Free memory was 149.3 MB in the beginning and 92.2 MB in the end (delta: 57.2 MB). Peak memory consumption was 334.0 MB. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - CounterExampleResult [Line: 6]: a call of __VERIFIER_error() is reachable a call of __VERIFIER_error() is reachable We found a FailurePath: [L14] int MAX = __VERIFIER_nondet_uint(); VAL [__VERIFIER_nondet_uint()=2, MAX=2] [L15] COND FALSE !(!(MAX > 0)) VAL [MAX=2] [L16] char str1[MAX], str2[MAX]; VAL [MAX=2, str1={4:0}, str2={3:0}] [L17] int cont, i, j; VAL [MAX=2, str1={4:0}, str2={3:0}] [L18] cont = 0 VAL [cont=0, MAX=2, str1={4:0}, str2={3:0}] [L20] i=0 VAL [cont=0, i=0, MAX=2, str1={4:0}, str2={3:0}] [L20] COND TRUE i= 0 VAL [cont=0, i=1, j=0, MAX=2, str1={4:0}, str2={3:0}] [L28] EXPR str1[0] VAL [cont=0, i=1, j=0, MAX=2, str1={4:0}, str1[0]=-1, str2={3:0}] [L28] str2[j] = str1[0] VAL [cont=0, i=1, j=0, MAX=2, str1={4:0}, str1[0]=-1, str2={3:0}] [L29] j++ VAL [cont=0, i=1, j=1, MAX=2, str1={4:0}, str2={3:0}] [L27] i-- VAL [cont=0, i=0, j=1, MAX=2, str1={4:0}, str2={3:0}] [L27] COND TRUE i >= 0 VAL [cont=0, i=0, j=1, MAX=2, str1={4:0}, str2={3:0}] [L28] EXPR str1[0] VAL [cont=0, i=0, j=1, MAX=2, str1={4:0}, str1[0]=-1, str2={3:0}] [L28] str2[j] = str1[0] VAL [cont=0, i=0, j=1, MAX=2, str1={4:0}, str1[0]=-1, str2={3:0}] [L29] j++ VAL [cont=0, i=0, j=2, MAX=2, str1={4:0}, str2={3:0}] [L27] i-- VAL [cont=0, i=-1, j=2, MAX=2, str1={4:0}, str2={3:0}] [L27] COND FALSE !(i >= 0) VAL [cont=0, i=-1, j=2, MAX=2, str1={4:0}, str2={3:0}] [L32] j = MAX-1 VAL [cont=0, i=-1, j=1, MAX=2, str1={4:0}, str2={3:0}] [L33] i=0 VAL [cont=0, i=0, j=1, MAX=2, str1={4:0}, str2={3:0}] [L33] COND TRUE i