/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-267fbe0 [2020-07-18 06:33:55,429 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-18 06:33:55,432 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-18 06:33:55,450 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-18 06:33:55,450 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-18 06:33:55,452 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-18 06:33:55,454 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-18 06:33:55,464 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-18 06:33:55,468 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-18 06:33:55,471 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-18 06:33:55,473 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-18 06:33:55,475 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-18 06:33:55,476 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-18 06:33:55,478 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-18 06:33:55,480 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-18 06:33:55,482 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-18 06:33:55,483 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-18 06:33:55,484 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-18 06:33:55,485 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-18 06:33:55,490 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-18 06:33:55,495 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-18 06:33:55,499 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-18 06:33:55,500 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-18 06:33:55,501 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-18 06:33:55,503 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-18 06:33:55,503 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-18 06:33:55,503 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-18 06:33:55,506 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-18 06:33:55,507 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-18 06:33:55,508 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-18 06:33:55,508 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-18 06:33:55,509 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-18 06:33:55,510 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-18 06:33:55,511 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-18 06:33:55,512 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-18 06:33:55,512 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-18 06:33:55,513 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-18 06:33:55,514 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-18 06:33:55,514 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-18 06:33:55,515 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-18 06:33:55,516 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-18 06:33:55,517 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationFastUPR_32.epf [2020-07-18 06:33:55,540 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-18 06:33:55,541 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-18 06:33:55,543 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-18 06:33:55,543 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-18 06:33:55,543 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2020-07-18 06:33:55,543 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-18 06:33:55,543 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-18 06:33:55,544 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-18 06:33:55,544 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-18 06:33:55,544 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-18 06:33:55,545 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-18 06:33:55,545 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-18 06:33:55,546 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-18 06:33:55,546 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-18 06:33:55,546 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-18 06:33:55,546 INFO L138 SettingsManager]: * Size of a code block=SingleStatement [2020-07-18 06:33:55,547 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-18 06:33:55,547 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-18 06:33:55,547 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-18 06:33:55,547 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-18 06:33:55,547 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=AcceleratedInterpolation [2020-07-18 06:33:55,548 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-18 06:33:55,548 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-18 06:33:55,814 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-18 06:33:55,828 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-18 06:33:55,831 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-18 06:33:55,833 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-18 06:33:55,833 INFO L275 PluginConnector]: CDTParser initialized [2020-07-18 06:33:55,834 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-18 06:33:55,900 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c127c62dd/247cf9fa006f46369bc45a1e7fa5667e/FLAGa67cf3009 [2020-07-18 06:33:56,353 INFO L306 CDTParser]: Found 1 translation units. [2020-07-18 06:33:56,354 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/loops/invert_string-1.c [2020-07-18 06:33:56,360 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c127c62dd/247cf9fa006f46369bc45a1e7fa5667e/FLAGa67cf3009 [2020-07-18 06:33:56,738 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c127c62dd/247cf9fa006f46369bc45a1e7fa5667e [2020-07-18 06:33:56,749 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-18 06:33:56,752 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2020-07-18 06:33:56,756 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-18 06:33:56,757 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-18 06:33:56,760 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-18 06:33:56,762 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 18.07 06:33:56" (1/1) ... [2020-07-18 06:33:56,765 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@795371e8 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 06:33:56, skipping insertion in model container [2020-07-18 06:33:56,765 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 18.07 06:33:56" (1/1) ... [2020-07-18 06:33:56,774 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-18 06:33:56,798 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-18 06:33:57,015 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-18 06:33:57,020 INFO L203 MainTranslator]: Completed pre-run [2020-07-18 06:33:57,047 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-18 06:33:57,068 INFO L208 MainTranslator]: Completed translation [2020-07-18 06:33:57,069 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 06:33:57 WrapperNode [2020-07-18 06:33:57,069 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-18 06:33:57,070 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-18 06:33:57,070 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-18 06:33:57,070 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-18 06:33:57,173 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 06:33:57" (1/1) ... [2020-07-18 06:33:57,173 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 06:33:57" (1/1) ... [2020-07-18 06:33:57,183 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 06:33:57" (1/1) ... [2020-07-18 06:33:57,183 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 06:33:57" (1/1) ... [2020-07-18 06:33:57,207 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 06:33:57" (1/1) ... [2020-07-18 06:33:57,220 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 06:33:57" (1/1) ... [2020-07-18 06:33:57,225 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 06:33:57" (1/1) ... [2020-07-18 06:33:57,228 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-18 06:33:57,232 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-18 06:33:57,232 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-18 06:33:57,232 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-18 06:33:57,233 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 06:33:57" (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-18 06:33:57,289 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2020-07-18 06:33:57,289 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-18 06:33:57,289 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2020-07-18 06:33:57,289 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2020-07-18 06:33:57,289 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2020-07-18 06:33:57,289 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2020-07-18 06:33:57,289 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2020-07-18 06:33:57,290 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_char [2020-07-18 06:33:57,290 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_uint [2020-07-18 06:33:57,290 INFO L130 BoogieDeclarations]: Found specification of procedure main [2020-07-18 06:33:57,290 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2020-07-18 06:33:57,290 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2020-07-18 06:33:57,290 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2020-07-18 06:33:57,290 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2020-07-18 06:33:57,291 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2020-07-18 06:33:57,291 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-18 06:33:57,791 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-18 06:33:57,791 INFO L295 CfgBuilder]: Removed 3 assume(true) statements. [2020-07-18 06:33:57,796 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 18.07 06:33:57 BoogieIcfgContainer [2020-07-18 06:33:57,796 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-18 06:33:57,797 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-18 06:33:57,798 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-18 06:33:57,801 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-18 06:33:57,802 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 18.07 06:33:56" (1/3) ... [2020-07-18 06:33:57,803 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@747c145b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 18.07 06:33:57, skipping insertion in model container [2020-07-18 06:33:57,803 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 06:33:57" (2/3) ... [2020-07-18 06:33:57,803 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@747c145b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 18.07 06:33:57, skipping insertion in model container [2020-07-18 06:33:57,804 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 18.07 06:33:57" (3/3) ... [2020-07-18 06:33:57,805 INFO L109 eAbstractionObserver]: Analyzing ICFG invert_string-1.c [2020-07-18 06:33:57,817 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2020-07-18 06:33:57,826 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2020-07-18 06:33:57,840 INFO L251 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2020-07-18 06:33:57,863 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-18 06:33:57,863 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-18 06:33:57,864 INFO L377 AbstractCegarLoop]: Compute interpolants for Craig_NestedInterpolation [2020-07-18 06:33:57,864 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-18 06:33:57,864 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-18 06:33:57,864 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-18 06:33:57,865 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-18 06:33:57,865 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-18 06:33:57,878 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states. [2020-07-18 06:33:57,889 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2020-07-18 06:33:57,889 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 06:33:57,890 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-18 06:33:57,890 INFO L427 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 06:33:57,895 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 06:33:57,896 INFO L82 PathProgramCache]: Analyzing trace with hash -1584943199, now seen corresponding path program 1 times [2020-07-18 06:33:57,905 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 06:33:57,905 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [297188962] [2020-07-18 06:33:57,906 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 06:33:58,014 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:33:58,129 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:33:58,148 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-18 06:33:58,149 INFO L280 TraceCheckUtils]: 1: Hoare triple {69#true} #valid := #valid[0 := 0]; {69#true} is VALID [2020-07-18 06:33:58,150 INFO L280 TraceCheckUtils]: 2: Hoare triple {69#true} assume 0 < #StackHeapBarrier; {69#true} is VALID [2020-07-18 06:33:58,150 INFO L280 TraceCheckUtils]: 3: Hoare triple {69#true} assume true; {69#true} is VALID [2020-07-18 06:33:58,151 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {69#true} {69#true} #107#return; {69#true} is VALID [2020-07-18 06:33:58,154 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-18 06:33:58,155 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-18 06:33:58,155 INFO L280 TraceCheckUtils]: 2: Hoare triple {69#true} #valid := #valid[0 := 0]; {69#true} is VALID [2020-07-18 06:33:58,156 INFO L280 TraceCheckUtils]: 3: Hoare triple {69#true} assume 0 < #StackHeapBarrier; {69#true} is VALID [2020-07-18 06:33:58,156 INFO L280 TraceCheckUtils]: 4: Hoare triple {69#true} assume true; {69#true} is VALID [2020-07-18 06:33:58,156 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {69#true} {69#true} #107#return; {69#true} is VALID [2020-07-18 06:33:58,157 INFO L263 TraceCheckUtils]: 6: Hoare triple {69#true} call #t~ret10 := main(); {69#true} is VALID [2020-07-18 06:33:58,157 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-18 06:33:58,158 INFO L280 TraceCheckUtils]: 8: Hoare triple {69#true} havoc #t~nondet0; {69#true} is VALID [2020-07-18 06:33:58,158 INFO L280 TraceCheckUtils]: 9: Hoare triple {69#true} assume !!(~MAX~0 > 0); {69#true} is VALID [2020-07-18 06:33:58,159 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-18 06:33:58,159 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-18 06:33:58,159 INFO L280 TraceCheckUtils]: 12: Hoare triple {69#true} havoc ~cont~0; {69#true} is VALID [2020-07-18 06:33:58,160 INFO L280 TraceCheckUtils]: 13: Hoare triple {69#true} havoc ~i~0; {69#true} is VALID [2020-07-18 06:33:58,160 INFO L280 TraceCheckUtils]: 14: Hoare triple {69#true} havoc ~j~0; {69#true} is VALID [2020-07-18 06:33:58,161 INFO L280 TraceCheckUtils]: 15: Hoare triple {69#true} ~cont~0 := 0; {69#true} is VALID [2020-07-18 06:33:58,161 INFO L280 TraceCheckUtils]: 16: Hoare triple {69#true} ~i~0 := 0; {69#true} is VALID [2020-07-18 06:33:58,163 INFO L280 TraceCheckUtils]: 17: Hoare triple {69#true} assume !true; {70#false} is VALID [2020-07-18 06:33:58,163 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-18 06:33:58,164 INFO L280 TraceCheckUtils]: 19: Hoare triple {70#false} ~j~0 := 0; {70#false} is VALID [2020-07-18 06:33:58,164 INFO L280 TraceCheckUtils]: 20: Hoare triple {70#false} ~i~0 := ~MAX~0 - 1; {70#false} is VALID [2020-07-18 06:33:58,165 INFO L280 TraceCheckUtils]: 21: Hoare triple {70#false} assume !(~i~0 >= 0); {70#false} is VALID [2020-07-18 06:33:58,165 INFO L280 TraceCheckUtils]: 22: Hoare triple {70#false} ~j~0 := ~MAX~0 - 1; {70#false} is VALID [2020-07-18 06:33:58,166 INFO L280 TraceCheckUtils]: 23: Hoare triple {70#false} ~i~0 := 0; {70#false} is VALID [2020-07-18 06:33:58,166 INFO L280 TraceCheckUtils]: 24: Hoare triple {70#false} assume !!(~i~0 < ~MAX~0); {70#false} is VALID [2020-07-18 06:33:58,166 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-18 06:33:58,167 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-18 06:33:58,167 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-18 06:33:58,168 INFO L280 TraceCheckUtils]: 28: Hoare triple {70#false} ~cond := #in~cond; {70#false} is VALID [2020-07-18 06:33:58,168 INFO L280 TraceCheckUtils]: 29: Hoare triple {70#false} assume 0 == ~cond; {70#false} is VALID [2020-07-18 06:33:58,168 INFO L280 TraceCheckUtils]: 30: Hoare triple {70#false} assume !false; {70#false} is VALID [2020-07-18 06:33:58,173 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-18 06:33:58,174 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [297188962] [2020-07-18 06:33:58,176 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-18 06:33:58,177 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2020-07-18 06:33:58,178 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1438272701] [2020-07-18 06:33:58,185 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 31 [2020-07-18 06:33:58,188 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 06:33:58,193 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2020-07-18 06:33:58,252 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-18 06:33:58,253 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2020-07-18 06:33:58,253 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 06:33:58,263 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2020-07-18 06:33:58,264 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2020-07-18 06:33:58,267 INFO L87 Difference]: Start difference. First operand 66 states. Second operand 3 states. [2020-07-18 06:33:58,668 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:33:58,669 INFO L93 Difference]: Finished difference Result 121 states and 135 transitions. [2020-07-18 06:33:58,669 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2020-07-18 06:33:58,669 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 31 [2020-07-18 06:33:58,670 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 06:33:58,671 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2020-07-18 06:33:58,684 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 135 transitions. [2020-07-18 06:33:58,684 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2020-07-18 06:33:58,690 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 135 transitions. [2020-07-18 06:33:58,690 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 135 transitions. [2020-07-18 06:33:58,867 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-18 06:33:58,882 INFO L225 Difference]: With dead ends: 121 [2020-07-18 06:33:58,882 INFO L226 Difference]: Without dead ends: 57 [2020-07-18 06:33:58,887 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-18 06:33:58,907 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2020-07-18 06:33:58,974 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 57. [2020-07-18 06:33:58,975 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 06:33:58,976 INFO L82 GeneralOperation]: Start isEquivalent. First operand 57 states. Second operand 57 states. [2020-07-18 06:33:58,976 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand 57 states. [2020-07-18 06:33:58,976 INFO L87 Difference]: Start difference. First operand 57 states. Second operand 57 states. [2020-07-18 06:33:58,982 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:33:58,982 INFO L93 Difference]: Finished difference Result 57 states and 59 transitions. [2020-07-18 06:33:58,983 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 59 transitions. [2020-07-18 06:33:58,984 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:33:58,984 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:33:58,984 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand 57 states. [2020-07-18 06:33:58,984 INFO L87 Difference]: Start difference. First operand 57 states. Second operand 57 states. [2020-07-18 06:33:58,990 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:33:58,990 INFO L93 Difference]: Finished difference Result 57 states and 59 transitions. [2020-07-18 06:33:58,991 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 59 transitions. [2020-07-18 06:33:58,992 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:33:58,992 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:33:58,992 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 06:33:58,992 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 06:33:58,993 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 57 states. [2020-07-18 06:33:58,996 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 59 transitions. [2020-07-18 06:33:58,999 INFO L78 Accepts]: Start accepts. Automaton has 57 states and 59 transitions. Word has length 31 [2020-07-18 06:33:58,999 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 06:33:58,999 INFO L479 AbstractCegarLoop]: Abstraction has 57 states and 59 transitions. [2020-07-18 06:33:58,999 INFO L480 AbstractCegarLoop]: Interpolant automaton has 3 states. [2020-07-18 06:33:59,000 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 57 states and 59 transitions. [2020-07-18 06:33:59,099 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-18 06:33:59,100 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 59 transitions. [2020-07-18 06:33:59,103 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2020-07-18 06:33:59,104 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 06:33:59,104 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-18 06:33:59,105 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2020-07-18 06:33:59,105 INFO L427 AbstractCegarLoop]: === Iteration 2 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 06:33:59,107 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 06:33:59,107 INFO L82 PathProgramCache]: Analyzing trace with hash -318765620, now seen corresponding path program 1 times [2020-07-18 06:33:59,107 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 06:33:59,108 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1850402395] [2020-07-18 06:33:59,108 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 06:33:59,173 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:33:59,266 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:33:59,283 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-18 06:33:59,283 INFO L280 TraceCheckUtils]: 1: Hoare triple {549#true} #valid := #valid[0 := 0]; {549#true} is VALID [2020-07-18 06:33:59,284 INFO L280 TraceCheckUtils]: 2: Hoare triple {549#true} assume 0 < #StackHeapBarrier; {549#true} is VALID [2020-07-18 06:33:59,284 INFO L280 TraceCheckUtils]: 3: Hoare triple {549#true} assume true; {549#true} is VALID [2020-07-18 06:33:59,284 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {549#true} {549#true} #107#return; {549#true} is VALID [2020-07-18 06:33:59,286 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-18 06:33:59,286 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-18 06:33:59,286 INFO L280 TraceCheckUtils]: 2: Hoare triple {549#true} #valid := #valid[0 := 0]; {549#true} is VALID [2020-07-18 06:33:59,287 INFO L280 TraceCheckUtils]: 3: Hoare triple {549#true} assume 0 < #StackHeapBarrier; {549#true} is VALID [2020-07-18 06:33:59,287 INFO L280 TraceCheckUtils]: 4: Hoare triple {549#true} assume true; {549#true} is VALID [2020-07-18 06:33:59,287 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {549#true} {549#true} #107#return; {549#true} is VALID [2020-07-18 06:33:59,288 INFO L263 TraceCheckUtils]: 6: Hoare triple {549#true} call #t~ret10 := main(); {549#true} is VALID [2020-07-18 06:33:59,288 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-18 06:33:59,288 INFO L280 TraceCheckUtils]: 8: Hoare triple {549#true} havoc #t~nondet0; {549#true} is VALID [2020-07-18 06:33:59,290 INFO L280 TraceCheckUtils]: 9: Hoare triple {549#true} assume !!(~MAX~0 > 0); {556#(<= 1 main_~MAX~0)} is VALID [2020-07-18 06:33:59,297 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-18 06:33:59,298 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-18 06:33:59,298 INFO L280 TraceCheckUtils]: 12: Hoare triple {556#(<= 1 main_~MAX~0)} havoc ~cont~0; {556#(<= 1 main_~MAX~0)} is VALID [2020-07-18 06:33:59,299 INFO L280 TraceCheckUtils]: 13: Hoare triple {556#(<= 1 main_~MAX~0)} havoc ~i~0; {556#(<= 1 main_~MAX~0)} is VALID [2020-07-18 06:33:59,300 INFO L280 TraceCheckUtils]: 14: Hoare triple {556#(<= 1 main_~MAX~0)} havoc ~j~0; {556#(<= 1 main_~MAX~0)} is VALID [2020-07-18 06:33:59,301 INFO L280 TraceCheckUtils]: 15: Hoare triple {556#(<= 1 main_~MAX~0)} ~cont~0 := 0; {556#(<= 1 main_~MAX~0)} is VALID [2020-07-18 06:33:59,302 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-18 06:33:59,304 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-18 06:33:59,304 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-18 06:33:59,305 INFO L280 TraceCheckUtils]: 19: Hoare triple {550#false} ~j~0 := 0; {550#false} is VALID [2020-07-18 06:33:59,305 INFO L280 TraceCheckUtils]: 20: Hoare triple {550#false} ~i~0 := ~MAX~0 - 1; {550#false} is VALID [2020-07-18 06:33:59,306 INFO L280 TraceCheckUtils]: 21: Hoare triple {550#false} assume !(~i~0 >= 0); {550#false} is VALID [2020-07-18 06:33:59,306 INFO L280 TraceCheckUtils]: 22: Hoare triple {550#false} ~j~0 := ~MAX~0 - 1; {550#false} is VALID [2020-07-18 06:33:59,306 INFO L280 TraceCheckUtils]: 23: Hoare triple {550#false} ~i~0 := 0; {550#false} is VALID [2020-07-18 06:33:59,307 INFO L280 TraceCheckUtils]: 24: Hoare triple {550#false} assume !!(~i~0 < ~MAX~0); {550#false} is VALID [2020-07-18 06:33:59,307 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-18 06:33:59,310 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-18 06:33:59,310 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-18 06:33:59,311 INFO L280 TraceCheckUtils]: 28: Hoare triple {550#false} ~cond := #in~cond; {550#false} is VALID [2020-07-18 06:33:59,311 INFO L280 TraceCheckUtils]: 29: Hoare triple {550#false} assume 0 == ~cond; {550#false} is VALID [2020-07-18 06:33:59,312 INFO L280 TraceCheckUtils]: 30: Hoare triple {550#false} assume !false; {550#false} is VALID [2020-07-18 06:33:59,314 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-18 06:33:59,315 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1850402395] [2020-07-18 06:33:59,316 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-18 06:33:59,316 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2020-07-18 06:33:59,316 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1036312723] [2020-07-18 06:33:59,320 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 31 [2020-07-18 06:33:59,321 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 06:33:59,321 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2020-07-18 06:33:59,365 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-18 06:33:59,366 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2020-07-18 06:33:59,366 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 06:33:59,367 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2020-07-18 06:33:59,367 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2020-07-18 06:33:59,367 INFO L87 Difference]: Start difference. First operand 57 states and 59 transitions. Second operand 5 states. [2020-07-18 06:33:59,902 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:33:59,902 INFO L93 Difference]: Finished difference Result 107 states and 112 transitions. [2020-07-18 06:33:59,902 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2020-07-18 06:33:59,902 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 31 [2020-07-18 06:33:59,903 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 06:33:59,903 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-18 06:33:59,907 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 112 transitions. [2020-07-18 06:33:59,908 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-18 06:33:59,912 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 112 transitions. [2020-07-18 06:33:59,912 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 112 transitions. [2020-07-18 06:34:00,033 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-18 06:34:00,037 INFO L225 Difference]: With dead ends: 107 [2020-07-18 06:34:00,038 INFO L226 Difference]: Without dead ends: 74 [2020-07-18 06:34:00,039 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-18 06:34:00,040 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2020-07-18 06:34:00,117 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 58. [2020-07-18 06:34:00,117 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 06:34:00,118 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand 58 states. [2020-07-18 06:34:00,118 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand 58 states. [2020-07-18 06:34:00,118 INFO L87 Difference]: Start difference. First operand 74 states. Second operand 58 states. [2020-07-18 06:34:00,123 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:34:00,123 INFO L93 Difference]: Finished difference Result 74 states and 77 transitions. [2020-07-18 06:34:00,123 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 77 transitions. [2020-07-18 06:34:00,125 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:34:00,125 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:34:00,125 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand 74 states. [2020-07-18 06:34:00,125 INFO L87 Difference]: Start difference. First operand 58 states. Second operand 74 states. [2020-07-18 06:34:00,130 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:34:00,130 INFO L93 Difference]: Finished difference Result 74 states and 77 transitions. [2020-07-18 06:34:00,130 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 77 transitions. [2020-07-18 06:34:00,131 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:34:00,131 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:34:00,132 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 06:34:00,132 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 06:34:00,132 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 58 states. [2020-07-18 06:34:00,134 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 58 states to 58 states and 60 transitions. [2020-07-18 06:34:00,135 INFO L78 Accepts]: Start accepts. Automaton has 58 states and 60 transitions. Word has length 31 [2020-07-18 06:34:00,135 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 06:34:00,135 INFO L479 AbstractCegarLoop]: Abstraction has 58 states and 60 transitions. [2020-07-18 06:34:00,135 INFO L480 AbstractCegarLoop]: Interpolant automaton has 5 states. [2020-07-18 06:34:00,136 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 58 states and 60 transitions. [2020-07-18 06:34:00,206 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-18 06:34:00,206 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 60 transitions. [2020-07-18 06:34:00,208 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2020-07-18 06:34:00,209 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 06:34:00,209 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-18 06:34:00,209 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2020-07-18 06:34:00,210 INFO L427 AbstractCegarLoop]: === Iteration 3 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 06:34:00,210 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 06:34:00,210 INFO L82 PathProgramCache]: Analyzing trace with hash -1837873718, now seen corresponding path program 1 times [2020-07-18 06:34:00,210 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 06:34:00,211 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1038680668] [2020-07-18 06:34:00,211 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 06:34:00,239 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:34:00,298 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:34:00,303 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-18 06:34:00,303 INFO L280 TraceCheckUtils]: 1: Hoare triple {1041#true} #valid := #valid[0 := 0]; {1041#true} is VALID [2020-07-18 06:34:00,304 INFO L280 TraceCheckUtils]: 2: Hoare triple {1041#true} assume 0 < #StackHeapBarrier; {1041#true} is VALID [2020-07-18 06:34:00,304 INFO L280 TraceCheckUtils]: 3: Hoare triple {1041#true} assume true; {1041#true} is VALID [2020-07-18 06:34:00,304 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {1041#true} {1041#true} #107#return; {1041#true} is VALID [2020-07-18 06:34:00,305 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-18 06:34:00,306 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-18 06:34:00,306 INFO L280 TraceCheckUtils]: 2: Hoare triple {1041#true} #valid := #valid[0 := 0]; {1041#true} is VALID [2020-07-18 06:34:00,306 INFO L280 TraceCheckUtils]: 3: Hoare triple {1041#true} assume 0 < #StackHeapBarrier; {1041#true} is VALID [2020-07-18 06:34:00,306 INFO L280 TraceCheckUtils]: 4: Hoare triple {1041#true} assume true; {1041#true} is VALID [2020-07-18 06:34:00,307 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {1041#true} {1041#true} #107#return; {1041#true} is VALID [2020-07-18 06:34:00,307 INFO L263 TraceCheckUtils]: 6: Hoare triple {1041#true} call #t~ret10 := main(); {1041#true} is VALID [2020-07-18 06:34:00,307 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-18 06:34:00,308 INFO L280 TraceCheckUtils]: 8: Hoare triple {1041#true} havoc #t~nondet0; {1041#true} is VALID [2020-07-18 06:34:00,309 INFO L280 TraceCheckUtils]: 9: Hoare triple {1041#true} assume !!(~MAX~0 > 0); {1048#(<= 1 main_~MAX~0)} is VALID [2020-07-18 06:34:00,309 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-18 06:34:00,310 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-18 06:34:00,311 INFO L280 TraceCheckUtils]: 12: Hoare triple {1048#(<= 1 main_~MAX~0)} havoc ~cont~0; {1048#(<= 1 main_~MAX~0)} is VALID [2020-07-18 06:34:00,311 INFO L280 TraceCheckUtils]: 13: Hoare triple {1048#(<= 1 main_~MAX~0)} havoc ~i~0; {1048#(<= 1 main_~MAX~0)} is VALID [2020-07-18 06:34:00,312 INFO L280 TraceCheckUtils]: 14: Hoare triple {1048#(<= 1 main_~MAX~0)} havoc ~j~0; {1048#(<= 1 main_~MAX~0)} is VALID [2020-07-18 06:34:00,312 INFO L280 TraceCheckUtils]: 15: Hoare triple {1048#(<= 1 main_~MAX~0)} ~cont~0 := 0; {1048#(<= 1 main_~MAX~0)} is VALID [2020-07-18 06:34:00,313 INFO L280 TraceCheckUtils]: 16: Hoare triple {1048#(<= 1 main_~MAX~0)} ~i~0 := 0; {1048#(<= 1 main_~MAX~0)} is VALID [2020-07-18 06:34:00,314 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-18 06:34:00,314 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-18 06:34:00,315 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-18 06:34:00,316 INFO L280 TraceCheckUtils]: 20: Hoare triple {1048#(<= 1 main_~MAX~0)} havoc #t~nondet2; {1048#(<= 1 main_~MAX~0)} is VALID [2020-07-18 06:34:00,316 INFO L280 TraceCheckUtils]: 21: Hoare triple {1048#(<= 1 main_~MAX~0)} #t~post1 := ~i~0; {1048#(<= 1 main_~MAX~0)} is VALID [2020-07-18 06:34:00,317 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-18 06:34:00,318 INFO L280 TraceCheckUtils]: 23: Hoare triple {1048#(<= 1 main_~MAX~0)} havoc #t~post1; {1048#(<= 1 main_~MAX~0)} is VALID [2020-07-18 06:34:00,319 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-18 06:34:00,319 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-18 06:34:00,320 INFO L280 TraceCheckUtils]: 26: Hoare triple {1048#(<= 1 main_~MAX~0)} ~j~0 := 0; {1048#(<= 1 main_~MAX~0)} is VALID [2020-07-18 06:34:00,321 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-18 06:34:00,321 INFO L280 TraceCheckUtils]: 28: Hoare triple {1049#(<= 0 main_~i~0)} assume !(~i~0 >= 0); {1042#false} is VALID [2020-07-18 06:34:00,322 INFO L280 TraceCheckUtils]: 29: Hoare triple {1042#false} ~j~0 := ~MAX~0 - 1; {1042#false} is VALID [2020-07-18 06:34:00,322 INFO L280 TraceCheckUtils]: 30: Hoare triple {1042#false} ~i~0 := 0; {1042#false} is VALID [2020-07-18 06:34:00,322 INFO L280 TraceCheckUtils]: 31: Hoare triple {1042#false} assume !!(~i~0 < ~MAX~0); {1042#false} is VALID [2020-07-18 06:34:00,323 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-18 06:34:00,323 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-18 06:34:00,323 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-18 06:34:00,323 INFO L280 TraceCheckUtils]: 35: Hoare triple {1042#false} ~cond := #in~cond; {1042#false} is VALID [2020-07-18 06:34:00,324 INFO L280 TraceCheckUtils]: 36: Hoare triple {1042#false} assume 0 == ~cond; {1042#false} is VALID [2020-07-18 06:34:00,324 INFO L280 TraceCheckUtils]: 37: Hoare triple {1042#false} assume !false; {1042#false} is VALID [2020-07-18 06:34:00,326 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-18 06:34:00,327 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1038680668] [2020-07-18 06:34:00,327 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-18 06:34:00,327 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2020-07-18 06:34:00,327 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1111476337] [2020-07-18 06:34:00,328 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 38 [2020-07-18 06:34:00,328 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 06:34:00,329 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2020-07-18 06:34:00,364 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-18 06:34:00,364 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2020-07-18 06:34:00,365 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 06:34:00,365 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2020-07-18 06:34:00,365 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2020-07-18 06:34:00,366 INFO L87 Difference]: Start difference. First operand 58 states and 60 transitions. Second operand 5 states. [2020-07-18 06:34:00,857 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:34:00,857 INFO L93 Difference]: Finished difference Result 95 states and 99 transitions. [2020-07-18 06:34:00,858 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2020-07-18 06:34:00,858 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 38 [2020-07-18 06:34:00,858 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 06:34:00,858 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-18 06:34:00,862 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 99 transitions. [2020-07-18 06:34:00,862 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-18 06:34:00,866 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 99 transitions. [2020-07-18 06:34:00,866 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 99 transitions. [2020-07-18 06:34:00,968 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-18 06:34:00,971 INFO L225 Difference]: With dead ends: 95 [2020-07-18 06:34:00,971 INFO L226 Difference]: Without dead ends: 75 [2020-07-18 06:34:00,972 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-18 06:34:00,973 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 75 states. [2020-07-18 06:34:01,071 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 75 to 59. [2020-07-18 06:34:01,072 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 06:34:01,072 INFO L82 GeneralOperation]: Start isEquivalent. First operand 75 states. Second operand 59 states. [2020-07-18 06:34:01,072 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand 59 states. [2020-07-18 06:34:01,072 INFO L87 Difference]: Start difference. First operand 75 states. Second operand 59 states. [2020-07-18 06:34:01,076 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:34:01,077 INFO L93 Difference]: Finished difference Result 75 states and 78 transitions. [2020-07-18 06:34:01,077 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 78 transitions. [2020-07-18 06:34:01,077 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:34:01,078 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:34:01,078 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand 75 states. [2020-07-18 06:34:01,078 INFO L87 Difference]: Start difference. First operand 59 states. Second operand 75 states. [2020-07-18 06:34:01,082 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:34:01,082 INFO L93 Difference]: Finished difference Result 75 states and 78 transitions. [2020-07-18 06:34:01,082 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 78 transitions. [2020-07-18 06:34:01,083 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:34:01,083 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:34:01,083 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 06:34:01,083 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 06:34:01,084 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 59 states. [2020-07-18 06:34:01,086 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 61 transitions. [2020-07-18 06:34:01,086 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 61 transitions. Word has length 38 [2020-07-18 06:34:01,086 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 06:34:01,086 INFO L479 AbstractCegarLoop]: Abstraction has 59 states and 61 transitions. [2020-07-18 06:34:01,087 INFO L480 AbstractCegarLoop]: Interpolant automaton has 5 states. [2020-07-18 06:34:01,087 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 59 states and 61 transitions. [2020-07-18 06:34:01,164 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-18 06:34:01,164 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 61 transitions. [2020-07-18 06:34:01,165 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2020-07-18 06:34:01,165 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 06:34:01,166 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-18 06:34:01,166 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2020-07-18 06:34:01,166 INFO L427 AbstractCegarLoop]: === Iteration 4 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 06:34:01,166 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 06:34:01,167 INFO L82 PathProgramCache]: Analyzing trace with hash -2141827952, now seen corresponding path program 1 times [2020-07-18 06:34:01,167 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 06:34:01,167 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [2027417063] [2020-07-18 06:34:01,167 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 06:34:01,273 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:34:02,223 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:34:02,235 INFO L280 TraceCheckUtils]: 0: Hoare triple {1538#(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-18 06:34:02,236 INFO L280 TraceCheckUtils]: 1: Hoare triple {1515#true} #valid := #valid[0 := 0]; {1515#true} is VALID [2020-07-18 06:34:02,236 INFO L280 TraceCheckUtils]: 2: Hoare triple {1515#true} assume 0 < #StackHeapBarrier; {1515#true} is VALID [2020-07-18 06:34:02,236 INFO L280 TraceCheckUtils]: 3: Hoare triple {1515#true} assume true; {1515#true} is VALID [2020-07-18 06:34:02,236 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {1515#true} {1515#true} #107#return; {1515#true} is VALID [2020-07-18 06:34:02,238 INFO L263 TraceCheckUtils]: 0: Hoare triple {1515#true} call ULTIMATE.init(); {1538#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-18 06:34:02,238 INFO L280 TraceCheckUtils]: 1: Hoare triple {1538#(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-18 06:34:02,238 INFO L280 TraceCheckUtils]: 2: Hoare triple {1515#true} #valid := #valid[0 := 0]; {1515#true} is VALID [2020-07-18 06:34:02,239 INFO L280 TraceCheckUtils]: 3: Hoare triple {1515#true} assume 0 < #StackHeapBarrier; {1515#true} is VALID [2020-07-18 06:34:02,239 INFO L280 TraceCheckUtils]: 4: Hoare triple {1515#true} assume true; {1515#true} is VALID [2020-07-18 06:34:02,242 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {1515#true} {1515#true} #107#return; {1515#true} is VALID [2020-07-18 06:34:02,243 INFO L263 TraceCheckUtils]: 6: Hoare triple {1515#true} call #t~ret10 := main(); {1515#true} is VALID [2020-07-18 06:34:02,243 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-18 06:34:02,243 INFO L280 TraceCheckUtils]: 8: Hoare triple {1515#true} havoc #t~nondet0; {1515#true} is VALID [2020-07-18 06:34:02,257 INFO L280 TraceCheckUtils]: 9: Hoare triple {1515#true} assume !!(~MAX~0 > 0); {1522#(<= 1 main_~MAX~0)} is VALID [2020-07-18 06:34:02,258 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-18 06:34:02,259 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-18 06:34:02,260 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-18 06:34:02,260 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-18 06:34:02,261 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-18 06:34:02,262 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-18 06:34:02,262 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-18 06:34:02,263 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-18 06:34:02,264 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-18 06:34:02,264 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-18 06:34:02,265 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-18 06:34:02,267 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-18 06:34:02,268 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-18 06:34:02,269 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-18 06:34:02,271 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-18 06:34:02,272 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-18 06:34:02,273 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-18 06:34:02,274 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-18 06:34:02,276 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-18 06:34:02,277 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-18 06:34:02,278 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_~#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-18 06:34:02,280 INFO L280 TraceCheckUtils]: 31: Hoare triple {1531#(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~mem4; {1531#(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-18 06:34:02,281 INFO L280 TraceCheckUtils]: 32: Hoare triple {1531#(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~post5 := ~j~0; {1531#(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-18 06:34:02,283 INFO L280 TraceCheckUtils]: 33: Hoare triple {1531#(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; {1531#(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-18 06:34:02,284 INFO L280 TraceCheckUtils]: 34: Hoare triple {1531#(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; {1531#(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-18 06:34:02,286 INFO L280 TraceCheckUtils]: 35: Hoare triple {1531#(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; {1531#(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-18 06:34:02,287 INFO L280 TraceCheckUtils]: 36: Hoare triple {1531#(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; {1531#(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-18 06:34:02,289 INFO L280 TraceCheckUtils]: 37: Hoare triple {1531#(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; {1531#(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-18 06:34:02,290 INFO L280 TraceCheckUtils]: 38: Hoare triple {1531#(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); {1531#(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-18 06:34:02,291 INFO L280 TraceCheckUtils]: 39: Hoare triple {1531#(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; {1532#(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-18 06:34:02,293 INFO L280 TraceCheckUtils]: 40: Hoare triple {1532#(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; {1533#(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-18 06:34:02,294 INFO L280 TraceCheckUtils]: 41: Hoare triple {1533#(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); {1533#(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-18 06:34:02,296 INFO L280 TraceCheckUtils]: 42: Hoare triple {1533#(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 {1534#(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-18 06:34:02,297 INFO L280 TraceCheckUtils]: 43: Hoare triple {1534#(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 {1535#(= |main_#t~mem8| |main_#t~mem7|)} is VALID [2020-07-18 06:34:02,299 INFO L263 TraceCheckUtils]: 44: Hoare triple {1535#(= |main_#t~mem8| |main_#t~mem7|)} call __VERIFIER_assert((if #t~mem7 == #t~mem8 then 1 else 0)); {1536#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2020-07-18 06:34:02,300 INFO L280 TraceCheckUtils]: 45: Hoare triple {1536#(not (= 0 |__VERIFIER_assert_#in~cond|))} ~cond := #in~cond; {1537#(not (= 0 __VERIFIER_assert_~cond))} is VALID [2020-07-18 06:34:02,301 INFO L280 TraceCheckUtils]: 46: Hoare triple {1537#(not (= 0 __VERIFIER_assert_~cond))} assume 0 == ~cond; {1516#false} is VALID [2020-07-18 06:34:02,301 INFO L280 TraceCheckUtils]: 47: Hoare triple {1516#false} assume !false; {1516#false} is VALID [2020-07-18 06:34:02,314 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-18 06:34:02,315 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [2027417063] [2020-07-18 06:34:02,315 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-18 06:34:02,315 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19] total 19 [2020-07-18 06:34:02,316 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1769871065] [2020-07-18 06:34:02,316 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 48 [2020-07-18 06:34:02,317 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 06:34:02,317 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states. [2020-07-18 06:34:02,383 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-18 06:34:02,384 INFO L459 AbstractCegarLoop]: Interpolant automaton has 19 states [2020-07-18 06:34:02,384 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 06:34:02,385 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2020-07-18 06:34:02,386 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=287, Unknown=0, NotChecked=0, Total=342 [2020-07-18 06:34:02,386 INFO L87 Difference]: Start difference. First operand 59 states and 61 transitions. Second operand 19 states. [2020-07-18 06:34:06,109 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:34:06,109 INFO L93 Difference]: Finished difference Result 164 states and 173 transitions. [2020-07-18 06:34:06,109 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2020-07-18 06:34:06,110 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 48 [2020-07-18 06:34:06,110 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 06:34:06,110 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2020-07-18 06:34:06,116 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 172 transitions. [2020-07-18 06:34:06,116 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2020-07-18 06:34:06,121 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 172 transitions. [2020-07-18 06:34:06,122 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 27 states and 172 transitions. [2020-07-18 06:34:06,391 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-18 06:34:06,398 INFO L225 Difference]: With dead ends: 164 [2020-07-18 06:34:06,398 INFO L226 Difference]: Without dead ends: 162 [2020-07-18 06:34:06,399 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 44 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 40 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 357 ImplicationChecksByTransitivity, 1.5s TimeCoverageRelationStatistics Valid=353, Invalid=1369, Unknown=0, NotChecked=0, Total=1722 [2020-07-18 06:34:06,400 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 162 states. [2020-07-18 06:34:06,755 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 162 to 90. [2020-07-18 06:34:06,756 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 06:34:06,756 INFO L82 GeneralOperation]: Start isEquivalent. First operand 162 states. Second operand 90 states. [2020-07-18 06:34:06,756 INFO L74 IsIncluded]: Start isIncluded. First operand 162 states. Second operand 90 states. [2020-07-18 06:34:06,756 INFO L87 Difference]: Start difference. First operand 162 states. Second operand 90 states. [2020-07-18 06:34:06,768 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:34:06,768 INFO L93 Difference]: Finished difference Result 162 states and 171 transitions. [2020-07-18 06:34:06,769 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 171 transitions. [2020-07-18 06:34:06,769 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:34:06,769 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:34:06,770 INFO L74 IsIncluded]: Start isIncluded. First operand 90 states. Second operand 162 states. [2020-07-18 06:34:06,770 INFO L87 Difference]: Start difference. First operand 90 states. Second operand 162 states. [2020-07-18 06:34:06,780 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:34:06,781 INFO L93 Difference]: Finished difference Result 162 states and 171 transitions. [2020-07-18 06:34:06,781 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 171 transitions. [2020-07-18 06:34:06,782 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:34:06,782 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:34:06,782 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 06:34:06,782 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 06:34:06,782 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 90 states. [2020-07-18 06:34:06,786 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 90 states to 90 states and 94 transitions. [2020-07-18 06:34:06,787 INFO L78 Accepts]: Start accepts. Automaton has 90 states and 94 transitions. Word has length 48 [2020-07-18 06:34:06,787 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 06:34:06,787 INFO L479 AbstractCegarLoop]: Abstraction has 90 states and 94 transitions. [2020-07-18 06:34:06,787 INFO L480 AbstractCegarLoop]: Interpolant automaton has 19 states. [2020-07-18 06:34:06,788 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 90 states and 94 transitions. [2020-07-18 06:34:06,938 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-18 06:34:06,939 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 94 transitions. [2020-07-18 06:34:06,939 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2020-07-18 06:34:06,940 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 06:34:06,940 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-18 06:34:06,940 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2020-07-18 06:34:06,941 INFO L427 AbstractCegarLoop]: === Iteration 5 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 06:34:06,941 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 06:34:06,941 INFO L82 PathProgramCache]: Analyzing trace with hash -523876270, now seen corresponding path program 2 times [2020-07-18 06:34:06,941 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 06:34:06,941 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [891184157] [2020-07-18 06:34:06,942 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 06:34:06,958 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:34:07,061 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:34:07,071 INFO L280 TraceCheckUtils]: 0: Hoare triple {2432#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {2419#true} is VALID [2020-07-18 06:34:07,071 INFO L280 TraceCheckUtils]: 1: Hoare triple {2419#true} #valid := #valid[0 := 0]; {2419#true} is VALID [2020-07-18 06:34:07,072 INFO L280 TraceCheckUtils]: 2: Hoare triple {2419#true} assume 0 < #StackHeapBarrier; {2419#true} is VALID [2020-07-18 06:34:07,072 INFO L280 TraceCheckUtils]: 3: Hoare triple {2419#true} assume true; {2419#true} is VALID [2020-07-18 06:34:07,075 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {2419#true} {2419#true} #107#return; {2419#true} is VALID [2020-07-18 06:34:07,079 INFO L263 TraceCheckUtils]: 0: Hoare triple {2419#true} call ULTIMATE.init(); {2432#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-18 06:34:07,079 INFO L280 TraceCheckUtils]: 1: Hoare triple {2432#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {2419#true} is VALID [2020-07-18 06:34:07,079 INFO L280 TraceCheckUtils]: 2: Hoare triple {2419#true} #valid := #valid[0 := 0]; {2419#true} is VALID [2020-07-18 06:34:07,080 INFO L280 TraceCheckUtils]: 3: Hoare triple {2419#true} assume 0 < #StackHeapBarrier; {2419#true} is VALID [2020-07-18 06:34:07,080 INFO L280 TraceCheckUtils]: 4: Hoare triple {2419#true} assume true; {2419#true} is VALID [2020-07-18 06:34:07,080 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {2419#true} {2419#true} #107#return; {2419#true} is VALID [2020-07-18 06:34:07,080 INFO L263 TraceCheckUtils]: 6: Hoare triple {2419#true} call #t~ret10 := main(); {2419#true} is VALID [2020-07-18 06:34:07,081 INFO L280 TraceCheckUtils]: 7: Hoare triple {2419#true} ~MAX~0 := (if #t~nondet0 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet0 % 4294967296 % 4294967296 else #t~nondet0 % 4294967296 % 4294967296 - 4294967296); {2419#true} is VALID [2020-07-18 06:34:07,081 INFO L280 TraceCheckUtils]: 8: Hoare triple {2419#true} havoc #t~nondet0; {2419#true} is VALID [2020-07-18 06:34:07,081 INFO L280 TraceCheckUtils]: 9: Hoare triple {2419#true} assume !!(~MAX~0 > 0); {2419#true} is VALID [2020-07-18 06:34:07,081 INFO L280 TraceCheckUtils]: 10: Hoare triple {2419#true} SUMMARY for call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack(~MAX~0); srcloc: L15-3 {2419#true} is VALID [2020-07-18 06:34:07,082 INFO L280 TraceCheckUtils]: 11: Hoare triple {2419#true} SUMMARY for call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(~MAX~0); srcloc: L16 {2419#true} is VALID [2020-07-18 06:34:07,082 INFO L280 TraceCheckUtils]: 12: Hoare triple {2419#true} havoc ~cont~0; {2419#true} is VALID [2020-07-18 06:34:07,082 INFO L280 TraceCheckUtils]: 13: Hoare triple {2419#true} havoc ~i~0; {2419#true} is VALID [2020-07-18 06:34:07,082 INFO L280 TraceCheckUtils]: 14: Hoare triple {2419#true} havoc ~j~0; {2419#true} is VALID [2020-07-18 06:34:07,082 INFO L280 TraceCheckUtils]: 15: Hoare triple {2419#true} ~cont~0 := 0; {2419#true} is VALID [2020-07-18 06:34:07,084 INFO L280 TraceCheckUtils]: 16: Hoare triple {2419#true} ~i~0 := 0; {2426#(= 0 main_~i~0)} is VALID [2020-07-18 06:34:07,084 INFO L280 TraceCheckUtils]: 17: Hoare triple {2426#(= 0 main_~i~0)} assume !!(~i~0 < ~MAX~0); {2426#(= 0 main_~i~0)} is VALID [2020-07-18 06:34:07,085 INFO L280 TraceCheckUtils]: 18: Hoare triple {2426#(= 0 main_~i~0)} assume -128 <= #t~nondet2 && #t~nondet2 <= 127; {2426#(= 0 main_~i~0)} is VALID [2020-07-18 06:34:07,090 INFO L280 TraceCheckUtils]: 19: Hoare triple {2426#(= 0 main_~i~0)} SUMMARY for call write~int(#t~nondet2, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1); srcloc: L21-1 {2426#(= 0 main_~i~0)} is VALID [2020-07-18 06:34:07,091 INFO L280 TraceCheckUtils]: 20: Hoare triple {2426#(= 0 main_~i~0)} havoc #t~nondet2; {2426#(= 0 main_~i~0)} is VALID [2020-07-18 06:34:07,092 INFO L280 TraceCheckUtils]: 21: Hoare triple {2426#(= 0 main_~i~0)} #t~post1 := ~i~0; {2427#(= |main_#t~post1| 0)} is VALID [2020-07-18 06:34:07,093 INFO L280 TraceCheckUtils]: 22: Hoare triple {2427#(= |main_#t~post1| 0)} ~i~0 := 1 + #t~post1; {2428#(<= 1 main_~i~0)} is VALID [2020-07-18 06:34:07,093 INFO L280 TraceCheckUtils]: 23: Hoare triple {2428#(<= 1 main_~i~0)} havoc #t~post1; {2428#(<= 1 main_~i~0)} is VALID [2020-07-18 06:34:07,094 INFO L280 TraceCheckUtils]: 24: Hoare triple {2428#(<= 1 main_~i~0)} assume !!(~i~0 < ~MAX~0); {2429#(<= 2 main_~MAX~0)} is VALID [2020-07-18 06:34:07,094 INFO L280 TraceCheckUtils]: 25: Hoare triple {2429#(<= 2 main_~MAX~0)} assume -128 <= #t~nondet2 && #t~nondet2 <= 127; {2429#(<= 2 main_~MAX~0)} is VALID [2020-07-18 06:34:07,097 INFO L280 TraceCheckUtils]: 26: Hoare triple {2429#(<= 2 main_~MAX~0)} SUMMARY for call write~int(#t~nondet2, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1); srcloc: L21-1 {2429#(<= 2 main_~MAX~0)} is VALID [2020-07-18 06:34:07,097 INFO L280 TraceCheckUtils]: 27: Hoare triple {2429#(<= 2 main_~MAX~0)} havoc #t~nondet2; {2429#(<= 2 main_~MAX~0)} is VALID [2020-07-18 06:34:07,098 INFO L280 TraceCheckUtils]: 28: Hoare triple {2429#(<= 2 main_~MAX~0)} #t~post1 := ~i~0; {2429#(<= 2 main_~MAX~0)} is VALID [2020-07-18 06:34:07,099 INFO L280 TraceCheckUtils]: 29: Hoare triple {2429#(<= 2 main_~MAX~0)} ~i~0 := 1 + #t~post1; {2429#(<= 2 main_~MAX~0)} is VALID [2020-07-18 06:34:07,100 INFO L280 TraceCheckUtils]: 30: Hoare triple {2429#(<= 2 main_~MAX~0)} havoc #t~post1; {2429#(<= 2 main_~MAX~0)} is VALID [2020-07-18 06:34:07,102 INFO L280 TraceCheckUtils]: 31: Hoare triple {2429#(<= 2 main_~MAX~0)} assume !(~i~0 < ~MAX~0); {2429#(<= 2 main_~MAX~0)} is VALID [2020-07-18 06:34:07,103 INFO L280 TraceCheckUtils]: 32: Hoare triple {2429#(<= 2 main_~MAX~0)} SUMMARY for call write~int(0, ~#str1~0.base, ~#str1~0.offset + (~MAX~0 - 1), 1); srcloc: L20-7 {2429#(<= 2 main_~MAX~0)} is VALID [2020-07-18 06:34:07,104 INFO L280 TraceCheckUtils]: 33: Hoare triple {2429#(<= 2 main_~MAX~0)} ~j~0 := 0; {2429#(<= 2 main_~MAX~0)} is VALID [2020-07-18 06:34:07,106 INFO L280 TraceCheckUtils]: 34: Hoare triple {2429#(<= 2 main_~MAX~0)} ~i~0 := ~MAX~0 - 1; {2428#(<= 1 main_~i~0)} is VALID [2020-07-18 06:34:07,107 INFO L280 TraceCheckUtils]: 35: Hoare triple {2428#(<= 1 main_~i~0)} assume !!(~i~0 >= 0); {2428#(<= 1 main_~i~0)} is VALID [2020-07-18 06:34:07,108 INFO L280 TraceCheckUtils]: 36: Hoare triple {2428#(<= 1 main_~i~0)} SUMMARY for call #t~mem4 := read~int(~#str1~0.base, ~#str1~0.offset, 1); srcloc: L28 {2428#(<= 1 main_~i~0)} is VALID [2020-07-18 06:34:07,108 INFO L280 TraceCheckUtils]: 37: Hoare triple {2428#(<= 1 main_~i~0)} SUMMARY for call write~int(#t~mem4, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1); srcloc: L28-1 {2428#(<= 1 main_~i~0)} is VALID [2020-07-18 06:34:07,109 INFO L280 TraceCheckUtils]: 38: Hoare triple {2428#(<= 1 main_~i~0)} havoc #t~mem4; {2428#(<= 1 main_~i~0)} is VALID [2020-07-18 06:34:07,109 INFO L280 TraceCheckUtils]: 39: Hoare triple {2428#(<= 1 main_~i~0)} #t~post5 := ~j~0; {2428#(<= 1 main_~i~0)} is VALID [2020-07-18 06:34:07,109 INFO L280 TraceCheckUtils]: 40: Hoare triple {2428#(<= 1 main_~i~0)} ~j~0 := 1 + #t~post5; {2428#(<= 1 main_~i~0)} is VALID [2020-07-18 06:34:07,110 INFO L280 TraceCheckUtils]: 41: Hoare triple {2428#(<= 1 main_~i~0)} havoc #t~post5; {2428#(<= 1 main_~i~0)} is VALID [2020-07-18 06:34:07,110 INFO L280 TraceCheckUtils]: 42: Hoare triple {2428#(<= 1 main_~i~0)} #t~post3 := ~i~0; {2430#(<= 1 |main_#t~post3|)} is VALID [2020-07-18 06:34:07,111 INFO L280 TraceCheckUtils]: 43: Hoare triple {2430#(<= 1 |main_#t~post3|)} ~i~0 := #t~post3 - 1; {2431#(<= 0 main_~i~0)} is VALID [2020-07-18 06:34:07,113 INFO L280 TraceCheckUtils]: 44: Hoare triple {2431#(<= 0 main_~i~0)} havoc #t~post3; {2431#(<= 0 main_~i~0)} is VALID [2020-07-18 06:34:07,115 INFO L280 TraceCheckUtils]: 45: Hoare triple {2431#(<= 0 main_~i~0)} assume !(~i~0 >= 0); {2420#false} is VALID [2020-07-18 06:34:07,116 INFO L280 TraceCheckUtils]: 46: Hoare triple {2420#false} ~j~0 := ~MAX~0 - 1; {2420#false} is VALID [2020-07-18 06:34:07,116 INFO L280 TraceCheckUtils]: 47: Hoare triple {2420#false} ~i~0 := 0; {2420#false} is VALID [2020-07-18 06:34:07,116 INFO L280 TraceCheckUtils]: 48: Hoare triple {2420#false} assume !!(~i~0 < ~MAX~0); {2420#false} is VALID [2020-07-18 06:34:07,116 INFO L280 TraceCheckUtils]: 49: Hoare triple {2420#false} SUMMARY for call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1); srcloc: L34 {2420#false} is VALID [2020-07-18 06:34:07,117 INFO L280 TraceCheckUtils]: 50: Hoare triple {2420#false} SUMMARY for call #t~mem8 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); srcloc: L34-1 {2420#false} is VALID [2020-07-18 06:34:07,117 INFO L263 TraceCheckUtils]: 51: Hoare triple {2420#false} call __VERIFIER_assert((if #t~mem7 == #t~mem8 then 1 else 0)); {2420#false} is VALID [2020-07-18 06:34:07,117 INFO L280 TraceCheckUtils]: 52: Hoare triple {2420#false} ~cond := #in~cond; {2420#false} is VALID [2020-07-18 06:34:07,117 INFO L280 TraceCheckUtils]: 53: Hoare triple {2420#false} assume 0 == ~cond; {2420#false} is VALID [2020-07-18 06:34:07,118 INFO L280 TraceCheckUtils]: 54: Hoare triple {2420#false} assume !false; {2420#false} is VALID [2020-07-18 06:34:07,121 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-18 06:34:07,121 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [891184157] [2020-07-18 06:34:07,121 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-18 06:34:07,121 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2020-07-18 06:34:07,122 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2082228755] [2020-07-18 06:34:07,122 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 55 [2020-07-18 06:34:07,123 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 06:34:07,123 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-18 06:34:07,177 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-18 06:34:07,177 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-18 06:34:07,177 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 06:34:07,177 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-18 06:34:07,178 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2020-07-18 06:34:07,178 INFO L87 Difference]: Start difference. First operand 90 states and 94 transitions. Second operand 9 states. [2020-07-18 06:34:08,697 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:34:08,697 INFO L93 Difference]: Finished difference Result 171 states and 180 transitions. [2020-07-18 06:34:08,697 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2020-07-18 06:34:08,697 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 55 [2020-07-18 06:34:08,698 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 06:34:08,698 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-18 06:34:08,702 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 158 transitions. [2020-07-18 06:34:08,702 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-18 06:34:08,705 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 158 transitions. [2020-07-18 06:34:08,706 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 158 transitions. [2020-07-18 06:34:08,909 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-18 06:34:08,913 INFO L225 Difference]: With dead ends: 171 [2020-07-18 06:34:08,913 INFO L226 Difference]: Without dead ends: 151 [2020-07-18 06:34:08,914 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-18 06:34:08,915 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 151 states. [2020-07-18 06:34:09,276 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 151 to 100. [2020-07-18 06:34:09,276 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 06:34:09,277 INFO L82 GeneralOperation]: Start isEquivalent. First operand 151 states. Second operand 100 states. [2020-07-18 06:34:09,277 INFO L74 IsIncluded]: Start isIncluded. First operand 151 states. Second operand 100 states. [2020-07-18 06:34:09,277 INFO L87 Difference]: Start difference. First operand 151 states. Second operand 100 states. [2020-07-18 06:34:09,282 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:34:09,283 INFO L93 Difference]: Finished difference Result 151 states and 159 transitions. [2020-07-18 06:34:09,283 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 159 transitions. [2020-07-18 06:34:09,283 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:34:09,283 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:34:09,284 INFO L74 IsIncluded]: Start isIncluded. First operand 100 states. Second operand 151 states. [2020-07-18 06:34:09,284 INFO L87 Difference]: Start difference. First operand 100 states. Second operand 151 states. [2020-07-18 06:34:09,289 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:34:09,289 INFO L93 Difference]: Finished difference Result 151 states and 159 transitions. [2020-07-18 06:34:09,289 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 159 transitions. [2020-07-18 06:34:09,290 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:34:09,290 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:34:09,290 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 06:34:09,290 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 06:34:09,291 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 100 states. [2020-07-18 06:34:09,294 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100 states to 100 states and 104 transitions. [2020-07-18 06:34:09,294 INFO L78 Accepts]: Start accepts. Automaton has 100 states and 104 transitions. Word has length 55 [2020-07-18 06:34:09,294 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 06:34:09,294 INFO L479 AbstractCegarLoop]: Abstraction has 100 states and 104 transitions. [2020-07-18 06:34:09,294 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-18 06:34:09,295 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 100 states and 104 transitions. [2020-07-18 06:34:09,483 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-18 06:34:09,483 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 104 transitions. [2020-07-18 06:34:09,484 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2020-07-18 06:34:09,484 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 06:34:09,485 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-18 06:34:09,485 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2020-07-18 06:34:09,485 INFO L427 AbstractCegarLoop]: === Iteration 6 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 06:34:09,485 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 06:34:09,486 INFO L82 PathProgramCache]: Analyzing trace with hash -2134174762, now seen corresponding path program 3 times [2020-07-18 06:34:09,486 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 06:34:09,486 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [2090724265] [2020-07-18 06:34:09,486 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 06:34:09,501 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:34:09,617 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:34:09,622 INFO L280 TraceCheckUtils]: 0: Hoare triple {3307#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {3293#true} is VALID [2020-07-18 06:34:09,623 INFO L280 TraceCheckUtils]: 1: Hoare triple {3293#true} #valid := #valid[0 := 0]; {3293#true} is VALID [2020-07-18 06:34:09,623 INFO L280 TraceCheckUtils]: 2: Hoare triple {3293#true} assume 0 < #StackHeapBarrier; {3293#true} is VALID [2020-07-18 06:34:09,623 INFO L280 TraceCheckUtils]: 3: Hoare triple {3293#true} assume true; {3293#true} is VALID [2020-07-18 06:34:09,623 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {3293#true} {3293#true} #107#return; {3293#true} is VALID [2020-07-18 06:34:09,624 INFO L263 TraceCheckUtils]: 0: Hoare triple {3293#true} call ULTIMATE.init(); {3307#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-18 06:34:09,624 INFO L280 TraceCheckUtils]: 1: Hoare triple {3307#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {3293#true} is VALID [2020-07-18 06:34:09,624 INFO L280 TraceCheckUtils]: 2: Hoare triple {3293#true} #valid := #valid[0 := 0]; {3293#true} is VALID [2020-07-18 06:34:09,625 INFO L280 TraceCheckUtils]: 3: Hoare triple {3293#true} assume 0 < #StackHeapBarrier; {3293#true} is VALID [2020-07-18 06:34:09,625 INFO L280 TraceCheckUtils]: 4: Hoare triple {3293#true} assume true; {3293#true} is VALID [2020-07-18 06:34:09,625 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {3293#true} {3293#true} #107#return; {3293#true} is VALID [2020-07-18 06:34:09,625 INFO L263 TraceCheckUtils]: 6: Hoare triple {3293#true} call #t~ret10 := main(); {3293#true} is VALID [2020-07-18 06:34:09,625 INFO L280 TraceCheckUtils]: 7: Hoare triple {3293#true} ~MAX~0 := (if #t~nondet0 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet0 % 4294967296 % 4294967296 else #t~nondet0 % 4294967296 % 4294967296 - 4294967296); {3293#true} is VALID [2020-07-18 06:34:09,625 INFO L280 TraceCheckUtils]: 8: Hoare triple {3293#true} havoc #t~nondet0; {3293#true} is VALID [2020-07-18 06:34:09,626 INFO L280 TraceCheckUtils]: 9: Hoare triple {3293#true} assume !!(~MAX~0 > 0); {3293#true} is VALID [2020-07-18 06:34:09,626 INFO L280 TraceCheckUtils]: 10: Hoare triple {3293#true} SUMMARY for call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack(~MAX~0); srcloc: L15-3 {3293#true} is VALID [2020-07-18 06:34:09,626 INFO L280 TraceCheckUtils]: 11: Hoare triple {3293#true} SUMMARY for call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(~MAX~0); srcloc: L16 {3293#true} is VALID [2020-07-18 06:34:09,626 INFO L280 TraceCheckUtils]: 12: Hoare triple {3293#true} havoc ~cont~0; {3293#true} is VALID [2020-07-18 06:34:09,626 INFO L280 TraceCheckUtils]: 13: Hoare triple {3293#true} havoc ~i~0; {3293#true} is VALID [2020-07-18 06:34:09,627 INFO L280 TraceCheckUtils]: 14: Hoare triple {3293#true} havoc ~j~0; {3293#true} is VALID [2020-07-18 06:34:09,627 INFO L280 TraceCheckUtils]: 15: Hoare triple {3293#true} ~cont~0 := 0; {3293#true} is VALID [2020-07-18 06:34:09,627 INFO L280 TraceCheckUtils]: 16: Hoare triple {3293#true} ~i~0 := 0; {3300#(= 0 main_~i~0)} is VALID [2020-07-18 06:34:09,628 INFO L280 TraceCheckUtils]: 17: Hoare triple {3300#(= 0 main_~i~0)} assume !!(~i~0 < ~MAX~0); {3300#(= 0 main_~i~0)} is VALID [2020-07-18 06:34:09,628 INFO L280 TraceCheckUtils]: 18: Hoare triple {3300#(= 0 main_~i~0)} assume -128 <= #t~nondet2 && #t~nondet2 <= 127; {3300#(= 0 main_~i~0)} is VALID [2020-07-18 06:34:09,628 INFO L280 TraceCheckUtils]: 19: Hoare triple {3300#(= 0 main_~i~0)} SUMMARY for call write~int(#t~nondet2, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1); srcloc: L21-1 {3300#(= 0 main_~i~0)} is VALID [2020-07-18 06:34:09,630 INFO L280 TraceCheckUtils]: 20: Hoare triple {3300#(= 0 main_~i~0)} havoc #t~nondet2; {3300#(= 0 main_~i~0)} is VALID [2020-07-18 06:34:09,632 INFO L280 TraceCheckUtils]: 21: Hoare triple {3300#(= 0 main_~i~0)} #t~post1 := ~i~0; {3301#(= |main_#t~post1| 0)} is VALID [2020-07-18 06:34:09,635 INFO L280 TraceCheckUtils]: 22: Hoare triple {3301#(= |main_#t~post1| 0)} ~i~0 := 1 + #t~post1; {3302#(<= main_~i~0 1)} is VALID [2020-07-18 06:34:09,636 INFO L280 TraceCheckUtils]: 23: Hoare triple {3302#(<= main_~i~0 1)} havoc #t~post1; {3302#(<= main_~i~0 1)} is VALID [2020-07-18 06:34:09,637 INFO L280 TraceCheckUtils]: 24: Hoare triple {3302#(<= main_~i~0 1)} assume !(~i~0 < ~MAX~0); {3303#(<= main_~MAX~0 1)} is VALID [2020-07-18 06:34:09,638 INFO L280 TraceCheckUtils]: 25: Hoare triple {3303#(<= main_~MAX~0 1)} SUMMARY for call write~int(0, ~#str1~0.base, ~#str1~0.offset + (~MAX~0 - 1), 1); srcloc: L20-7 {3303#(<= main_~MAX~0 1)} is VALID [2020-07-18 06:34:09,638 INFO L280 TraceCheckUtils]: 26: Hoare triple {3303#(<= main_~MAX~0 1)} ~j~0 := 0; {3303#(<= main_~MAX~0 1)} is VALID [2020-07-18 06:34:09,639 INFO L280 TraceCheckUtils]: 27: Hoare triple {3303#(<= main_~MAX~0 1)} ~i~0 := ~MAX~0 - 1; {3304#(<= main_~i~0 0)} is VALID [2020-07-18 06:34:09,639 INFO L280 TraceCheckUtils]: 28: Hoare triple {3304#(<= main_~i~0 0)} assume !!(~i~0 >= 0); {3304#(<= main_~i~0 0)} is VALID [2020-07-18 06:34:09,640 INFO L280 TraceCheckUtils]: 29: Hoare triple {3304#(<= main_~i~0 0)} SUMMARY for call #t~mem4 := read~int(~#str1~0.base, ~#str1~0.offset, 1); srcloc: L28 {3304#(<= main_~i~0 0)} is VALID [2020-07-18 06:34:09,640 INFO L280 TraceCheckUtils]: 30: Hoare triple {3304#(<= main_~i~0 0)} SUMMARY for call write~int(#t~mem4, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1); srcloc: L28-1 {3304#(<= main_~i~0 0)} is VALID [2020-07-18 06:34:09,641 INFO L280 TraceCheckUtils]: 31: Hoare triple {3304#(<= main_~i~0 0)} havoc #t~mem4; {3304#(<= main_~i~0 0)} is VALID [2020-07-18 06:34:09,641 INFO L280 TraceCheckUtils]: 32: Hoare triple {3304#(<= main_~i~0 0)} #t~post5 := ~j~0; {3304#(<= main_~i~0 0)} is VALID [2020-07-18 06:34:09,642 INFO L280 TraceCheckUtils]: 33: Hoare triple {3304#(<= main_~i~0 0)} ~j~0 := 1 + #t~post5; {3304#(<= main_~i~0 0)} is VALID [2020-07-18 06:34:09,642 INFO L280 TraceCheckUtils]: 34: Hoare triple {3304#(<= main_~i~0 0)} havoc #t~post5; {3304#(<= main_~i~0 0)} is VALID [2020-07-18 06:34:09,643 INFO L280 TraceCheckUtils]: 35: Hoare triple {3304#(<= main_~i~0 0)} #t~post3 := ~i~0; {3305#(<= |main_#t~post3| 0)} is VALID [2020-07-18 06:34:09,644 INFO L280 TraceCheckUtils]: 36: Hoare triple {3305#(<= |main_#t~post3| 0)} ~i~0 := #t~post3 - 1; {3306#(<= (+ main_~i~0 1) 0)} is VALID [2020-07-18 06:34:09,644 INFO L280 TraceCheckUtils]: 37: Hoare triple {3306#(<= (+ main_~i~0 1) 0)} havoc #t~post3; {3306#(<= (+ main_~i~0 1) 0)} is VALID [2020-07-18 06:34:09,645 INFO L280 TraceCheckUtils]: 38: Hoare triple {3306#(<= (+ main_~i~0 1) 0)} assume !!(~i~0 >= 0); {3294#false} is VALID [2020-07-18 06:34:09,645 INFO L280 TraceCheckUtils]: 39: Hoare triple {3294#false} SUMMARY for call #t~mem4 := read~int(~#str1~0.base, ~#str1~0.offset, 1); srcloc: L28 {3294#false} is VALID [2020-07-18 06:34:09,645 INFO L280 TraceCheckUtils]: 40: Hoare triple {3294#false} SUMMARY for call write~int(#t~mem4, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1); srcloc: L28-1 {3294#false} is VALID [2020-07-18 06:34:09,646 INFO L280 TraceCheckUtils]: 41: Hoare triple {3294#false} havoc #t~mem4; {3294#false} is VALID [2020-07-18 06:34:09,646 INFO L280 TraceCheckUtils]: 42: Hoare triple {3294#false} #t~post5 := ~j~0; {3294#false} is VALID [2020-07-18 06:34:09,646 INFO L280 TraceCheckUtils]: 43: Hoare triple {3294#false} ~j~0 := 1 + #t~post5; {3294#false} is VALID [2020-07-18 06:34:09,646 INFO L280 TraceCheckUtils]: 44: Hoare triple {3294#false} havoc #t~post5; {3294#false} is VALID [2020-07-18 06:34:09,646 INFO L280 TraceCheckUtils]: 45: Hoare triple {3294#false} #t~post3 := ~i~0; {3294#false} is VALID [2020-07-18 06:34:09,647 INFO L280 TraceCheckUtils]: 46: Hoare triple {3294#false} ~i~0 := #t~post3 - 1; {3294#false} is VALID [2020-07-18 06:34:09,647 INFO L280 TraceCheckUtils]: 47: Hoare triple {3294#false} havoc #t~post3; {3294#false} is VALID [2020-07-18 06:34:09,647 INFO L280 TraceCheckUtils]: 48: Hoare triple {3294#false} assume !(~i~0 >= 0); {3294#false} is VALID [2020-07-18 06:34:09,647 INFO L280 TraceCheckUtils]: 49: Hoare triple {3294#false} ~j~0 := ~MAX~0 - 1; {3294#false} is VALID [2020-07-18 06:34:09,648 INFO L280 TraceCheckUtils]: 50: Hoare triple {3294#false} ~i~0 := 0; {3294#false} is VALID [2020-07-18 06:34:09,648 INFO L280 TraceCheckUtils]: 51: Hoare triple {3294#false} assume !!(~i~0 < ~MAX~0); {3294#false} is VALID [2020-07-18 06:34:09,648 INFO L280 TraceCheckUtils]: 52: Hoare triple {3294#false} SUMMARY for call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1); srcloc: L34 {3294#false} is VALID [2020-07-18 06:34:09,648 INFO L280 TraceCheckUtils]: 53: Hoare triple {3294#false} SUMMARY for call #t~mem8 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); srcloc: L34-1 {3294#false} is VALID [2020-07-18 06:34:09,648 INFO L263 TraceCheckUtils]: 54: Hoare triple {3294#false} call __VERIFIER_assert((if #t~mem7 == #t~mem8 then 1 else 0)); {3294#false} is VALID [2020-07-18 06:34:09,649 INFO L280 TraceCheckUtils]: 55: Hoare triple {3294#false} ~cond := #in~cond; {3294#false} is VALID [2020-07-18 06:34:09,649 INFO L280 TraceCheckUtils]: 56: Hoare triple {3294#false} assume 0 == ~cond; {3294#false} is VALID [2020-07-18 06:34:09,649 INFO L280 TraceCheckUtils]: 57: Hoare triple {3294#false} assume !false; {3294#false} is VALID [2020-07-18 06:34:09,652 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-18 06:34:09,652 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [2090724265] [2020-07-18 06:34:09,652 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-18 06:34:09,652 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2020-07-18 06:34:09,653 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1013878701] [2020-07-18 06:34:09,653 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 58 [2020-07-18 06:34:09,654 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 06:34:09,654 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2020-07-18 06:34:09,709 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-18 06:34:09,710 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2020-07-18 06:34:09,710 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 06:34:09,710 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2020-07-18 06:34:09,711 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=68, Unknown=0, NotChecked=0, Total=90 [2020-07-18 06:34:09,711 INFO L87 Difference]: Start difference. First operand 100 states and 104 transitions. Second operand 10 states. [2020-07-18 06:34:11,077 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:34:11,077 INFO L93 Difference]: Finished difference Result 165 states and 172 transitions. [2020-07-18 06:34:11,078 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2020-07-18 06:34:11,078 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 58 [2020-07-18 06:34:11,078 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 06:34:11,078 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-18 06:34:11,087 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 158 transitions. [2020-07-18 06:34:11,088 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-18 06:34:11,094 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 158 transitions. [2020-07-18 06:34:11,095 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 158 transitions. [2020-07-18 06:34:11,261 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-18 06:34:11,264 INFO L225 Difference]: With dead ends: 165 [2020-07-18 06:34:11,264 INFO L226 Difference]: Without dead ends: 135 [2020-07-18 06:34:11,265 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-18 06:34:11,266 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 135 states. [2020-07-18 06:34:11,649 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 135 to 100. [2020-07-18 06:34:11,649 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 06:34:11,650 INFO L82 GeneralOperation]: Start isEquivalent. First operand 135 states. Second operand 100 states. [2020-07-18 06:34:11,650 INFO L74 IsIncluded]: Start isIncluded. First operand 135 states. Second operand 100 states. [2020-07-18 06:34:11,650 INFO L87 Difference]: Start difference. First operand 135 states. Second operand 100 states. [2020-07-18 06:34:11,655 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:34:11,655 INFO L93 Difference]: Finished difference Result 135 states and 140 transitions. [2020-07-18 06:34:11,655 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 140 transitions. [2020-07-18 06:34:11,656 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:34:11,656 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:34:11,656 INFO L74 IsIncluded]: Start isIncluded. First operand 100 states. Second operand 135 states. [2020-07-18 06:34:11,656 INFO L87 Difference]: Start difference. First operand 100 states. Second operand 135 states. [2020-07-18 06:34:11,661 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:34:11,661 INFO L93 Difference]: Finished difference Result 135 states and 140 transitions. [2020-07-18 06:34:11,661 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 140 transitions. [2020-07-18 06:34:11,662 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:34:11,662 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:34:11,662 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 06:34:11,662 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 06:34:11,662 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 100 states. [2020-07-18 06:34:11,665 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100 states to 100 states and 103 transitions. [2020-07-18 06:34:11,666 INFO L78 Accepts]: Start accepts. Automaton has 100 states and 103 transitions. Word has length 58 [2020-07-18 06:34:11,666 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 06:34:11,666 INFO L479 AbstractCegarLoop]: Abstraction has 100 states and 103 transitions. [2020-07-18 06:34:11,666 INFO L480 AbstractCegarLoop]: Interpolant automaton has 10 states. [2020-07-18 06:34:11,666 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 100 states and 103 transitions. [2020-07-18 06:34:11,869 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-18 06:34:11,869 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 103 transitions. [2020-07-18 06:34:11,870 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2020-07-18 06:34:11,871 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 06:34:11,871 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-18 06:34:11,873 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2020-07-18 06:34:11,873 INFO L427 AbstractCegarLoop]: === Iteration 7 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 06:34:11,873 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 06:34:11,873 INFO L82 PathProgramCache]: Analyzing trace with hash -280271430, now seen corresponding path program 1 times [2020-07-18 06:34:11,873 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 06:34:11,874 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1694498192] [2020-07-18 06:34:11,874 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 06:34:11,889 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:34:12,041 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:34:12,044 INFO L280 TraceCheckUtils]: 0: Hoare triple {4144#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {4126#true} is VALID [2020-07-18 06:34:12,045 INFO L280 TraceCheckUtils]: 1: Hoare triple {4126#true} #valid := #valid[0 := 0]; {4126#true} is VALID [2020-07-18 06:34:12,045 INFO L280 TraceCheckUtils]: 2: Hoare triple {4126#true} assume 0 < #StackHeapBarrier; {4126#true} is VALID [2020-07-18 06:34:12,045 INFO L280 TraceCheckUtils]: 3: Hoare triple {4126#true} assume true; {4126#true} is VALID [2020-07-18 06:34:12,045 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {4126#true} {4126#true} #107#return; {4126#true} is VALID [2020-07-18 06:34:12,047 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:34:12,050 INFO L280 TraceCheckUtils]: 0: Hoare triple {4126#true} ~cond := #in~cond; {4126#true} is VALID [2020-07-18 06:34:12,051 INFO L280 TraceCheckUtils]: 1: Hoare triple {4126#true} assume !(0 == ~cond); {4126#true} is VALID [2020-07-18 06:34:12,051 INFO L280 TraceCheckUtils]: 2: Hoare triple {4126#true} assume true; {4126#true} is VALID [2020-07-18 06:34:12,052 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4126#true} {4137#(and (= 0 main_~i~0) (<= main_~MAX~0 1))} #111#return; {4137#(and (= 0 main_~i~0) (<= main_~MAX~0 1))} is VALID [2020-07-18 06:34:12,053 INFO L263 TraceCheckUtils]: 0: Hoare triple {4126#true} call ULTIMATE.init(); {4144#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-18 06:34:12,053 INFO L280 TraceCheckUtils]: 1: Hoare triple {4144#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {4126#true} is VALID [2020-07-18 06:34:12,053 INFO L280 TraceCheckUtils]: 2: Hoare triple {4126#true} #valid := #valid[0 := 0]; {4126#true} is VALID [2020-07-18 06:34:12,054 INFO L280 TraceCheckUtils]: 3: Hoare triple {4126#true} assume 0 < #StackHeapBarrier; {4126#true} is VALID [2020-07-18 06:34:12,054 INFO L280 TraceCheckUtils]: 4: Hoare triple {4126#true} assume true; {4126#true} is VALID [2020-07-18 06:34:12,054 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {4126#true} {4126#true} #107#return; {4126#true} is VALID [2020-07-18 06:34:12,054 INFO L263 TraceCheckUtils]: 6: Hoare triple {4126#true} call #t~ret10 := main(); {4126#true} is VALID [2020-07-18 06:34:12,055 INFO L280 TraceCheckUtils]: 7: Hoare triple {4126#true} ~MAX~0 := (if #t~nondet0 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet0 % 4294967296 % 4294967296 else #t~nondet0 % 4294967296 % 4294967296 - 4294967296); {4126#true} is VALID [2020-07-18 06:34:12,055 INFO L280 TraceCheckUtils]: 8: Hoare triple {4126#true} havoc #t~nondet0; {4126#true} is VALID [2020-07-18 06:34:12,055 INFO L280 TraceCheckUtils]: 9: Hoare triple {4126#true} assume !!(~MAX~0 > 0); {4126#true} is VALID [2020-07-18 06:34:12,055 INFO L280 TraceCheckUtils]: 10: Hoare triple {4126#true} SUMMARY for call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack(~MAX~0); srcloc: L15-3 {4126#true} is VALID [2020-07-18 06:34:12,055 INFO L280 TraceCheckUtils]: 11: Hoare triple {4126#true} SUMMARY for call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(~MAX~0); srcloc: L16 {4126#true} is VALID [2020-07-18 06:34:12,056 INFO L280 TraceCheckUtils]: 12: Hoare triple {4126#true} havoc ~cont~0; {4126#true} is VALID [2020-07-18 06:34:12,056 INFO L280 TraceCheckUtils]: 13: Hoare triple {4126#true} havoc ~i~0; {4126#true} is VALID [2020-07-18 06:34:12,056 INFO L280 TraceCheckUtils]: 14: Hoare triple {4126#true} havoc ~j~0; {4126#true} is VALID [2020-07-18 06:34:12,056 INFO L280 TraceCheckUtils]: 15: Hoare triple {4126#true} ~cont~0 := 0; {4126#true} is VALID [2020-07-18 06:34:12,058 INFO L280 TraceCheckUtils]: 16: Hoare triple {4126#true} ~i~0 := 0; {4133#(= 0 main_~i~0)} is VALID [2020-07-18 06:34:12,059 INFO L280 TraceCheckUtils]: 17: Hoare triple {4133#(= 0 main_~i~0)} assume !!(~i~0 < ~MAX~0); {4133#(= 0 main_~i~0)} is VALID [2020-07-18 06:34:12,063 INFO L280 TraceCheckUtils]: 18: Hoare triple {4133#(= 0 main_~i~0)} assume -128 <= #t~nondet2 && #t~nondet2 <= 127; {4133#(= 0 main_~i~0)} is VALID [2020-07-18 06:34:12,066 INFO L280 TraceCheckUtils]: 19: Hoare triple {4133#(= 0 main_~i~0)} SUMMARY for call write~int(#t~nondet2, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1); srcloc: L21-1 {4133#(= 0 main_~i~0)} is VALID [2020-07-18 06:34:12,066 INFO L280 TraceCheckUtils]: 20: Hoare triple {4133#(= 0 main_~i~0)} havoc #t~nondet2; {4133#(= 0 main_~i~0)} is VALID [2020-07-18 06:34:12,067 INFO L280 TraceCheckUtils]: 21: Hoare triple {4133#(= 0 main_~i~0)} #t~post1 := ~i~0; {4134#(= |main_#t~post1| 0)} is VALID [2020-07-18 06:34:12,067 INFO L280 TraceCheckUtils]: 22: Hoare triple {4134#(= |main_#t~post1| 0)} ~i~0 := 1 + #t~post1; {4135#(<= main_~i~0 1)} is VALID [2020-07-18 06:34:12,068 INFO L280 TraceCheckUtils]: 23: Hoare triple {4135#(<= main_~i~0 1)} havoc #t~post1; {4135#(<= main_~i~0 1)} is VALID [2020-07-18 06:34:12,069 INFO L280 TraceCheckUtils]: 24: Hoare triple {4135#(<= main_~i~0 1)} assume !(~i~0 < ~MAX~0); {4136#(<= main_~MAX~0 1)} is VALID [2020-07-18 06:34:12,070 INFO L280 TraceCheckUtils]: 25: Hoare triple {4136#(<= main_~MAX~0 1)} SUMMARY for call write~int(0, ~#str1~0.base, ~#str1~0.offset + (~MAX~0 - 1), 1); srcloc: L20-7 {4136#(<= main_~MAX~0 1)} is VALID [2020-07-18 06:34:12,070 INFO L280 TraceCheckUtils]: 26: Hoare triple {4136#(<= main_~MAX~0 1)} ~j~0 := 0; {4136#(<= main_~MAX~0 1)} is VALID [2020-07-18 06:34:12,071 INFO L280 TraceCheckUtils]: 27: Hoare triple {4136#(<= main_~MAX~0 1)} ~i~0 := ~MAX~0 - 1; {4136#(<= main_~MAX~0 1)} is VALID [2020-07-18 06:34:12,071 INFO L280 TraceCheckUtils]: 28: Hoare triple {4136#(<= main_~MAX~0 1)} assume !!(~i~0 >= 0); {4136#(<= main_~MAX~0 1)} is VALID [2020-07-18 06:34:12,072 INFO L280 TraceCheckUtils]: 29: Hoare triple {4136#(<= main_~MAX~0 1)} SUMMARY for call #t~mem4 := read~int(~#str1~0.base, ~#str1~0.offset, 1); srcloc: L28 {4136#(<= main_~MAX~0 1)} is VALID [2020-07-18 06:34:12,072 INFO L280 TraceCheckUtils]: 30: Hoare triple {4136#(<= main_~MAX~0 1)} SUMMARY for call write~int(#t~mem4, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1); srcloc: L28-1 {4136#(<= main_~MAX~0 1)} is VALID [2020-07-18 06:34:12,073 INFO L280 TraceCheckUtils]: 31: Hoare triple {4136#(<= main_~MAX~0 1)} havoc #t~mem4; {4136#(<= main_~MAX~0 1)} is VALID [2020-07-18 06:34:12,073 INFO L280 TraceCheckUtils]: 32: Hoare triple {4136#(<= main_~MAX~0 1)} #t~post5 := ~j~0; {4136#(<= main_~MAX~0 1)} is VALID [2020-07-18 06:34:12,074 INFO L280 TraceCheckUtils]: 33: Hoare triple {4136#(<= main_~MAX~0 1)} ~j~0 := 1 + #t~post5; {4136#(<= main_~MAX~0 1)} is VALID [2020-07-18 06:34:12,074 INFO L280 TraceCheckUtils]: 34: Hoare triple {4136#(<= main_~MAX~0 1)} havoc #t~post5; {4136#(<= main_~MAX~0 1)} is VALID [2020-07-18 06:34:12,075 INFO L280 TraceCheckUtils]: 35: Hoare triple {4136#(<= main_~MAX~0 1)} #t~post3 := ~i~0; {4136#(<= main_~MAX~0 1)} is VALID [2020-07-18 06:34:12,076 INFO L280 TraceCheckUtils]: 36: Hoare triple {4136#(<= main_~MAX~0 1)} ~i~0 := #t~post3 - 1; {4136#(<= main_~MAX~0 1)} is VALID [2020-07-18 06:34:12,076 INFO L280 TraceCheckUtils]: 37: Hoare triple {4136#(<= main_~MAX~0 1)} havoc #t~post3; {4136#(<= main_~MAX~0 1)} is VALID [2020-07-18 06:34:12,077 INFO L280 TraceCheckUtils]: 38: Hoare triple {4136#(<= main_~MAX~0 1)} assume !(~i~0 >= 0); {4136#(<= main_~MAX~0 1)} is VALID [2020-07-18 06:34:12,077 INFO L280 TraceCheckUtils]: 39: Hoare triple {4136#(<= main_~MAX~0 1)} ~j~0 := ~MAX~0 - 1; {4136#(<= main_~MAX~0 1)} is VALID [2020-07-18 06:34:12,078 INFO L280 TraceCheckUtils]: 40: Hoare triple {4136#(<= main_~MAX~0 1)} ~i~0 := 0; {4137#(and (= 0 main_~i~0) (<= main_~MAX~0 1))} is VALID [2020-07-18 06:34:12,079 INFO L280 TraceCheckUtils]: 41: Hoare triple {4137#(and (= 0 main_~i~0) (<= main_~MAX~0 1))} assume !!(~i~0 < ~MAX~0); {4137#(and (= 0 main_~i~0) (<= main_~MAX~0 1))} is VALID [2020-07-18 06:34:12,080 INFO L280 TraceCheckUtils]: 42: Hoare triple {4137#(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 {4137#(and (= 0 main_~i~0) (<= main_~MAX~0 1))} is VALID [2020-07-18 06:34:12,081 INFO L280 TraceCheckUtils]: 43: Hoare triple {4137#(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 {4137#(and (= 0 main_~i~0) (<= main_~MAX~0 1))} is VALID [2020-07-18 06:34:12,081 INFO L263 TraceCheckUtils]: 44: Hoare triple {4137#(and (= 0 main_~i~0) (<= main_~MAX~0 1))} call __VERIFIER_assert((if #t~mem7 == #t~mem8 then 1 else 0)); {4126#true} is VALID [2020-07-18 06:34:12,081 INFO L280 TraceCheckUtils]: 45: Hoare triple {4126#true} ~cond := #in~cond; {4126#true} is VALID [2020-07-18 06:34:12,081 INFO L280 TraceCheckUtils]: 46: Hoare triple {4126#true} assume !(0 == ~cond); {4126#true} is VALID [2020-07-18 06:34:12,082 INFO L280 TraceCheckUtils]: 47: Hoare triple {4126#true} assume true; {4126#true} is VALID [2020-07-18 06:34:12,083 INFO L275 TraceCheckUtils]: 48: Hoare quadruple {4126#true} {4137#(and (= 0 main_~i~0) (<= main_~MAX~0 1))} #111#return; {4137#(and (= 0 main_~i~0) (<= main_~MAX~0 1))} is VALID [2020-07-18 06:34:12,084 INFO L280 TraceCheckUtils]: 49: Hoare triple {4137#(and (= 0 main_~i~0) (<= main_~MAX~0 1))} havoc #t~mem7; {4137#(and (= 0 main_~i~0) (<= main_~MAX~0 1))} is VALID [2020-07-18 06:34:12,084 INFO L280 TraceCheckUtils]: 50: Hoare triple {4137#(and (= 0 main_~i~0) (<= main_~MAX~0 1))} havoc #t~mem8; {4137#(and (= 0 main_~i~0) (<= main_~MAX~0 1))} is VALID [2020-07-18 06:34:12,085 INFO L280 TraceCheckUtils]: 51: Hoare triple {4137#(and (= 0 main_~i~0) (<= main_~MAX~0 1))} #t~post9 := ~j~0; {4137#(and (= 0 main_~i~0) (<= main_~MAX~0 1))} is VALID [2020-07-18 06:34:12,086 INFO L280 TraceCheckUtils]: 52: Hoare triple {4137#(and (= 0 main_~i~0) (<= main_~MAX~0 1))} ~j~0 := #t~post9 - 1; {4137#(and (= 0 main_~i~0) (<= main_~MAX~0 1))} is VALID [2020-07-18 06:34:12,086 INFO L280 TraceCheckUtils]: 53: Hoare triple {4137#(and (= 0 main_~i~0) (<= main_~MAX~0 1))} havoc #t~post9; {4137#(and (= 0 main_~i~0) (<= main_~MAX~0 1))} is VALID [2020-07-18 06:34:12,087 INFO L280 TraceCheckUtils]: 54: Hoare triple {4137#(and (= 0 main_~i~0) (<= main_~MAX~0 1))} #t~post6 := ~i~0; {4142#(and (= |main_#t~post6| 0) (<= main_~MAX~0 1))} is VALID [2020-07-18 06:34:12,088 INFO L280 TraceCheckUtils]: 55: Hoare triple {4142#(and (= |main_#t~post6| 0) (<= main_~MAX~0 1))} ~i~0 := 1 + #t~post6; {4143#(<= main_~MAX~0 main_~i~0)} is VALID [2020-07-18 06:34:12,088 INFO L280 TraceCheckUtils]: 56: Hoare triple {4143#(<= main_~MAX~0 main_~i~0)} havoc #t~post6; {4143#(<= main_~MAX~0 main_~i~0)} is VALID [2020-07-18 06:34:12,089 INFO L280 TraceCheckUtils]: 57: Hoare triple {4143#(<= main_~MAX~0 main_~i~0)} assume !!(~i~0 < ~MAX~0); {4127#false} is VALID [2020-07-18 06:34:12,089 INFO L280 TraceCheckUtils]: 58: Hoare triple {4127#false} SUMMARY for call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1); srcloc: L34 {4127#false} is VALID [2020-07-18 06:34:12,089 INFO L280 TraceCheckUtils]: 59: Hoare triple {4127#false} SUMMARY for call #t~mem8 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); srcloc: L34-1 {4127#false} is VALID [2020-07-18 06:34:12,090 INFO L263 TraceCheckUtils]: 60: Hoare triple {4127#false} call __VERIFIER_assert((if #t~mem7 == #t~mem8 then 1 else 0)); {4127#false} is VALID [2020-07-18 06:34:12,090 INFO L280 TraceCheckUtils]: 61: Hoare triple {4127#false} ~cond := #in~cond; {4127#false} is VALID [2020-07-18 06:34:12,090 INFO L280 TraceCheckUtils]: 62: Hoare triple {4127#false} assume 0 == ~cond; {4127#false} is VALID [2020-07-18 06:34:12,090 INFO L280 TraceCheckUtils]: 63: Hoare triple {4127#false} assume !false; {4127#false} is VALID [2020-07-18 06:34:12,095 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-18 06:34:12,095 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1694498192] [2020-07-18 06:34:12,095 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-18 06:34:12,095 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2020-07-18 06:34:12,096 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1356509817] [2020-07-18 06:34:12,096 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 64 [2020-07-18 06:34:12,097 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 06:34:12,097 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2020-07-18 06:34:12,162 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-18 06:34:12,162 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2020-07-18 06:34:12,163 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 06:34:12,163 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2020-07-18 06:34:12,163 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=68, Unknown=0, NotChecked=0, Total=90 [2020-07-18 06:34:12,163 INFO L87 Difference]: Start difference. First operand 100 states and 103 transitions. Second operand 10 states. [2020-07-18 06:34:13,434 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:34:13,434 INFO L93 Difference]: Finished difference Result 143 states and 147 transitions. [2020-07-18 06:34:13,434 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2020-07-18 06:34:13,434 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 64 [2020-07-18 06:34:13,434 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 06:34:13,435 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-18 06:34:13,438 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 133 transitions. [2020-07-18 06:34:13,438 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-18 06:34:13,441 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 133 transitions. [2020-07-18 06:34:13,441 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 133 transitions. [2020-07-18 06:34:13,596 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-18 06:34:13,598 INFO L225 Difference]: With dead ends: 143 [2020-07-18 06:34:13,598 INFO L226 Difference]: Without dead ends: 92 [2020-07-18 06:34:13,600 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-18 06:34:13,600 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 92 states. [2020-07-18 06:34:13,883 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 92 to 76. [2020-07-18 06:34:13,884 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 06:34:13,884 INFO L82 GeneralOperation]: Start isEquivalent. First operand 92 states. Second operand 76 states. [2020-07-18 06:34:13,884 INFO L74 IsIncluded]: Start isIncluded. First operand 92 states. Second operand 76 states. [2020-07-18 06:34:13,884 INFO L87 Difference]: Start difference. First operand 92 states. Second operand 76 states. [2020-07-18 06:34:13,886 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:34:13,886 INFO L93 Difference]: Finished difference Result 92 states and 95 transitions. [2020-07-18 06:34:13,886 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 95 transitions. [2020-07-18 06:34:13,887 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:34:13,887 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:34:13,887 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand 92 states. [2020-07-18 06:34:13,887 INFO L87 Difference]: Start difference. First operand 76 states. Second operand 92 states. [2020-07-18 06:34:13,889 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:34:13,889 INFO L93 Difference]: Finished difference Result 92 states and 95 transitions. [2020-07-18 06:34:13,889 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 95 transitions. [2020-07-18 06:34:13,890 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:34:13,890 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:34:13,890 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 06:34:13,890 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 06:34:13,890 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 76 states. [2020-07-18 06:34:13,892 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 78 transitions. [2020-07-18 06:34:13,892 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 78 transitions. Word has length 64 [2020-07-18 06:34:13,892 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 06:34:13,892 INFO L479 AbstractCegarLoop]: Abstraction has 76 states and 78 transitions. [2020-07-18 06:34:13,892 INFO L480 AbstractCegarLoop]: Interpolant automaton has 10 states. [2020-07-18 06:34:13,893 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 76 states and 78 transitions. [2020-07-18 06:34:14,056 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-18 06:34:14,056 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 78 transitions. [2020-07-18 06:34:14,057 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 66 [2020-07-18 06:34:14,057 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 06:34:14,058 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-18 06:34:14,058 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2020-07-18 06:34:14,058 INFO L427 AbstractCegarLoop]: === Iteration 8 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 06:34:14,058 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 06:34:14,059 INFO L82 PathProgramCache]: Analyzing trace with hash 1930216728, now seen corresponding path program 4 times [2020-07-18 06:34:14,059 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 06:34:14,059 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [176464297] [2020-07-18 06:34:14,059 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 06:34:14,088 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:34:15,051 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:34:15,065 INFO L280 TraceCheckUtils]: 0: Hoare triple {4808#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {4781#true} is VALID [2020-07-18 06:34:15,066 INFO L280 TraceCheckUtils]: 1: Hoare triple {4781#true} #valid := #valid[0 := 0]; {4781#true} is VALID [2020-07-18 06:34:15,066 INFO L280 TraceCheckUtils]: 2: Hoare triple {4781#true} assume 0 < #StackHeapBarrier; {4781#true} is VALID [2020-07-18 06:34:15,066 INFO L280 TraceCheckUtils]: 3: Hoare triple {4781#true} assume true; {4781#true} is VALID [2020-07-18 06:34:15,066 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {4781#true} {4781#true} #107#return; {4781#true} is VALID [2020-07-18 06:34:15,067 INFO L263 TraceCheckUtils]: 0: Hoare triple {4781#true} call ULTIMATE.init(); {4808#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-18 06:34:15,068 INFO L280 TraceCheckUtils]: 1: Hoare triple {4808#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {4781#true} is VALID [2020-07-18 06:34:15,068 INFO L280 TraceCheckUtils]: 2: Hoare triple {4781#true} #valid := #valid[0 := 0]; {4781#true} is VALID [2020-07-18 06:34:15,068 INFO L280 TraceCheckUtils]: 3: Hoare triple {4781#true} assume 0 < #StackHeapBarrier; {4781#true} is VALID [2020-07-18 06:34:15,069 INFO L280 TraceCheckUtils]: 4: Hoare triple {4781#true} assume true; {4781#true} is VALID [2020-07-18 06:34:15,069 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {4781#true} {4781#true} #107#return; {4781#true} is VALID [2020-07-18 06:34:15,069 INFO L263 TraceCheckUtils]: 6: Hoare triple {4781#true} call #t~ret10 := main(); {4781#true} is VALID [2020-07-18 06:34:15,069 INFO L280 TraceCheckUtils]: 7: Hoare triple {4781#true} ~MAX~0 := (if #t~nondet0 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet0 % 4294967296 % 4294967296 else #t~nondet0 % 4294967296 % 4294967296 - 4294967296); {4781#true} is VALID [2020-07-18 06:34:15,070 INFO L280 TraceCheckUtils]: 8: Hoare triple {4781#true} havoc #t~nondet0; {4781#true} is VALID [2020-07-18 06:34:15,070 INFO L280 TraceCheckUtils]: 9: Hoare triple {4781#true} assume !!(~MAX~0 > 0); {4781#true} is VALID [2020-07-18 06:34:15,071 INFO L280 TraceCheckUtils]: 10: Hoare triple {4781#true} SUMMARY for call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack(~MAX~0); srcloc: L15-3 {4788#(and (= 1 (select |#valid| |main_~#str1~0.base|)) (= 0 |main_~#str1~0.offset|))} is VALID [2020-07-18 06:34:15,072 INFO L280 TraceCheckUtils]: 11: Hoare triple {4788#(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 {4789#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2020-07-18 06:34:15,073 INFO L280 TraceCheckUtils]: 12: Hoare triple {4789#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} havoc ~cont~0; {4789#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2020-07-18 06:34:15,075 INFO L280 TraceCheckUtils]: 13: Hoare triple {4789#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} havoc ~i~0; {4789#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2020-07-18 06:34:15,076 INFO L280 TraceCheckUtils]: 14: Hoare triple {4789#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} havoc ~j~0; {4789#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2020-07-18 06:34:15,078 INFO L280 TraceCheckUtils]: 15: Hoare triple {4789#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} ~cont~0 := 0; {4789#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2020-07-18 06:34:15,081 INFO L280 TraceCheckUtils]: 16: Hoare triple {4789#(and (= 0 |main_~#str1~0.offset|) (= 0 |main_~#str2~0.offset|) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} ~i~0 := 0; {4790#(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-18 06:34:15,083 INFO L280 TraceCheckUtils]: 17: Hoare triple {4790#(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); {4790#(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-18 06:34:15,084 INFO L280 TraceCheckUtils]: 18: Hoare triple {4790#(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; {4790#(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-18 06:34:15,085 INFO L280 TraceCheckUtils]: 19: Hoare triple {4790#(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 {4790#(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-18 06:34:15,086 INFO L280 TraceCheckUtils]: 20: Hoare triple {4790#(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; {4790#(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-18 06:34:15,087 INFO L280 TraceCheckUtils]: 21: Hoare triple {4790#(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; {4791#(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-18 06:34:15,088 INFO L280 TraceCheckUtils]: 22: Hoare triple {4791#(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; {4792#(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-18 06:34:15,089 INFO L280 TraceCheckUtils]: 23: Hoare triple {4792#(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; {4792#(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-18 06:34:15,090 INFO L280 TraceCheckUtils]: 24: Hoare triple {4792#(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); {4793#(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-18 06:34:15,091 INFO L280 TraceCheckUtils]: 25: Hoare triple {4793#(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; {4793#(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-18 06:34:15,092 INFO L280 TraceCheckUtils]: 26: Hoare triple {4793#(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 {4793#(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-18 06:34:15,093 INFO L280 TraceCheckUtils]: 27: Hoare triple {4793#(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; {4793#(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-18 06:34:15,093 INFO L280 TraceCheckUtils]: 28: Hoare triple {4793#(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; {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_#t~post1| 1))} is VALID [2020-07-18 06:34:15,094 INFO L280 TraceCheckUtils]: 29: 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_#t~post1| 1))} ~i~0 := 1 + #t~post1; {4795#(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-18 06:34:15,095 INFO L280 TraceCheckUtils]: 30: Hoare triple {4795#(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; {4795#(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-18 06:34:15,096 INFO L280 TraceCheckUtils]: 31: Hoare triple {4795#(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); {4796#(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-18 06:34:15,097 INFO L280 TraceCheckUtils]: 32: Hoare triple {4796#(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 {4796#(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-18 06:34:15,098 INFO L280 TraceCheckUtils]: 33: Hoare triple {4796#(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; {4797#(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-18 06:34:15,099 INFO L280 TraceCheckUtils]: 34: Hoare triple {4797#(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; {4797#(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-18 06:34:15,100 INFO L280 TraceCheckUtils]: 35: Hoare triple {4797#(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); {4797#(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-18 06:34:15,100 INFO L280 TraceCheckUtils]: 36: Hoare triple {4797#(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 {4797#(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-18 06:34:15,108 INFO L280 TraceCheckUtils]: 37: Hoare triple {4797#(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 {4797#(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-18 06:34:15,109 INFO L280 TraceCheckUtils]: 38: Hoare triple {4797#(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; {4797#(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-18 06:34:15,110 INFO L280 TraceCheckUtils]: 39: Hoare triple {4797#(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; {4798#(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-18 06:34:15,111 INFO L280 TraceCheckUtils]: 40: Hoare triple {4798#(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; {4799#(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-18 06:34:15,112 INFO L280 TraceCheckUtils]: 41: Hoare triple {4799#(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; {4799#(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-18 06:34:15,113 INFO L280 TraceCheckUtils]: 42: Hoare triple {4799#(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; {4799#(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-18 06:34:15,114 INFO L280 TraceCheckUtils]: 43: Hoare triple {4799#(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; {4799#(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-18 06:34:15,115 INFO L280 TraceCheckUtils]: 44: Hoare triple {4799#(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; {4799#(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-18 06:34:15,116 INFO L280 TraceCheckUtils]: 45: Hoare triple {4799#(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); {4799#(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-18 06:34:15,117 INFO L280 TraceCheckUtils]: 46: Hoare triple {4799#(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 {4800#(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-18 06:34:15,118 INFO L280 TraceCheckUtils]: 47: Hoare triple {4800#(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 {4801#(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-18 06:34:15,119 INFO L280 TraceCheckUtils]: 48: Hoare triple {4801#(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~mem4; {4801#(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-18 06:34:15,120 INFO L280 TraceCheckUtils]: 49: Hoare triple {4801#(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~post5 := ~j~0; {4801#(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-18 06:34:15,121 INFO L280 TraceCheckUtils]: 50: Hoare triple {4801#(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; {4801#(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-18 06:34:15,122 INFO L280 TraceCheckUtils]: 51: Hoare triple {4801#(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; {4801#(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-18 06:34:15,123 INFO L280 TraceCheckUtils]: 52: Hoare triple {4801#(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; {4801#(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-18 06:34:15,123 INFO L280 TraceCheckUtils]: 53: Hoare triple {4801#(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; {4801#(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-18 06:34:15,124 INFO L280 TraceCheckUtils]: 54: Hoare triple {4801#(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; {4801#(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-18 06:34:15,125 INFO L280 TraceCheckUtils]: 55: Hoare triple {4801#(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); {4801#(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-18 06:34:15,126 INFO L280 TraceCheckUtils]: 56: Hoare triple {4801#(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; {4802#(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-18 06:34:15,128 INFO L280 TraceCheckUtils]: 57: Hoare triple {4802#(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; {4803#(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-18 06:34:15,129 INFO L280 TraceCheckUtils]: 58: Hoare triple {4803#(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); {4803#(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-18 06:34:15,130 INFO L280 TraceCheckUtils]: 59: Hoare triple {4803#(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 {4804#(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-18 06:34:15,130 INFO L280 TraceCheckUtils]: 60: Hoare triple {4804#(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 {4805#(= |main_#t~mem8| |main_#t~mem7|)} is VALID [2020-07-18 06:34:15,131 INFO L263 TraceCheckUtils]: 61: Hoare triple {4805#(= |main_#t~mem8| |main_#t~mem7|)} call __VERIFIER_assert((if #t~mem7 == #t~mem8 then 1 else 0)); {4806#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2020-07-18 06:34:15,131 INFO L280 TraceCheckUtils]: 62: Hoare triple {4806#(not (= 0 |__VERIFIER_assert_#in~cond|))} ~cond := #in~cond; {4807#(not (= 0 __VERIFIER_assert_~cond))} is VALID [2020-07-18 06:34:15,132 INFO L280 TraceCheckUtils]: 63: Hoare triple {4807#(not (= 0 __VERIFIER_assert_~cond))} assume 0 == ~cond; {4782#false} is VALID [2020-07-18 06:34:15,132 INFO L280 TraceCheckUtils]: 64: Hoare triple {4782#false} assume !false; {4782#false} is VALID [2020-07-18 06:34:15,160 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-18 06:34:15,161 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [176464297] [2020-07-18 06:34:15,161 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-18 06:34:15,161 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23] total 23 [2020-07-18 06:34:15,161 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [567110387] [2020-07-18 06:34:15,164 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 65 [2020-07-18 06:34:15,165 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 06:34:15,165 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states. [2020-07-18 06:34:15,257 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-18 06:34:15,258 INFO L459 AbstractCegarLoop]: Interpolant automaton has 23 states [2020-07-18 06:34:15,258 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 06:34:15,258 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2020-07-18 06:34:15,259 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=440, Unknown=0, NotChecked=0, Total=506 [2020-07-18 06:34:15,259 INFO L87 Difference]: Start difference. First operand 76 states and 78 transitions. Second operand 23 states. [2020-07-18 06:34:20,794 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:34:20,794 INFO L93 Difference]: Finished difference Result 191 states and 200 transitions. [2020-07-18 06:34:20,794 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 38 states. [2020-07-18 06:34:20,794 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 65 [2020-07-18 06:34:20,795 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 06:34:20,795 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2020-07-18 06:34:20,799 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 189 transitions. [2020-07-18 06:34:20,799 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2020-07-18 06:34:20,803 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 189 transitions. [2020-07-18 06:34:20,804 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 38 states and 189 transitions. [2020-07-18 06:34:21,076 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-18 06:34:21,081 INFO L225 Difference]: With dead ends: 191 [2020-07-18 06:34:21,081 INFO L226 Difference]: Without dead ends: 189 [2020-07-18 06:34:21,083 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 58 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 55 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 696 ImplicationChecksByTransitivity, 2.2s TimeCoverageRelationStatistics Valid=499, Invalid=2693, Unknown=0, NotChecked=0, Total=3192 [2020-07-18 06:34:21,084 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 189 states. [2020-07-18 06:34:21,600 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 189 to 117. [2020-07-18 06:34:21,600 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 06:34:21,600 INFO L82 GeneralOperation]: Start isEquivalent. First operand 189 states. Second operand 117 states. [2020-07-18 06:34:21,601 INFO L74 IsIncluded]: Start isIncluded. First operand 189 states. Second operand 117 states. [2020-07-18 06:34:21,601 INFO L87 Difference]: Start difference. First operand 189 states. Second operand 117 states. [2020-07-18 06:34:21,611 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:34:21,611 INFO L93 Difference]: Finished difference Result 189 states and 198 transitions. [2020-07-18 06:34:21,611 INFO L276 IsEmpty]: Start isEmpty. Operand 189 states and 198 transitions. [2020-07-18 06:34:21,612 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:34:21,612 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:34:21,613 INFO L74 IsIncluded]: Start isIncluded. First operand 117 states. Second operand 189 states. [2020-07-18 06:34:21,613 INFO L87 Difference]: Start difference. First operand 117 states. Second operand 189 states. [2020-07-18 06:34:21,624 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:34:21,624 INFO L93 Difference]: Finished difference Result 189 states and 198 transitions. [2020-07-18 06:34:21,625 INFO L276 IsEmpty]: Start isEmpty. Operand 189 states and 198 transitions. [2020-07-18 06:34:21,625 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:34:21,625 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:34:21,626 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 06:34:21,626 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 06:34:21,626 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 117 states. [2020-07-18 06:34:21,630 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 117 states to 117 states and 121 transitions. [2020-07-18 06:34:21,630 INFO L78 Accepts]: Start accepts. Automaton has 117 states and 121 transitions. Word has length 65 [2020-07-18 06:34:21,631 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 06:34:21,631 INFO L479 AbstractCegarLoop]: Abstraction has 117 states and 121 transitions. [2020-07-18 06:34:21,631 INFO L480 AbstractCegarLoop]: Interpolant automaton has 23 states. [2020-07-18 06:34:21,631 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 117 states and 121 transitions. [2020-07-18 06:34:21,880 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-18 06:34:21,880 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 121 transitions. [2020-07-18 06:34:21,881 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 73 [2020-07-18 06:34:21,881 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 06:34:21,881 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-18 06:34:21,881 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7 [2020-07-18 06:34:21,881 INFO L427 AbstractCegarLoop]: === Iteration 9 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 06:34:21,882 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 06:34:21,882 INFO L82 PathProgramCache]: Analyzing trace with hash 499090838, now seen corresponding path program 5 times [2020-07-18 06:34:21,882 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 06:34:21,882 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [728323773] [2020-07-18 06:34:21,883 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 06:34:21,914 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:34:22,066 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:34:22,069 INFO L280 TraceCheckUtils]: 0: Hoare triple {5889#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {5873#true} is VALID [2020-07-18 06:34:22,069 INFO L280 TraceCheckUtils]: 1: Hoare triple {5873#true} #valid := #valid[0 := 0]; {5873#true} is VALID [2020-07-18 06:34:22,070 INFO L280 TraceCheckUtils]: 2: Hoare triple {5873#true} assume 0 < #StackHeapBarrier; {5873#true} is VALID [2020-07-18 06:34:22,070 INFO L280 TraceCheckUtils]: 3: Hoare triple {5873#true} assume true; {5873#true} is VALID [2020-07-18 06:34:22,070 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {5873#true} {5873#true} #107#return; {5873#true} is VALID [2020-07-18 06:34:22,072 INFO L263 TraceCheckUtils]: 0: Hoare triple {5873#true} call ULTIMATE.init(); {5889#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-18 06:34:22,072 INFO L280 TraceCheckUtils]: 1: Hoare triple {5889#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {5873#true} is VALID [2020-07-18 06:34:22,072 INFO L280 TraceCheckUtils]: 2: Hoare triple {5873#true} #valid := #valid[0 := 0]; {5873#true} is VALID [2020-07-18 06:34:22,072 INFO L280 TraceCheckUtils]: 3: Hoare triple {5873#true} assume 0 < #StackHeapBarrier; {5873#true} is VALID [2020-07-18 06:34:22,072 INFO L280 TraceCheckUtils]: 4: Hoare triple {5873#true} assume true; {5873#true} is VALID [2020-07-18 06:34:22,072 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {5873#true} {5873#true} #107#return; {5873#true} is VALID [2020-07-18 06:34:22,073 INFO L263 TraceCheckUtils]: 6: Hoare triple {5873#true} call #t~ret10 := main(); {5873#true} is VALID [2020-07-18 06:34:22,073 INFO L280 TraceCheckUtils]: 7: Hoare triple {5873#true} ~MAX~0 := (if #t~nondet0 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet0 % 4294967296 % 4294967296 else #t~nondet0 % 4294967296 % 4294967296 - 4294967296); {5873#true} is VALID [2020-07-18 06:34:22,073 INFO L280 TraceCheckUtils]: 8: Hoare triple {5873#true} havoc #t~nondet0; {5873#true} is VALID [2020-07-18 06:34:22,073 INFO L280 TraceCheckUtils]: 9: Hoare triple {5873#true} assume !!(~MAX~0 > 0); {5873#true} is VALID [2020-07-18 06:34:22,073 INFO L280 TraceCheckUtils]: 10: Hoare triple {5873#true} SUMMARY for call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack(~MAX~0); srcloc: L15-3 {5873#true} is VALID [2020-07-18 06:34:22,073 INFO L280 TraceCheckUtils]: 11: Hoare triple {5873#true} SUMMARY for call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(~MAX~0); srcloc: L16 {5873#true} is VALID [2020-07-18 06:34:22,073 INFO L280 TraceCheckUtils]: 12: Hoare triple {5873#true} havoc ~cont~0; {5873#true} is VALID [2020-07-18 06:34:22,073 INFO L280 TraceCheckUtils]: 13: Hoare triple {5873#true} havoc ~i~0; {5873#true} is VALID [2020-07-18 06:34:22,074 INFO L280 TraceCheckUtils]: 14: Hoare triple {5873#true} havoc ~j~0; {5873#true} is VALID [2020-07-18 06:34:22,074 INFO L280 TraceCheckUtils]: 15: Hoare triple {5873#true} ~cont~0 := 0; {5873#true} is VALID [2020-07-18 06:34:22,074 INFO L280 TraceCheckUtils]: 16: Hoare triple {5873#true} ~i~0 := 0; {5880#(= 0 main_~i~0)} is VALID [2020-07-18 06:34:22,075 INFO L280 TraceCheckUtils]: 17: Hoare triple {5880#(= 0 main_~i~0)} assume !!(~i~0 < ~MAX~0); {5880#(= 0 main_~i~0)} is VALID [2020-07-18 06:34:22,075 INFO L280 TraceCheckUtils]: 18: Hoare triple {5880#(= 0 main_~i~0)} assume -128 <= #t~nondet2 && #t~nondet2 <= 127; {5880#(= 0 main_~i~0)} is VALID [2020-07-18 06:34:22,075 INFO L280 TraceCheckUtils]: 19: Hoare triple {5880#(= 0 main_~i~0)} SUMMARY for call write~int(#t~nondet2, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1); srcloc: L21-1 {5880#(= 0 main_~i~0)} is VALID [2020-07-18 06:34:22,076 INFO L280 TraceCheckUtils]: 20: Hoare triple {5880#(= 0 main_~i~0)} havoc #t~nondet2; {5880#(= 0 main_~i~0)} is VALID [2020-07-18 06:34:22,076 INFO L280 TraceCheckUtils]: 21: Hoare triple {5880#(= 0 main_~i~0)} #t~post1 := ~i~0; {5881#(= |main_#t~post1| 0)} is VALID [2020-07-18 06:34:22,077 INFO L280 TraceCheckUtils]: 22: Hoare triple {5881#(= |main_#t~post1| 0)} ~i~0 := 1 + #t~post1; {5882#(<= 1 main_~i~0)} is VALID [2020-07-18 06:34:22,077 INFO L280 TraceCheckUtils]: 23: Hoare triple {5882#(<= 1 main_~i~0)} havoc #t~post1; {5882#(<= 1 main_~i~0)} is VALID [2020-07-18 06:34:22,077 INFO L280 TraceCheckUtils]: 24: Hoare triple {5882#(<= 1 main_~i~0)} assume !!(~i~0 < ~MAX~0); {5882#(<= 1 main_~i~0)} is VALID [2020-07-18 06:34:22,078 INFO L280 TraceCheckUtils]: 25: Hoare triple {5882#(<= 1 main_~i~0)} assume -128 <= #t~nondet2 && #t~nondet2 <= 127; {5882#(<= 1 main_~i~0)} is VALID [2020-07-18 06:34:22,078 INFO L280 TraceCheckUtils]: 26: Hoare triple {5882#(<= 1 main_~i~0)} SUMMARY for call write~int(#t~nondet2, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1); srcloc: L21-1 {5882#(<= 1 main_~i~0)} is VALID [2020-07-18 06:34:22,082 INFO L280 TraceCheckUtils]: 27: Hoare triple {5882#(<= 1 main_~i~0)} havoc #t~nondet2; {5882#(<= 1 main_~i~0)} is VALID [2020-07-18 06:34:22,083 INFO L280 TraceCheckUtils]: 28: Hoare triple {5882#(<= 1 main_~i~0)} #t~post1 := ~i~0; {5883#(<= 1 |main_#t~post1|)} is VALID [2020-07-18 06:34:22,084 INFO L280 TraceCheckUtils]: 29: Hoare triple {5883#(<= 1 |main_#t~post1|)} ~i~0 := 1 + #t~post1; {5884#(<= 2 main_~i~0)} is VALID [2020-07-18 06:34:22,085 INFO L280 TraceCheckUtils]: 30: Hoare triple {5884#(<= 2 main_~i~0)} havoc #t~post1; {5884#(<= 2 main_~i~0)} is VALID [2020-07-18 06:34:22,085 INFO L280 TraceCheckUtils]: 31: Hoare triple {5884#(<= 2 main_~i~0)} assume !!(~i~0 < ~MAX~0); {5885#(<= 3 main_~MAX~0)} is VALID [2020-07-18 06:34:22,086 INFO L280 TraceCheckUtils]: 32: Hoare triple {5885#(<= 3 main_~MAX~0)} assume -128 <= #t~nondet2 && #t~nondet2 <= 127; {5885#(<= 3 main_~MAX~0)} is VALID [2020-07-18 06:34:22,086 INFO L280 TraceCheckUtils]: 33: Hoare triple {5885#(<= 3 main_~MAX~0)} SUMMARY for call write~int(#t~nondet2, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1); srcloc: L21-1 {5885#(<= 3 main_~MAX~0)} is VALID [2020-07-18 06:34:22,087 INFO L280 TraceCheckUtils]: 34: Hoare triple {5885#(<= 3 main_~MAX~0)} havoc #t~nondet2; {5885#(<= 3 main_~MAX~0)} is VALID [2020-07-18 06:34:22,087 INFO L280 TraceCheckUtils]: 35: Hoare triple {5885#(<= 3 main_~MAX~0)} #t~post1 := ~i~0; {5885#(<= 3 main_~MAX~0)} is VALID [2020-07-18 06:34:22,088 INFO L280 TraceCheckUtils]: 36: Hoare triple {5885#(<= 3 main_~MAX~0)} ~i~0 := 1 + #t~post1; {5885#(<= 3 main_~MAX~0)} is VALID [2020-07-18 06:34:22,088 INFO L280 TraceCheckUtils]: 37: Hoare triple {5885#(<= 3 main_~MAX~0)} havoc #t~post1; {5885#(<= 3 main_~MAX~0)} is VALID [2020-07-18 06:34:22,089 INFO L280 TraceCheckUtils]: 38: Hoare triple {5885#(<= 3 main_~MAX~0)} assume !(~i~0 < ~MAX~0); {5885#(<= 3 main_~MAX~0)} is VALID [2020-07-18 06:34:22,089 INFO L280 TraceCheckUtils]: 39: Hoare triple {5885#(<= 3 main_~MAX~0)} SUMMARY for call write~int(0, ~#str1~0.base, ~#str1~0.offset + (~MAX~0 - 1), 1); srcloc: L20-7 {5885#(<= 3 main_~MAX~0)} is VALID [2020-07-18 06:34:22,089 INFO L280 TraceCheckUtils]: 40: Hoare triple {5885#(<= 3 main_~MAX~0)} ~j~0 := 0; {5885#(<= 3 main_~MAX~0)} is VALID [2020-07-18 06:34:22,090 INFO L280 TraceCheckUtils]: 41: Hoare triple {5885#(<= 3 main_~MAX~0)} ~i~0 := ~MAX~0 - 1; {5884#(<= 2 main_~i~0)} is VALID [2020-07-18 06:34:22,090 INFO L280 TraceCheckUtils]: 42: Hoare triple {5884#(<= 2 main_~i~0)} assume !!(~i~0 >= 0); {5884#(<= 2 main_~i~0)} is VALID [2020-07-18 06:34:22,091 INFO L280 TraceCheckUtils]: 43: Hoare triple {5884#(<= 2 main_~i~0)} SUMMARY for call #t~mem4 := read~int(~#str1~0.base, ~#str1~0.offset, 1); srcloc: L28 {5884#(<= 2 main_~i~0)} is VALID [2020-07-18 06:34:22,091 INFO L280 TraceCheckUtils]: 44: Hoare triple {5884#(<= 2 main_~i~0)} SUMMARY for call write~int(#t~mem4, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1); srcloc: L28-1 {5884#(<= 2 main_~i~0)} is VALID [2020-07-18 06:34:22,092 INFO L280 TraceCheckUtils]: 45: Hoare triple {5884#(<= 2 main_~i~0)} havoc #t~mem4; {5884#(<= 2 main_~i~0)} is VALID [2020-07-18 06:34:22,092 INFO L280 TraceCheckUtils]: 46: Hoare triple {5884#(<= 2 main_~i~0)} #t~post5 := ~j~0; {5884#(<= 2 main_~i~0)} is VALID [2020-07-18 06:34:22,092 INFO L280 TraceCheckUtils]: 47: Hoare triple {5884#(<= 2 main_~i~0)} ~j~0 := 1 + #t~post5; {5884#(<= 2 main_~i~0)} is VALID [2020-07-18 06:34:22,093 INFO L280 TraceCheckUtils]: 48: Hoare triple {5884#(<= 2 main_~i~0)} havoc #t~post5; {5884#(<= 2 main_~i~0)} is VALID [2020-07-18 06:34:22,093 INFO L280 TraceCheckUtils]: 49: Hoare triple {5884#(<= 2 main_~i~0)} #t~post3 := ~i~0; {5886#(<= 2 |main_#t~post3|)} is VALID [2020-07-18 06:34:22,094 INFO L280 TraceCheckUtils]: 50: Hoare triple {5886#(<= 2 |main_#t~post3|)} ~i~0 := #t~post3 - 1; {5882#(<= 1 main_~i~0)} is VALID [2020-07-18 06:34:22,094 INFO L280 TraceCheckUtils]: 51: Hoare triple {5882#(<= 1 main_~i~0)} havoc #t~post3; {5882#(<= 1 main_~i~0)} is VALID [2020-07-18 06:34:22,094 INFO L280 TraceCheckUtils]: 52: Hoare triple {5882#(<= 1 main_~i~0)} assume !!(~i~0 >= 0); {5882#(<= 1 main_~i~0)} is VALID [2020-07-18 06:34:22,095 INFO L280 TraceCheckUtils]: 53: Hoare triple {5882#(<= 1 main_~i~0)} SUMMARY for call #t~mem4 := read~int(~#str1~0.base, ~#str1~0.offset, 1); srcloc: L28 {5882#(<= 1 main_~i~0)} is VALID [2020-07-18 06:34:22,095 INFO L280 TraceCheckUtils]: 54: Hoare triple {5882#(<= 1 main_~i~0)} SUMMARY for call write~int(#t~mem4, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1); srcloc: L28-1 {5882#(<= 1 main_~i~0)} is VALID [2020-07-18 06:34:22,095 INFO L280 TraceCheckUtils]: 55: Hoare triple {5882#(<= 1 main_~i~0)} havoc #t~mem4; {5882#(<= 1 main_~i~0)} is VALID [2020-07-18 06:34:22,096 INFO L280 TraceCheckUtils]: 56: Hoare triple {5882#(<= 1 main_~i~0)} #t~post5 := ~j~0; {5882#(<= 1 main_~i~0)} is VALID [2020-07-18 06:34:22,096 INFO L280 TraceCheckUtils]: 57: Hoare triple {5882#(<= 1 main_~i~0)} ~j~0 := 1 + #t~post5; {5882#(<= 1 main_~i~0)} is VALID [2020-07-18 06:34:22,097 INFO L280 TraceCheckUtils]: 58: Hoare triple {5882#(<= 1 main_~i~0)} havoc #t~post5; {5882#(<= 1 main_~i~0)} is VALID [2020-07-18 06:34:22,097 INFO L280 TraceCheckUtils]: 59: Hoare triple {5882#(<= 1 main_~i~0)} #t~post3 := ~i~0; {5887#(<= 1 |main_#t~post3|)} is VALID [2020-07-18 06:34:22,098 INFO L280 TraceCheckUtils]: 60: Hoare triple {5887#(<= 1 |main_#t~post3|)} ~i~0 := #t~post3 - 1; {5888#(<= 0 main_~i~0)} is VALID [2020-07-18 06:34:22,099 INFO L280 TraceCheckUtils]: 61: Hoare triple {5888#(<= 0 main_~i~0)} havoc #t~post3; {5888#(<= 0 main_~i~0)} is VALID [2020-07-18 06:34:22,104 INFO L280 TraceCheckUtils]: 62: Hoare triple {5888#(<= 0 main_~i~0)} assume !(~i~0 >= 0); {5874#false} is VALID [2020-07-18 06:34:22,105 INFO L280 TraceCheckUtils]: 63: Hoare triple {5874#false} ~j~0 := ~MAX~0 - 1; {5874#false} is VALID [2020-07-18 06:34:22,105 INFO L280 TraceCheckUtils]: 64: Hoare triple {5874#false} ~i~0 := 0; {5874#false} is VALID [2020-07-18 06:34:22,105 INFO L280 TraceCheckUtils]: 65: Hoare triple {5874#false} assume !!(~i~0 < ~MAX~0); {5874#false} is VALID [2020-07-18 06:34:22,105 INFO L280 TraceCheckUtils]: 66: Hoare triple {5874#false} SUMMARY for call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1); srcloc: L34 {5874#false} is VALID [2020-07-18 06:34:22,106 INFO L280 TraceCheckUtils]: 67: Hoare triple {5874#false} SUMMARY for call #t~mem8 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); srcloc: L34-1 {5874#false} is VALID [2020-07-18 06:34:22,106 INFO L263 TraceCheckUtils]: 68: Hoare triple {5874#false} call __VERIFIER_assert((if #t~mem7 == #t~mem8 then 1 else 0)); {5874#false} is VALID [2020-07-18 06:34:22,106 INFO L280 TraceCheckUtils]: 69: Hoare triple {5874#false} ~cond := #in~cond; {5874#false} is VALID [2020-07-18 06:34:22,106 INFO L280 TraceCheckUtils]: 70: Hoare triple {5874#false} assume 0 == ~cond; {5874#false} is VALID [2020-07-18 06:34:22,106 INFO L280 TraceCheckUtils]: 71: Hoare triple {5874#false} assume !false; {5874#false} is VALID [2020-07-18 06:34:22,111 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-18 06:34:22,111 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [728323773] [2020-07-18 06:34:22,112 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-18 06:34:22,112 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12] total 12 [2020-07-18 06:34:22,112 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2031507917] [2020-07-18 06:34:22,112 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 72 [2020-07-18 06:34:22,113 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 06:34:22,113 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2020-07-18 06:34:22,188 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-18 06:34:22,188 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2020-07-18 06:34:22,188 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 06:34:22,189 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2020-07-18 06:34:22,189 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=106, Unknown=0, NotChecked=0, Total=132 [2020-07-18 06:34:22,189 INFO L87 Difference]: Start difference. First operand 117 states and 121 transitions. Second operand 12 states. [2020-07-18 06:34:24,293 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:34:24,293 INFO L93 Difference]: Finished difference Result 193 states and 202 transitions. [2020-07-18 06:34:24,293 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2020-07-18 06:34:24,294 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 72 [2020-07-18 06:34:24,294 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 06:34:24,294 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-18 06:34:24,297 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 170 transitions. [2020-07-18 06:34:24,297 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-18 06:34:24,300 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 170 transitions. [2020-07-18 06:34:24,300 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 170 transitions. [2020-07-18 06:34:24,499 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-18 06:34:24,502 INFO L225 Difference]: With dead ends: 193 [2020-07-18 06:34:24,502 INFO L226 Difference]: Without dead ends: 173 [2020-07-18 06:34:24,503 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-18 06:34:24,504 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 173 states. [2020-07-18 06:34:25,064 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 173 to 127. [2020-07-18 06:34:25,065 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 06:34:25,065 INFO L82 GeneralOperation]: Start isEquivalent. First operand 173 states. Second operand 127 states. [2020-07-18 06:34:25,065 INFO L74 IsIncluded]: Start isIncluded. First operand 173 states. Second operand 127 states. [2020-07-18 06:34:25,065 INFO L87 Difference]: Start difference. First operand 173 states. Second operand 127 states. [2020-07-18 06:34:25,071 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:34:25,071 INFO L93 Difference]: Finished difference Result 173 states and 181 transitions. [2020-07-18 06:34:25,071 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 181 transitions. [2020-07-18 06:34:25,072 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:34:25,072 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:34:25,072 INFO L74 IsIncluded]: Start isIncluded. First operand 127 states. Second operand 173 states. [2020-07-18 06:34:25,072 INFO L87 Difference]: Start difference. First operand 127 states. Second operand 173 states. [2020-07-18 06:34:25,077 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:34:25,078 INFO L93 Difference]: Finished difference Result 173 states and 181 transitions. [2020-07-18 06:34:25,078 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 181 transitions. [2020-07-18 06:34:25,079 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:34:25,079 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:34:25,079 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 06:34:25,079 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 06:34:25,079 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 127 states. [2020-07-18 06:34:25,082 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 127 states to 127 states and 131 transitions. [2020-07-18 06:34:25,083 INFO L78 Accepts]: Start accepts. Automaton has 127 states and 131 transitions. Word has length 72 [2020-07-18 06:34:25,083 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 06:34:25,083 INFO L479 AbstractCegarLoop]: Abstraction has 127 states and 131 transitions. [2020-07-18 06:34:25,083 INFO L480 AbstractCegarLoop]: Interpolant automaton has 12 states. [2020-07-18 06:34:25,083 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 127 states and 131 transitions. [2020-07-18 06:34:25,392 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-18 06:34:25,392 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 131 transitions. [2020-07-18 06:34:25,393 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2020-07-18 06:34:25,393 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 06:34:25,393 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-18 06:34:25,394 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8 [2020-07-18 06:34:25,394 INFO L427 AbstractCegarLoop]: === Iteration 10 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 06:34:25,394 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 06:34:25,394 INFO L82 PathProgramCache]: Analyzing trace with hash 1430946398, now seen corresponding path program 6 times [2020-07-18 06:34:25,394 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 06:34:25,395 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [439091405] [2020-07-18 06:34:25,395 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 06:34:25,407 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:34:25,552 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:34:25,556 INFO L280 TraceCheckUtils]: 0: Hoare triple {6921#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {6904#true} is VALID [2020-07-18 06:34:25,556 INFO L280 TraceCheckUtils]: 1: Hoare triple {6904#true} #valid := #valid[0 := 0]; {6904#true} is VALID [2020-07-18 06:34:25,556 INFO L280 TraceCheckUtils]: 2: Hoare triple {6904#true} assume 0 < #StackHeapBarrier; {6904#true} is VALID [2020-07-18 06:34:25,556 INFO L280 TraceCheckUtils]: 3: Hoare triple {6904#true} assume true; {6904#true} is VALID [2020-07-18 06:34:25,557 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {6904#true} {6904#true} #107#return; {6904#true} is VALID [2020-07-18 06:34:25,557 INFO L263 TraceCheckUtils]: 0: Hoare triple {6904#true} call ULTIMATE.init(); {6921#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-18 06:34:25,558 INFO L280 TraceCheckUtils]: 1: Hoare triple {6921#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {6904#true} is VALID [2020-07-18 06:34:25,558 INFO L280 TraceCheckUtils]: 2: Hoare triple {6904#true} #valid := #valid[0 := 0]; {6904#true} is VALID [2020-07-18 06:34:25,558 INFO L280 TraceCheckUtils]: 3: Hoare triple {6904#true} assume 0 < #StackHeapBarrier; {6904#true} is VALID [2020-07-18 06:34:25,558 INFO L280 TraceCheckUtils]: 4: Hoare triple {6904#true} assume true; {6904#true} is VALID [2020-07-18 06:34:25,558 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {6904#true} {6904#true} #107#return; {6904#true} is VALID [2020-07-18 06:34:25,559 INFO L263 TraceCheckUtils]: 6: Hoare triple {6904#true} call #t~ret10 := main(); {6904#true} is VALID [2020-07-18 06:34:25,559 INFO L280 TraceCheckUtils]: 7: Hoare triple {6904#true} ~MAX~0 := (if #t~nondet0 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet0 % 4294967296 % 4294967296 else #t~nondet0 % 4294967296 % 4294967296 - 4294967296); {6904#true} is VALID [2020-07-18 06:34:25,559 INFO L280 TraceCheckUtils]: 8: Hoare triple {6904#true} havoc #t~nondet0; {6904#true} is VALID [2020-07-18 06:34:25,559 INFO L280 TraceCheckUtils]: 9: Hoare triple {6904#true} assume !!(~MAX~0 > 0); {6904#true} is VALID [2020-07-18 06:34:25,559 INFO L280 TraceCheckUtils]: 10: Hoare triple {6904#true} SUMMARY for call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack(~MAX~0); srcloc: L15-3 {6904#true} is VALID [2020-07-18 06:34:25,559 INFO L280 TraceCheckUtils]: 11: Hoare triple {6904#true} SUMMARY for call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(~MAX~0); srcloc: L16 {6904#true} is VALID [2020-07-18 06:34:25,560 INFO L280 TraceCheckUtils]: 12: Hoare triple {6904#true} havoc ~cont~0; {6904#true} is VALID [2020-07-18 06:34:25,560 INFO L280 TraceCheckUtils]: 13: Hoare triple {6904#true} havoc ~i~0; {6904#true} is VALID [2020-07-18 06:34:25,560 INFO L280 TraceCheckUtils]: 14: Hoare triple {6904#true} havoc ~j~0; {6904#true} is VALID [2020-07-18 06:34:25,560 INFO L280 TraceCheckUtils]: 15: Hoare triple {6904#true} ~cont~0 := 0; {6904#true} is VALID [2020-07-18 06:34:25,561 INFO L280 TraceCheckUtils]: 16: Hoare triple {6904#true} ~i~0 := 0; {6911#(= 0 main_~i~0)} is VALID [2020-07-18 06:34:25,561 INFO L280 TraceCheckUtils]: 17: Hoare triple {6911#(= 0 main_~i~0)} assume !!(~i~0 < ~MAX~0); {6911#(= 0 main_~i~0)} is VALID [2020-07-18 06:34:25,562 INFO L280 TraceCheckUtils]: 18: Hoare triple {6911#(= 0 main_~i~0)} assume -128 <= #t~nondet2 && #t~nondet2 <= 127; {6911#(= 0 main_~i~0)} is VALID [2020-07-18 06:34:25,562 INFO L280 TraceCheckUtils]: 19: Hoare triple {6911#(= 0 main_~i~0)} SUMMARY for call write~int(#t~nondet2, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1); srcloc: L21-1 {6911#(= 0 main_~i~0)} is VALID [2020-07-18 06:34:25,563 INFO L280 TraceCheckUtils]: 20: Hoare triple {6911#(= 0 main_~i~0)} havoc #t~nondet2; {6911#(= 0 main_~i~0)} is VALID [2020-07-18 06:34:25,564 INFO L280 TraceCheckUtils]: 21: Hoare triple {6911#(= 0 main_~i~0)} #t~post1 := ~i~0; {6912#(= |main_#t~post1| 0)} is VALID [2020-07-18 06:34:25,564 INFO L280 TraceCheckUtils]: 22: Hoare triple {6912#(= |main_#t~post1| 0)} ~i~0 := 1 + #t~post1; {6913#(<= main_~i~0 1)} is VALID [2020-07-18 06:34:25,565 INFO L280 TraceCheckUtils]: 23: Hoare triple {6913#(<= main_~i~0 1)} havoc #t~post1; {6913#(<= main_~i~0 1)} is VALID [2020-07-18 06:34:25,566 INFO L280 TraceCheckUtils]: 24: Hoare triple {6913#(<= main_~i~0 1)} assume !!(~i~0 < ~MAX~0); {6913#(<= main_~i~0 1)} is VALID [2020-07-18 06:34:25,566 INFO L280 TraceCheckUtils]: 25: Hoare triple {6913#(<= main_~i~0 1)} assume -128 <= #t~nondet2 && #t~nondet2 <= 127; {6913#(<= main_~i~0 1)} is VALID [2020-07-18 06:34:25,567 INFO L280 TraceCheckUtils]: 26: Hoare triple {6913#(<= main_~i~0 1)} SUMMARY for call write~int(#t~nondet2, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1); srcloc: L21-1 {6913#(<= main_~i~0 1)} is VALID [2020-07-18 06:34:25,568 INFO L280 TraceCheckUtils]: 27: Hoare triple {6913#(<= main_~i~0 1)} havoc #t~nondet2; {6913#(<= main_~i~0 1)} is VALID [2020-07-18 06:34:25,569 INFO L280 TraceCheckUtils]: 28: Hoare triple {6913#(<= main_~i~0 1)} #t~post1 := ~i~0; {6914#(<= |main_#t~post1| 1)} is VALID [2020-07-18 06:34:25,570 INFO L280 TraceCheckUtils]: 29: Hoare triple {6914#(<= |main_#t~post1| 1)} ~i~0 := 1 + #t~post1; {6915#(<= main_~i~0 2)} is VALID [2020-07-18 06:34:25,575 INFO L280 TraceCheckUtils]: 30: Hoare triple {6915#(<= main_~i~0 2)} havoc #t~post1; {6915#(<= main_~i~0 2)} is VALID [2020-07-18 06:34:25,576 INFO L280 TraceCheckUtils]: 31: Hoare triple {6915#(<= main_~i~0 2)} assume !(~i~0 < ~MAX~0); {6916#(<= main_~MAX~0 2)} is VALID [2020-07-18 06:34:25,577 INFO L280 TraceCheckUtils]: 32: Hoare triple {6916#(<= main_~MAX~0 2)} SUMMARY for call write~int(0, ~#str1~0.base, ~#str1~0.offset + (~MAX~0 - 1), 1); srcloc: L20-7 {6916#(<= main_~MAX~0 2)} is VALID [2020-07-18 06:34:25,577 INFO L280 TraceCheckUtils]: 33: Hoare triple {6916#(<= main_~MAX~0 2)} ~j~0 := 0; {6916#(<= main_~MAX~0 2)} is VALID [2020-07-18 06:34:25,579 INFO L280 TraceCheckUtils]: 34: Hoare triple {6916#(<= main_~MAX~0 2)} ~i~0 := ~MAX~0 - 1; {6913#(<= main_~i~0 1)} is VALID [2020-07-18 06:34:25,579 INFO L280 TraceCheckUtils]: 35: Hoare triple {6913#(<= main_~i~0 1)} assume !!(~i~0 >= 0); {6913#(<= main_~i~0 1)} is VALID [2020-07-18 06:34:25,580 INFO L280 TraceCheckUtils]: 36: Hoare triple {6913#(<= main_~i~0 1)} SUMMARY for call #t~mem4 := read~int(~#str1~0.base, ~#str1~0.offset, 1); srcloc: L28 {6913#(<= main_~i~0 1)} is VALID [2020-07-18 06:34:25,581 INFO L280 TraceCheckUtils]: 37: Hoare triple {6913#(<= main_~i~0 1)} SUMMARY for call write~int(#t~mem4, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1); srcloc: L28-1 {6913#(<= main_~i~0 1)} is VALID [2020-07-18 06:34:25,582 INFO L280 TraceCheckUtils]: 38: Hoare triple {6913#(<= main_~i~0 1)} havoc #t~mem4; {6913#(<= main_~i~0 1)} is VALID [2020-07-18 06:34:25,583 INFO L280 TraceCheckUtils]: 39: Hoare triple {6913#(<= main_~i~0 1)} #t~post5 := ~j~0; {6913#(<= main_~i~0 1)} is VALID [2020-07-18 06:34:25,584 INFO L280 TraceCheckUtils]: 40: Hoare triple {6913#(<= main_~i~0 1)} ~j~0 := 1 + #t~post5; {6913#(<= main_~i~0 1)} is VALID [2020-07-18 06:34:25,584 INFO L280 TraceCheckUtils]: 41: Hoare triple {6913#(<= main_~i~0 1)} havoc #t~post5; {6913#(<= main_~i~0 1)} is VALID [2020-07-18 06:34:25,585 INFO L280 TraceCheckUtils]: 42: Hoare triple {6913#(<= main_~i~0 1)} #t~post3 := ~i~0; {6917#(<= |main_#t~post3| 1)} is VALID [2020-07-18 06:34:25,587 INFO L280 TraceCheckUtils]: 43: Hoare triple {6917#(<= |main_#t~post3| 1)} ~i~0 := #t~post3 - 1; {6918#(<= main_~i~0 0)} is VALID [2020-07-18 06:34:25,587 INFO L280 TraceCheckUtils]: 44: Hoare triple {6918#(<= main_~i~0 0)} havoc #t~post3; {6918#(<= main_~i~0 0)} is VALID [2020-07-18 06:34:25,588 INFO L280 TraceCheckUtils]: 45: Hoare triple {6918#(<= main_~i~0 0)} assume !!(~i~0 >= 0); {6918#(<= main_~i~0 0)} is VALID [2020-07-18 06:34:25,589 INFO L280 TraceCheckUtils]: 46: Hoare triple {6918#(<= main_~i~0 0)} SUMMARY for call #t~mem4 := read~int(~#str1~0.base, ~#str1~0.offset, 1); srcloc: L28 {6918#(<= main_~i~0 0)} is VALID [2020-07-18 06:34:25,589 INFO L280 TraceCheckUtils]: 47: Hoare triple {6918#(<= main_~i~0 0)} SUMMARY for call write~int(#t~mem4, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1); srcloc: L28-1 {6918#(<= main_~i~0 0)} is VALID [2020-07-18 06:34:25,590 INFO L280 TraceCheckUtils]: 48: Hoare triple {6918#(<= main_~i~0 0)} havoc #t~mem4; {6918#(<= main_~i~0 0)} is VALID [2020-07-18 06:34:25,591 INFO L280 TraceCheckUtils]: 49: Hoare triple {6918#(<= main_~i~0 0)} #t~post5 := ~j~0; {6918#(<= main_~i~0 0)} is VALID [2020-07-18 06:34:25,592 INFO L280 TraceCheckUtils]: 50: Hoare triple {6918#(<= main_~i~0 0)} ~j~0 := 1 + #t~post5; {6918#(<= main_~i~0 0)} is VALID [2020-07-18 06:34:25,593 INFO L280 TraceCheckUtils]: 51: Hoare triple {6918#(<= main_~i~0 0)} havoc #t~post5; {6918#(<= main_~i~0 0)} is VALID [2020-07-18 06:34:25,594 INFO L280 TraceCheckUtils]: 52: Hoare triple {6918#(<= main_~i~0 0)} #t~post3 := ~i~0; {6919#(<= |main_#t~post3| 0)} is VALID [2020-07-18 06:34:25,595 INFO L280 TraceCheckUtils]: 53: Hoare triple {6919#(<= |main_#t~post3| 0)} ~i~0 := #t~post3 - 1; {6920#(<= (+ main_~i~0 1) 0)} is VALID [2020-07-18 06:34:25,595 INFO L280 TraceCheckUtils]: 54: Hoare triple {6920#(<= (+ main_~i~0 1) 0)} havoc #t~post3; {6920#(<= (+ main_~i~0 1) 0)} is VALID [2020-07-18 06:34:25,596 INFO L280 TraceCheckUtils]: 55: Hoare triple {6920#(<= (+ main_~i~0 1) 0)} assume !!(~i~0 >= 0); {6905#false} is VALID [2020-07-18 06:34:25,596 INFO L280 TraceCheckUtils]: 56: Hoare triple {6905#false} SUMMARY for call #t~mem4 := read~int(~#str1~0.base, ~#str1~0.offset, 1); srcloc: L28 {6905#false} is VALID [2020-07-18 06:34:25,596 INFO L280 TraceCheckUtils]: 57: Hoare triple {6905#false} SUMMARY for call write~int(#t~mem4, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1); srcloc: L28-1 {6905#false} is VALID [2020-07-18 06:34:25,597 INFO L280 TraceCheckUtils]: 58: Hoare triple {6905#false} havoc #t~mem4; {6905#false} is VALID [2020-07-18 06:34:25,597 INFO L280 TraceCheckUtils]: 59: Hoare triple {6905#false} #t~post5 := ~j~0; {6905#false} is VALID [2020-07-18 06:34:25,597 INFO L280 TraceCheckUtils]: 60: Hoare triple {6905#false} ~j~0 := 1 + #t~post5; {6905#false} is VALID [2020-07-18 06:34:25,597 INFO L280 TraceCheckUtils]: 61: Hoare triple {6905#false} havoc #t~post5; {6905#false} is VALID [2020-07-18 06:34:25,597 INFO L280 TraceCheckUtils]: 62: Hoare triple {6905#false} #t~post3 := ~i~0; {6905#false} is VALID [2020-07-18 06:34:25,597 INFO L280 TraceCheckUtils]: 63: Hoare triple {6905#false} ~i~0 := #t~post3 - 1; {6905#false} is VALID [2020-07-18 06:34:25,598 INFO L280 TraceCheckUtils]: 64: Hoare triple {6905#false} havoc #t~post3; {6905#false} is VALID [2020-07-18 06:34:25,598 INFO L280 TraceCheckUtils]: 65: Hoare triple {6905#false} assume !(~i~0 >= 0); {6905#false} is VALID [2020-07-18 06:34:25,598 INFO L280 TraceCheckUtils]: 66: Hoare triple {6905#false} ~j~0 := ~MAX~0 - 1; {6905#false} is VALID [2020-07-18 06:34:25,598 INFO L280 TraceCheckUtils]: 67: Hoare triple {6905#false} ~i~0 := 0; {6905#false} is VALID [2020-07-18 06:34:25,598 INFO L280 TraceCheckUtils]: 68: Hoare triple {6905#false} assume !!(~i~0 < ~MAX~0); {6905#false} is VALID [2020-07-18 06:34:25,599 INFO L280 TraceCheckUtils]: 69: Hoare triple {6905#false} SUMMARY for call #t~mem7 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1); srcloc: L34 {6905#false} is VALID [2020-07-18 06:34:25,599 INFO L280 TraceCheckUtils]: 70: Hoare triple {6905#false} SUMMARY for call #t~mem8 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); srcloc: L34-1 {6905#false} is VALID [2020-07-18 06:34:25,599 INFO L263 TraceCheckUtils]: 71: Hoare triple {6905#false} call __VERIFIER_assert((if #t~mem7 == #t~mem8 then 1 else 0)); {6905#false} is VALID [2020-07-18 06:34:25,599 INFO L280 TraceCheckUtils]: 72: Hoare triple {6905#false} ~cond := #in~cond; {6905#false} is VALID [2020-07-18 06:34:25,599 INFO L280 TraceCheckUtils]: 73: Hoare triple {6905#false} assume 0 == ~cond; {6905#false} is VALID [2020-07-18 06:34:25,599 INFO L280 TraceCheckUtils]: 74: Hoare triple {6905#false} assume !false; {6905#false} is VALID [2020-07-18 06:34:25,609 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-18 06:34:25,609 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [439091405] [2020-07-18 06:34:25,609 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-18 06:34:25,610 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13] total 13 [2020-07-18 06:34:25,610 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1104120609] [2020-07-18 06:34:25,611 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 75 [2020-07-18 06:34:25,611 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 06:34:25,612 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states. [2020-07-18 06:34:25,711 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-18 06:34:25,711 INFO L459 AbstractCegarLoop]: Interpolant automaton has 13 states [2020-07-18 06:34:25,712 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 06:34:25,712 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2020-07-18 06:34:25,712 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=122, Unknown=0, NotChecked=0, Total=156 [2020-07-18 06:34:25,713 INFO L87 Difference]: Start difference. First operand 127 states and 131 transitions. Second operand 13 states. [2020-07-18 06:34:27,642 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:34:27,642 INFO L93 Difference]: Finished difference Result 192 states and 199 transitions. [2020-07-18 06:34:27,643 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2020-07-18 06:34:27,643 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 75 [2020-07-18 06:34:27,643 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 06:34:27,643 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2020-07-18 06:34:27,646 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 175 transitions. [2020-07-18 06:34:27,646 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2020-07-18 06:34:27,649 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 175 transitions. [2020-07-18 06:34:27,649 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 175 transitions. [2020-07-18 06:34:27,837 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-18 06:34:27,841 INFO L225 Difference]: With dead ends: 192 [2020-07-18 06:34:27,841 INFO L226 Difference]: Without dead ends: 162 [2020-07-18 06:34:27,843 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 101 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=150, Invalid=500, Unknown=0, NotChecked=0, Total=650 [2020-07-18 06:34:27,843 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 162 states. [2020-07-18 06:34:28,484 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 162 to 127. [2020-07-18 06:34:28,485 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 06:34:28,485 INFO L82 GeneralOperation]: Start isEquivalent. First operand 162 states. Second operand 127 states. [2020-07-18 06:34:28,485 INFO L74 IsIncluded]: Start isIncluded. First operand 162 states. Second operand 127 states. [2020-07-18 06:34:28,485 INFO L87 Difference]: Start difference. First operand 162 states. Second operand 127 states. [2020-07-18 06:34:28,491 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:34:28,491 INFO L93 Difference]: Finished difference Result 162 states and 167 transitions. [2020-07-18 06:34:28,492 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 167 transitions. [2020-07-18 06:34:28,492 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:34:28,492 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:34:28,493 INFO L74 IsIncluded]: Start isIncluded. First operand 127 states. Second operand 162 states. [2020-07-18 06:34:28,493 INFO L87 Difference]: Start difference. First operand 127 states. Second operand 162 states. [2020-07-18 06:34:28,499 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:34:28,499 INFO L93 Difference]: Finished difference Result 162 states and 167 transitions. [2020-07-18 06:34:28,499 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 167 transitions. [2020-07-18 06:34:28,500 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:34:28,500 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:34:28,500 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 06:34:28,500 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 06:34:28,500 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 127 states. [2020-07-18 06:34:28,504 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 127 states to 127 states and 130 transitions. [2020-07-18 06:34:28,504 INFO L78 Accepts]: Start accepts. Automaton has 127 states and 130 transitions. Word has length 75 [2020-07-18 06:34:28,505 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 06:34:28,505 INFO L479 AbstractCegarLoop]: Abstraction has 127 states and 130 transitions. [2020-07-18 06:34:28,505 INFO L480 AbstractCegarLoop]: Interpolant automaton has 13 states. [2020-07-18 06:34:28,505 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 127 states and 130 transitions. [2020-07-18 06:34:28,791 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-18 06:34:28,792 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 130 transitions. [2020-07-18 06:34:28,793 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 82 [2020-07-18 06:34:28,793 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 06:34:28,793 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-18 06:34:28,793 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9 [2020-07-18 06:34:28,793 INFO L427 AbstractCegarLoop]: === Iteration 11 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 06:34:28,794 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 06:34:28,794 INFO L82 PathProgramCache]: Analyzing trace with hash 810536514, now seen corresponding path program 2 times [2020-07-18 06:34:28,794 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 06:34:28,794 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1863788725] [2020-07-18 06:34:28,794 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 06:34:28,847 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-18 06:34:28,882 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-18 06:34:28,919 INFO L174 FreeRefinementEngine]: Strategy FIXED_PREFERENCES found a feasible trace [2020-07-18 06:34:28,919 INFO L520 BasicCegarLoop]: Counterexample might be feasible [2020-07-18 06:34:28,920 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10 [2020-07-18 06:34:28,990 WARN L170 areAnnotationChecker]: ULTIMATE.initENTRY has no Hoare annotation [2020-07-18 06:34:28,991 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-18 06:34:28,991 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-18 06:34:28,991 WARN L170 areAnnotationChecker]: mainENTRY has no Hoare annotation [2020-07-18 06:34:28,991 WARN L170 areAnnotationChecker]: __VERIFIER_assertENTRY has no Hoare annotation [2020-07-18 06:34:28,991 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-18 06:34:28,991 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-18 06:34:28,992 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-18 06:34:28,992 WARN L170 areAnnotationChecker]: L14 has no Hoare annotation [2020-07-18 06:34:28,992 WARN L170 areAnnotationChecker]: L5 has no Hoare annotation [2020-07-18 06:34:28,992 WARN L170 areAnnotationChecker]: L5 has no Hoare annotation [2020-07-18 06:34:28,993 WARN L170 areAnnotationChecker]: L-1-1 has no Hoare annotation [2020-07-18 06:34:28,993 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2020-07-18 06:34:28,993 WARN L170 areAnnotationChecker]: L15 has no Hoare annotation [2020-07-18 06:34:28,993 WARN L170 areAnnotationChecker]: L15 has no Hoare annotation [2020-07-18 06:34:28,993 WARN L170 areAnnotationChecker]: L6 has no Hoare annotation [2020-07-18 06:34:28,993 WARN L170 areAnnotationChecker]: L6 has no Hoare annotation [2020-07-18 06:34:28,993 WARN L170 areAnnotationChecker]: L5-2 has no Hoare annotation [2020-07-18 06:34:28,994 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2020-07-18 06:34:28,994 WARN L170 areAnnotationChecker]: L15-1 has no Hoare annotation [2020-07-18 06:34:28,994 WARN L170 areAnnotationChecker]: L15-3 has no Hoare annotation [2020-07-18 06:34:28,994 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2020-07-18 06:34:28,994 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2020-07-18 06:34:28,994 WARN L170 areAnnotationChecker]: L16 has no Hoare annotation [2020-07-18 06:34:28,994 WARN L170 areAnnotationChecker]: L34-3 has no Hoare annotation [2020-07-18 06:34:28,994 WARN L170 areAnnotationChecker]: L16-1 has no Hoare annotation [2020-07-18 06:34:28,994 WARN L170 areAnnotationChecker]: L34-4 has no Hoare annotation [2020-07-18 06:34:28,994 WARN L170 areAnnotationChecker]: L17 has no Hoare annotation [2020-07-18 06:34:28,995 WARN L170 areAnnotationChecker]: L35 has no Hoare annotation [2020-07-18 06:34:28,995 WARN L170 areAnnotationChecker]: L17-1 has no Hoare annotation [2020-07-18 06:34:28,995 WARN L170 areAnnotationChecker]: L35-1 has no Hoare annotation [2020-07-18 06:34:28,995 WARN L170 areAnnotationChecker]: L18 has no Hoare annotation [2020-07-18 06:34:28,995 WARN L170 areAnnotationChecker]: L35-2 has no Hoare annotation [2020-07-18 06:34:28,995 WARN L170 areAnnotationChecker]: L20 has no Hoare annotation [2020-07-18 06:34:28,995 WARN L170 areAnnotationChecker]: L33-3 has no Hoare annotation [2020-07-18 06:34:28,995 WARN L170 areAnnotationChecker]: L20-6 has no Hoare annotation [2020-07-18 06:34:28,995 WARN L170 areAnnotationChecker]: L20-6 has no Hoare annotation [2020-07-18 06:34:28,995 WARN L170 areAnnotationChecker]: L20-6 has no Hoare annotation [2020-07-18 06:34:28,996 WARN L170 areAnnotationChecker]: L33-4 has no Hoare annotation [2020-07-18 06:34:28,996 WARN L170 areAnnotationChecker]: L20-7 has no Hoare annotation [2020-07-18 06:34:28,996 WARN L170 areAnnotationChecker]: L21 has no Hoare annotation [2020-07-18 06:34:28,996 WARN L170 areAnnotationChecker]: L33-5 has no Hoare annotation [2020-07-18 06:34:28,996 WARN L170 areAnnotationChecker]: L23 has no Hoare annotation [2020-07-18 06:34:28,997 WARN L170 areAnnotationChecker]: L21-1 has no Hoare annotation [2020-07-18 06:34:28,997 WARN L170 areAnnotationChecker]: L33-6 has no Hoare annotation [2020-07-18 06:34:28,997 WARN L170 areAnnotationChecker]: L33-6 has no Hoare annotation [2020-07-18 06:34:28,997 WARN L170 areAnnotationChecker]: L33-6 has no Hoare annotation [2020-07-18 06:34:28,997 WARN L170 areAnnotationChecker]: L27 has no Hoare annotation [2020-07-18 06:34:28,997 WARN L170 areAnnotationChecker]: L21-2 has no Hoare annotation [2020-07-18 06:34:28,998 WARN L170 areAnnotationChecker]: L33-7 has no Hoare annotation [2020-07-18 06:34:28,998 WARN L170 areAnnotationChecker]: L34 has no Hoare annotation [2020-07-18 06:34:28,998 WARN L170 areAnnotationChecker]: L27-6 has no Hoare annotation [2020-07-18 06:34:28,998 WARN L170 areAnnotationChecker]: L27-6 has no Hoare annotation [2020-07-18 06:34:28,998 WARN L170 areAnnotationChecker]: L27-6 has no Hoare annotation [2020-07-18 06:34:28,998 WARN L170 areAnnotationChecker]: L20-3 has no Hoare annotation [2020-07-18 06:34:28,998 WARN L170 areAnnotationChecker]: L16-2 has no Hoare annotation [2020-07-18 06:34:28,998 WARN L170 areAnnotationChecker]: L34-1 has no Hoare annotation [2020-07-18 06:34:28,999 WARN L170 areAnnotationChecker]: L27-7 has no Hoare annotation [2020-07-18 06:34:28,999 WARN L170 areAnnotationChecker]: L28 has no Hoare annotation [2020-07-18 06:34:28,999 WARN L170 areAnnotationChecker]: L20-4 has no Hoare annotation [2020-07-18 06:34:28,999 WARN L170 areAnnotationChecker]: L16-3 has no Hoare annotation [2020-07-18 06:34:28,999 WARN L170 areAnnotationChecker]: L34-2 has no Hoare annotation [2020-07-18 06:34:28,999 WARN L170 areAnnotationChecker]: L34-2 has no Hoare annotation [2020-07-18 06:34:28,999 WARN L170 areAnnotationChecker]: L33 has no Hoare annotation [2020-07-18 06:34:28,999 WARN L170 areAnnotationChecker]: L28-1 has no Hoare annotation [2020-07-18 06:34:28,999 WARN L170 areAnnotationChecker]: L20-5 has no Hoare annotation [2020-07-18 06:34:28,999 WARN L170 areAnnotationChecker]: L16-4 has no Hoare annotation [2020-07-18 06:34:29,000 WARN L170 areAnnotationChecker]: L28-2 has no Hoare annotation [2020-07-18 06:34:29,000 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2020-07-18 06:34:29,000 WARN L170 areAnnotationChecker]: L29 has no Hoare annotation [2020-07-18 06:34:29,000 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2020-07-18 06:34:29,000 WARN L170 areAnnotationChecker]: L29-1 has no Hoare annotation [2020-07-18 06:34:29,000 WARN L170 areAnnotationChecker]: L29-2 has no Hoare annotation [2020-07-18 06:34:29,000 WARN L170 areAnnotationChecker]: L27-3 has no Hoare annotation [2020-07-18 06:34:29,000 WARN L170 areAnnotationChecker]: L27-4 has no Hoare annotation [2020-07-18 06:34:29,000 WARN L170 areAnnotationChecker]: L27-5 has no Hoare annotation [2020-07-18 06:34:29,001 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-18 06:34:29,007 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 18.07 06:34:29 BoogieIcfgContainer [2020-07-18 06:34:29,008 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2020-07-18 06:34:29,012 INFO L168 Benchmark]: Toolchain (without parser) took 32259.86 ms. Allocated memory was 146.3 MB in the beginning and 444.6 MB in the end (delta: 298.3 MB). Free memory was 102.8 MB in the beginning and 340.9 MB in the end (delta: -238.1 MB). Peak memory consumption was 60.3 MB. Max. memory is 7.1 GB. [2020-07-18 06:34:29,013 INFO L168 Benchmark]: CDTParser took 0.23 ms. Allocated memory is still 146.3 MB. Free memory was 121.5 MB in the beginning and 121.3 MB in the end (delta: 209.9 kB). Peak memory consumption was 209.9 kB. Max. memory is 7.1 GB. [2020-07-18 06:34:29,014 INFO L168 Benchmark]: CACSL2BoogieTranslator took 313.24 ms. Allocated memory is still 146.3 MB. Free memory was 102.4 MB in the beginning and 91.7 MB in the end (delta: 10.7 MB). Peak memory consumption was 10.7 MB. Max. memory is 7.1 GB. [2020-07-18 06:34:29,018 INFO L168 Benchmark]: Boogie Preprocessor took 157.79 ms. Allocated memory was 146.3 MB in the beginning and 203.9 MB in the end (delta: 57.7 MB). Free memory was 91.7 MB in the beginning and 181.4 MB in the end (delta: -89.7 MB). Peak memory consumption was 10.0 MB. Max. memory is 7.1 GB. [2020-07-18 06:34:29,018 INFO L168 Benchmark]: RCFGBuilder took 564.85 ms. Allocated memory is still 203.9 MB. Free memory was 181.4 MB in the beginning and 153.2 MB in the end (delta: 28.1 MB). Peak memory consumption was 28.1 MB. Max. memory is 7.1 GB. [2020-07-18 06:34:29,019 INFO L168 Benchmark]: TraceAbstraction took 31210.29 ms. Allocated memory was 203.9 MB in the beginning and 444.6 MB in the end (delta: 240.6 MB). Free memory was 152.6 MB in the beginning and 340.9 MB in the end (delta: -188.3 MB). Peak memory consumption was 52.4 MB. Max. memory is 7.1 GB. [2020-07-18 06:34:29,028 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.23 ms. Allocated memory is still 146.3 MB. Free memory was 121.5 MB in the beginning and 121.3 MB in the end (delta: 209.9 kB). Peak memory consumption was 209.9 kB. Max. memory is 7.1 GB. * CACSL2BoogieTranslator took 313.24 ms. Allocated memory is still 146.3 MB. Free memory was 102.4 MB in the beginning and 91.7 MB in the end (delta: 10.7 MB). Peak memory consumption was 10.7 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 157.79 ms. Allocated memory was 146.3 MB in the beginning and 203.9 MB in the end (delta: 57.7 MB). Free memory was 91.7 MB in the beginning and 181.4 MB in the end (delta: -89.7 MB). Peak memory consumption was 10.0 MB. Max. memory is 7.1 GB. * RCFGBuilder took 564.85 ms. Allocated memory is still 203.9 MB. Free memory was 181.4 MB in the beginning and 153.2 MB in the end (delta: 28.1 MB). Peak memory consumption was 28.1 MB. Max. memory is 7.1 GB. * TraceAbstraction took 31210.29 ms. Allocated memory was 203.9 MB in the beginning and 444.6 MB in the end (delta: 240.6 MB). Free memory was 152.6 MB in the beginning and 340.9 MB in the end (delta: -188.3 MB). Peak memory consumption was 52.4 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