/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-8fc6572 [2020-07-11 02:27:36,730 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-11 02:27:36,734 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-11 02:27:36,759 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-11 02:27:36,760 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-11 02:27:36,762 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-11 02:27:36,765 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-11 02:27:36,777 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-11 02:27:36,781 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-11 02:27:36,785 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-11 02:27:36,788 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-11 02:27:36,791 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-11 02:27:36,791 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-11 02:27:36,794 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-11 02:27:36,797 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-11 02:27:36,799 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-11 02:27:36,801 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-11 02:27:36,802 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-11 02:27:36,805 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-11 02:27:36,812 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-11 02:27:36,818 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-11 02:27:36,822 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-11 02:27:36,824 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-11 02:27:36,825 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-11 02:27:36,829 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-11 02:27:36,829 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-11 02:27:36,829 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-11 02:27:36,833 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-11 02:27:36,833 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-11 02:27:36,836 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-11 02:27:36,836 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-11 02:27:36,837 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-11 02:27:36,839 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-11 02:27:36,840 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-11 02:27:36,842 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-11 02:27:36,842 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-11 02:27:36,843 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-11 02:27:36,843 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-11 02:27:36,843 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-11 02:27:36,845 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-11 02:27:36,847 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-11 02:27:36,848 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationFastUPR_32.epf [2020-07-11 02:27:36,868 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-11 02:27:36,868 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-11 02:27:36,875 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-11 02:27:36,876 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-11 02:27:36,876 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2020-07-11 02:27:36,876 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-11 02:27:36,876 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-11 02:27:36,876 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-11 02:27:36,877 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-11 02:27:36,877 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-11 02:27:36,877 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-11 02:27:36,877 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-11 02:27:36,877 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-11 02:27:36,877 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-11 02:27:36,878 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-11 02:27:36,878 INFO L138 SettingsManager]: * Size of a code block=SingleStatement [2020-07-11 02:27:36,878 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-11 02:27:36,878 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-11 02:27:36,879 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-11 02:27:36,879 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-11 02:27:36,879 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=AcceleratedInterpolation [2020-07-11 02:27:36,879 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-11 02:27:36,880 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-11 02:27:37,227 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-11 02:27:37,245 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-11 02:27:37,251 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-11 02:27:37,253 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-11 02:27:37,253 INFO L275 PluginConnector]: CDTParser initialized [2020-07-11 02:27:37,254 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-11 02:27:37,360 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7a9a56879/84e5cd13ca744dadb665c6e2fd46f37f/FLAGa05b24f7e [2020-07-11 02:27:37,986 INFO L306 CDTParser]: Found 1 translation units. [2020-07-11 02:27:37,987 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/loops/invert_string-1.c [2020-07-11 02:27:37,997 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7a9a56879/84e5cd13ca744dadb665c6e2fd46f37f/FLAGa05b24f7e [2020-07-11 02:27:38,274 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7a9a56879/84e5cd13ca744dadb665c6e2fd46f37f [2020-07-11 02:27:38,286 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-11 02:27:38,288 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2020-07-11 02:27:38,290 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-11 02:27:38,290 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-11 02:27:38,295 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-11 02:27:38,297 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 11.07 02:27:38" (1/1) ... [2020-07-11 02:27:38,301 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6ed6c4af and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 02:27:38, skipping insertion in model container [2020-07-11 02:27:38,301 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 11.07 02:27:38" (1/1) ... [2020-07-11 02:27:38,312 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-11 02:27:38,335 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-11 02:27:38,550 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-11 02:27:38,557 INFO L203 MainTranslator]: Completed pre-run [2020-07-11 02:27:38,591 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-11 02:27:38,621 INFO L208 MainTranslator]: Completed translation [2020-07-11 02:27:38,622 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 02:27:38 WrapperNode [2020-07-11 02:27:38,622 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-11 02:27:38,623 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-11 02:27:38,623 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-11 02:27:38,623 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-11 02:27:38,735 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 02:27:38" (1/1) ... [2020-07-11 02:27:38,735 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 02:27:38" (1/1) ... [2020-07-11 02:27:38,749 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 02:27:38" (1/1) ... [2020-07-11 02:27:38,749 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 02:27:38" (1/1) ... [2020-07-11 02:27:38,779 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 02:27:38" (1/1) ... [2020-07-11 02:27:38,788 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 02:27:38" (1/1) ... [2020-07-11 02:27:38,790 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 02:27:38" (1/1) ... [2020-07-11 02:27:38,793 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-11 02:27:38,794 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-11 02:27:38,794 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-11 02:27:38,794 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-11 02:27:38,795 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 02:27:38" (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-11 02:27:38,874 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2020-07-11 02:27:38,875 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-11 02:27:38,875 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2020-07-11 02:27:38,875 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2020-07-11 02:27:38,876 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2020-07-11 02:27:38,876 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2020-07-11 02:27:38,876 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2020-07-11 02:27:38,876 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_char [2020-07-11 02:27:38,877 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_uint [2020-07-11 02:27:38,877 INFO L130 BoogieDeclarations]: Found specification of procedure main [2020-07-11 02:27:38,877 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2020-07-11 02:27:38,877 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2020-07-11 02:27:38,878 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2020-07-11 02:27:38,878 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2020-07-11 02:27:38,878 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2020-07-11 02:27:38,878 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-11 02:27:39,439 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-11 02:27:39,440 INFO L295 CfgBuilder]: Removed 3 assume(true) statements. [2020-07-11 02:27:39,445 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 11.07 02:27:39 BoogieIcfgContainer [2020-07-11 02:27:39,446 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-11 02:27:39,447 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-11 02:27:39,447 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-11 02:27:39,451 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-11 02:27:39,451 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 11.07 02:27:38" (1/3) ... [2020-07-11 02:27:39,453 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@ece007e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 11.07 02:27:39, skipping insertion in model container [2020-07-11 02:27:39,453 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 02:27:38" (2/3) ... [2020-07-11 02:27:39,454 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@ece007e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 11.07 02:27:39, skipping insertion in model container [2020-07-11 02:27:39,454 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 11.07 02:27:39" (3/3) ... [2020-07-11 02:27:39,457 INFO L109 eAbstractionObserver]: Analyzing ICFG invert_string-1.c [2020-07-11 02:27:39,470 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2020-07-11 02:27:39,478 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2020-07-11 02:27:39,491 INFO L251 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2020-07-11 02:27:39,516 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-11 02:27:39,516 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-11 02:27:39,517 INFO L377 AbstractCegarLoop]: Compute interpolants for Craig_NestedInterpolation [2020-07-11 02:27:39,517 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-11 02:27:39,517 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-11 02:27:39,517 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-11 02:27:39,517 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-11 02:27:39,518 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-11 02:27:39,537 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states. [2020-07-11 02:27:39,551 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2020-07-11 02:27:39,552 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 02:27:39,553 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-11 02:27:39,554 INFO L427 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 02:27:39,561 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 02:27:39,562 INFO L82 PathProgramCache]: Analyzing trace with hash -1584943199, now seen corresponding path program 1 times [2020-07-11 02:27:39,574 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 02:27:39,574 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [462532171] [2020-07-11 02:27:39,575 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 02:27:39,736 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 02:27:39,869 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 02:27:39,908 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-11 02:27:39,909 INFO L280 TraceCheckUtils]: 1: Hoare triple {69#true} #valid := #valid[0 := 0]; {69#true} is VALID [2020-07-11 02:27:39,910 INFO L280 TraceCheckUtils]: 2: Hoare triple {69#true} assume 0 < #StackHeapBarrier; {69#true} is VALID [2020-07-11 02:27:39,910 INFO L280 TraceCheckUtils]: 3: Hoare triple {69#true} assume true; {69#true} is VALID [2020-07-11 02:27:39,911 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {69#true} {69#true} #107#return; {69#true} is VALID [2020-07-11 02:27:39,919 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-11 02:27:39,919 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-11 02:27:39,920 INFO L280 TraceCheckUtils]: 2: Hoare triple {69#true} #valid := #valid[0 := 0]; {69#true} is VALID [2020-07-11 02:27:39,921 INFO L280 TraceCheckUtils]: 3: Hoare triple {69#true} assume 0 < #StackHeapBarrier; {69#true} is VALID [2020-07-11 02:27:39,921 INFO L280 TraceCheckUtils]: 4: Hoare triple {69#true} assume true; {69#true} is VALID [2020-07-11 02:27:39,923 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {69#true} {69#true} #107#return; {69#true} is VALID [2020-07-11 02:27:39,923 INFO L263 TraceCheckUtils]: 6: Hoare triple {69#true} call #t~ret10 := main(); {69#true} is VALID [2020-07-11 02:27:39,924 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-11 02:27:39,924 INFO L280 TraceCheckUtils]: 8: Hoare triple {69#true} havoc #t~nondet0; {69#true} is VALID [2020-07-11 02:27:39,924 INFO L280 TraceCheckUtils]: 9: Hoare triple {69#true} assume !!(~MAX~0 > 0); {69#true} is VALID [2020-07-11 02:27:39,925 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-11 02:27:39,925 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-11 02:27:39,925 INFO L280 TraceCheckUtils]: 12: Hoare triple {69#true} havoc ~cont~0; {69#true} is VALID [2020-07-11 02:27:39,926 INFO L280 TraceCheckUtils]: 13: Hoare triple {69#true} havoc ~i~0; {69#true} is VALID [2020-07-11 02:27:39,926 INFO L280 TraceCheckUtils]: 14: Hoare triple {69#true} havoc ~j~0; {69#true} is VALID [2020-07-11 02:27:39,926 INFO L280 TraceCheckUtils]: 15: Hoare triple {69#true} ~cont~0 := 0; {69#true} is VALID [2020-07-11 02:27:39,927 INFO L280 TraceCheckUtils]: 16: Hoare triple {69#true} ~i~0 := 0; {69#true} is VALID [2020-07-11 02:27:39,928 INFO L280 TraceCheckUtils]: 17: Hoare triple {69#true} assume !true; {70#false} is VALID [2020-07-11 02:27:39,928 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-11 02:27:39,929 INFO L280 TraceCheckUtils]: 19: Hoare triple {70#false} ~j~0 := 0; {70#false} is VALID [2020-07-11 02:27:39,929 INFO L280 TraceCheckUtils]: 20: Hoare triple {70#false} ~i~0 := ~MAX~0 - 1; {70#false} is VALID [2020-07-11 02:27:39,929 INFO L280 TraceCheckUtils]: 21: Hoare triple {70#false} assume !(~i~0 >= 0); {70#false} is VALID [2020-07-11 02:27:39,930 INFO L280 TraceCheckUtils]: 22: Hoare triple {70#false} ~j~0 := ~MAX~0 - 1; {70#false} is VALID [2020-07-11 02:27:39,930 INFO L280 TraceCheckUtils]: 23: Hoare triple {70#false} ~i~0 := 0; {70#false} is VALID [2020-07-11 02:27:39,930 INFO L280 TraceCheckUtils]: 24: Hoare triple {70#false} assume !!(~i~0 < ~MAX~0); {70#false} is VALID [2020-07-11 02:27:39,931 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-11 02:27:39,931 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-11 02:27:39,933 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-11 02:27:39,934 INFO L280 TraceCheckUtils]: 28: Hoare triple {70#false} ~cond := #in~cond; {70#false} is VALID [2020-07-11 02:27:39,934 INFO L280 TraceCheckUtils]: 29: Hoare triple {70#false} assume 0 == ~cond; {70#false} is VALID [2020-07-11 02:27:39,935 INFO L280 TraceCheckUtils]: 30: Hoare triple {70#false} assume !false; {70#false} is VALID [2020-07-11 02:27:39,944 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-11 02:27:39,947 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [462532171] [2020-07-11 02:27:39,951 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-11 02:27:39,951 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2020-07-11 02:27:39,954 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1607392273] [2020-07-11 02:27:39,962 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 31 [2020-07-11 02:27:39,965 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 02:27:39,970 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2020-07-11 02:27:40,052 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-11 02:27:40,052 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2020-07-11 02:27:40,053 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 02:27:40,064 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2020-07-11 02:27:40,065 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2020-07-11 02:27:40,069 INFO L87 Difference]: Start difference. First operand 66 states. Second operand 3 states. [2020-07-11 02:27:40,606 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 02:27:40,607 INFO L93 Difference]: Finished difference Result 121 states and 135 transitions. [2020-07-11 02:27:40,607 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2020-07-11 02:27:40,607 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 31 [2020-07-11 02:27:40,608 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 02:27:40,609 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2020-07-11 02:27:40,624 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 135 transitions. [2020-07-11 02:27:40,624 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2020-07-11 02:27:40,630 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 135 transitions. [2020-07-11 02:27:40,631 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 135 transitions. [2020-07-11 02:27:40,836 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-11 02:27:40,853 INFO L225 Difference]: With dead ends: 121 [2020-07-11 02:27:40,854 INFO L226 Difference]: Without dead ends: 57 [2020-07-11 02:27:40,859 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-11 02:27:40,886 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2020-07-11 02:27:40,972 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 57. [2020-07-11 02:27:40,973 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 02:27:40,973 INFO L82 GeneralOperation]: Start isEquivalent. First operand 57 states. Second operand 57 states. [2020-07-11 02:27:40,974 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand 57 states. [2020-07-11 02:27:40,975 INFO L87 Difference]: Start difference. First operand 57 states. Second operand 57 states. [2020-07-11 02:27:40,981 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 02:27:40,982 INFO L93 Difference]: Finished difference Result 57 states and 59 transitions. [2020-07-11 02:27:40,982 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 59 transitions. [2020-07-11 02:27:40,983 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 02:27:40,983 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 02:27:40,983 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand 57 states. [2020-07-11 02:27:40,984 INFO L87 Difference]: Start difference. First operand 57 states. Second operand 57 states. [2020-07-11 02:27:40,989 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 02:27:40,990 INFO L93 Difference]: Finished difference Result 57 states and 59 transitions. [2020-07-11 02:27:40,990 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 59 transitions. [2020-07-11 02:27:40,991 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 02:27:40,992 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 02:27:40,992 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 02:27:40,992 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 02:27:40,992 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 57 states. [2020-07-11 02:27:40,997 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 59 transitions. [2020-07-11 02:27:40,999 INFO L78 Accepts]: Start accepts. Automaton has 57 states and 59 transitions. Word has length 31 [2020-07-11 02:27:41,000 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 02:27:41,000 INFO L479 AbstractCegarLoop]: Abstraction has 57 states and 59 transitions. [2020-07-11 02:27:41,000 INFO L480 AbstractCegarLoop]: Interpolant automaton has 3 states. [2020-07-11 02:27:41,000 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 57 states and 59 transitions. [2020-07-11 02:27:41,101 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-11 02:27:41,102 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 59 transitions. [2020-07-11 02:27:41,106 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2020-07-11 02:27:41,106 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 02:27:41,107 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-11 02:27:41,107 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2020-07-11 02:27:41,108 INFO L427 AbstractCegarLoop]: === Iteration 2 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 02:27:41,110 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 02:27:41,110 INFO L82 PathProgramCache]: Analyzing trace with hash -318765620, now seen corresponding path program 1 times [2020-07-11 02:27:41,111 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 02:27:41,111 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1047516682] [2020-07-11 02:27:41,111 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 02:27:41,201 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 02:27:41,344 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 02:27:41,356 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-11 02:27:41,357 INFO L280 TraceCheckUtils]: 1: Hoare triple {549#true} #valid := #valid[0 := 0]; {549#true} is VALID [2020-07-11 02:27:41,357 INFO L280 TraceCheckUtils]: 2: Hoare triple {549#true} assume 0 < #StackHeapBarrier; {549#true} is VALID [2020-07-11 02:27:41,357 INFO L280 TraceCheckUtils]: 3: Hoare triple {549#true} assume true; {549#true} is VALID [2020-07-11 02:27:41,358 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {549#true} {549#true} #107#return; {549#true} is VALID [2020-07-11 02:27:41,359 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-11 02:27:41,360 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-11 02:27:41,360 INFO L280 TraceCheckUtils]: 2: Hoare triple {549#true} #valid := #valid[0 := 0]; {549#true} is VALID [2020-07-11 02:27:41,360 INFO L280 TraceCheckUtils]: 3: Hoare triple {549#true} assume 0 < #StackHeapBarrier; {549#true} is VALID [2020-07-11 02:27:41,361 INFO L280 TraceCheckUtils]: 4: Hoare triple {549#true} assume true; {549#true} is VALID [2020-07-11 02:27:41,361 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {549#true} {549#true} #107#return; {549#true} is VALID [2020-07-11 02:27:41,362 INFO L263 TraceCheckUtils]: 6: Hoare triple {549#true} call #t~ret10 := main(); {549#true} is VALID [2020-07-11 02:27:41,362 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-11 02:27:41,362 INFO L280 TraceCheckUtils]: 8: Hoare triple {549#true} havoc #t~nondet0; {549#true} is VALID [2020-07-11 02:27:41,364 INFO L280 TraceCheckUtils]: 9: Hoare triple {549#true} assume !!(~MAX~0 > 0); {556#(<= 1 main_~MAX~0)} is VALID [2020-07-11 02:27:41,365 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-11 02:27:41,366 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-11 02:27:41,367 INFO L280 TraceCheckUtils]: 12: Hoare triple {556#(<= 1 main_~MAX~0)} havoc ~cont~0; {556#(<= 1 main_~MAX~0)} is VALID [2020-07-11 02:27:41,368 INFO L280 TraceCheckUtils]: 13: Hoare triple {556#(<= 1 main_~MAX~0)} havoc ~i~0; {556#(<= 1 main_~MAX~0)} is VALID [2020-07-11 02:27:41,370 INFO L280 TraceCheckUtils]: 14: Hoare triple {556#(<= 1 main_~MAX~0)} havoc ~j~0; {556#(<= 1 main_~MAX~0)} is VALID [2020-07-11 02:27:41,371 INFO L280 TraceCheckUtils]: 15: Hoare triple {556#(<= 1 main_~MAX~0)} ~cont~0 := 0; {556#(<= 1 main_~MAX~0)} is VALID [2020-07-11 02:27:41,373 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-11 02:27:41,374 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-11 02:27:41,374 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-11 02:27:41,375 INFO L280 TraceCheckUtils]: 19: Hoare triple {550#false} ~j~0 := 0; {550#false} is VALID [2020-07-11 02:27:41,375 INFO L280 TraceCheckUtils]: 20: Hoare triple {550#false} ~i~0 := ~MAX~0 - 1; {550#false} is VALID [2020-07-11 02:27:41,375 INFO L280 TraceCheckUtils]: 21: Hoare triple {550#false} assume !(~i~0 >= 0); {550#false} is VALID [2020-07-11 02:27:41,376 INFO L280 TraceCheckUtils]: 22: Hoare triple {550#false} ~j~0 := ~MAX~0 - 1; {550#false} is VALID [2020-07-11 02:27:41,376 INFO L280 TraceCheckUtils]: 23: Hoare triple {550#false} ~i~0 := 0; {550#false} is VALID [2020-07-11 02:27:41,376 INFO L280 TraceCheckUtils]: 24: Hoare triple {550#false} assume !!(~i~0 < ~MAX~0); {550#false} is VALID [2020-07-11 02:27:41,377 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-11 02:27:41,377 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-11 02:27:41,377 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-11 02:27:41,378 INFO L280 TraceCheckUtils]: 28: Hoare triple {550#false} ~cond := #in~cond; {550#false} is VALID [2020-07-11 02:27:41,378 INFO L280 TraceCheckUtils]: 29: Hoare triple {550#false} assume 0 == ~cond; {550#false} is VALID [2020-07-11 02:27:41,378 INFO L280 TraceCheckUtils]: 30: Hoare triple {550#false} assume !false; {550#false} is VALID [2020-07-11 02:27:41,381 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-11 02:27:41,381 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1047516682] [2020-07-11 02:27:41,382 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-11 02:27:41,382 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2020-07-11 02:27:41,382 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1667078100] [2020-07-11 02:27:41,385 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 31 [2020-07-11 02:27:41,386 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 02:27:41,386 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2020-07-11 02:27:41,431 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-11 02:27:41,432 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2020-07-11 02:27:41,432 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 02:27:41,433 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2020-07-11 02:27:41,433 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2020-07-11 02:27:41,433 INFO L87 Difference]: Start difference. First operand 57 states and 59 transitions. Second operand 5 states. [2020-07-11 02:27:42,010 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 02:27:42,010 INFO L93 Difference]: Finished difference Result 107 states and 112 transitions. [2020-07-11 02:27:42,010 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2020-07-11 02:27:42,011 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 31 [2020-07-11 02:27:42,011 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 02:27:42,011 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-11 02:27:42,016 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 112 transitions. [2020-07-11 02:27:42,017 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-11 02:27:42,021 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 112 transitions. [2020-07-11 02:27:42,021 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 112 transitions. [2020-07-11 02:27:42,168 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-11 02:27:42,172 INFO L225 Difference]: With dead ends: 107 [2020-07-11 02:27:42,172 INFO L226 Difference]: Without dead ends: 74 [2020-07-11 02:27:42,174 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-11 02:27:42,175 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2020-07-11 02:27:42,260 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 58. [2020-07-11 02:27:42,261 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 02:27:42,261 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand 58 states. [2020-07-11 02:27:42,261 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand 58 states. [2020-07-11 02:27:42,261 INFO L87 Difference]: Start difference. First operand 74 states. Second operand 58 states. [2020-07-11 02:27:42,267 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 02:27:42,267 INFO L93 Difference]: Finished difference Result 74 states and 77 transitions. [2020-07-11 02:27:42,268 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 77 transitions. [2020-07-11 02:27:42,269 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 02:27:42,269 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 02:27:42,269 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand 74 states. [2020-07-11 02:27:42,269 INFO L87 Difference]: Start difference. First operand 58 states. Second operand 74 states. [2020-07-11 02:27:42,275 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 02:27:42,275 INFO L93 Difference]: Finished difference Result 74 states and 77 transitions. [2020-07-11 02:27:42,275 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 77 transitions. [2020-07-11 02:27:42,276 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 02:27:42,277 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 02:27:42,277 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 02:27:42,277 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 02:27:42,277 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 58 states. [2020-07-11 02:27:42,280 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 58 states to 58 states and 60 transitions. [2020-07-11 02:27:42,281 INFO L78 Accepts]: Start accepts. Automaton has 58 states and 60 transitions. Word has length 31 [2020-07-11 02:27:42,281 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 02:27:42,281 INFO L479 AbstractCegarLoop]: Abstraction has 58 states and 60 transitions. [2020-07-11 02:27:42,282 INFO L480 AbstractCegarLoop]: Interpolant automaton has 5 states. [2020-07-11 02:27:42,282 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 58 states and 60 transitions. [2020-07-11 02:27:42,352 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-11 02:27:42,353 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 60 transitions. [2020-07-11 02:27:42,354 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2020-07-11 02:27:42,355 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 02:27:42,355 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-11 02:27:42,355 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2020-07-11 02:27:42,355 INFO L427 AbstractCegarLoop]: === Iteration 3 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 02:27:42,356 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 02:27:42,356 INFO L82 PathProgramCache]: Analyzing trace with hash -1837873718, now seen corresponding path program 1 times [2020-07-11 02:27:42,357 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 02:27:42,357 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [362050240] [2020-07-11 02:27:42,357 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 02:27:42,381 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 02:27:42,448 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 02:27:42,466 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-11 02:27:42,466 INFO L280 TraceCheckUtils]: 1: Hoare triple {1041#true} #valid := #valid[0 := 0]; {1041#true} is VALID [2020-07-11 02:27:42,467 INFO L280 TraceCheckUtils]: 2: Hoare triple {1041#true} assume 0 < #StackHeapBarrier; {1041#true} is VALID [2020-07-11 02:27:42,467 INFO L280 TraceCheckUtils]: 3: Hoare triple {1041#true} assume true; {1041#true} is VALID [2020-07-11 02:27:42,467 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {1041#true} {1041#true} #107#return; {1041#true} is VALID [2020-07-11 02:27:42,469 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-11 02:27:42,469 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-11 02:27:42,469 INFO L280 TraceCheckUtils]: 2: Hoare triple {1041#true} #valid := #valid[0 := 0]; {1041#true} is VALID [2020-07-11 02:27:42,470 INFO L280 TraceCheckUtils]: 3: Hoare triple {1041#true} assume 0 < #StackHeapBarrier; {1041#true} is VALID [2020-07-11 02:27:42,470 INFO L280 TraceCheckUtils]: 4: Hoare triple {1041#true} assume true; {1041#true} is VALID [2020-07-11 02:27:42,470 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {1041#true} {1041#true} #107#return; {1041#true} is VALID [2020-07-11 02:27:42,471 INFO L263 TraceCheckUtils]: 6: Hoare triple {1041#true} call #t~ret10 := main(); {1041#true} is VALID [2020-07-11 02:27:42,471 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-11 02:27:42,472 INFO L280 TraceCheckUtils]: 8: Hoare triple {1041#true} havoc #t~nondet0; {1041#true} is VALID [2020-07-11 02:27:42,474 INFO L280 TraceCheckUtils]: 9: Hoare triple {1041#true} assume !!(~MAX~0 > 0); {1048#(<= 1 main_~MAX~0)} is VALID [2020-07-11 02:27:42,475 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-11 02:27:42,476 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-11 02:27:42,477 INFO L280 TraceCheckUtils]: 12: Hoare triple {1048#(<= 1 main_~MAX~0)} havoc ~cont~0; {1048#(<= 1 main_~MAX~0)} is VALID [2020-07-11 02:27:42,478 INFO L280 TraceCheckUtils]: 13: Hoare triple {1048#(<= 1 main_~MAX~0)} havoc ~i~0; {1048#(<= 1 main_~MAX~0)} is VALID [2020-07-11 02:27:42,479 INFO L280 TraceCheckUtils]: 14: Hoare triple {1048#(<= 1 main_~MAX~0)} havoc ~j~0; {1048#(<= 1 main_~MAX~0)} is VALID [2020-07-11 02:27:42,479 INFO L280 TraceCheckUtils]: 15: Hoare triple {1048#(<= 1 main_~MAX~0)} ~cont~0 := 0; {1048#(<= 1 main_~MAX~0)} is VALID [2020-07-11 02:27:42,480 INFO L280 TraceCheckUtils]: 16: Hoare triple {1048#(<= 1 main_~MAX~0)} ~i~0 := 0; {1048#(<= 1 main_~MAX~0)} is VALID [2020-07-11 02:27:42,481 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-11 02:27:42,482 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-11 02:27:42,483 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-11 02:27:42,484 INFO L280 TraceCheckUtils]: 20: Hoare triple {1048#(<= 1 main_~MAX~0)} havoc #t~nondet2; {1048#(<= 1 main_~MAX~0)} is VALID [2020-07-11 02:27:42,485 INFO L280 TraceCheckUtils]: 21: Hoare triple {1048#(<= 1 main_~MAX~0)} #t~post1 := ~i~0; {1048#(<= 1 main_~MAX~0)} is VALID [2020-07-11 02:27:42,486 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-11 02:27:42,487 INFO L280 TraceCheckUtils]: 23: Hoare triple {1048#(<= 1 main_~MAX~0)} havoc #t~post1; {1048#(<= 1 main_~MAX~0)} is VALID [2020-07-11 02:27:42,488 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-11 02:27:42,489 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-11 02:27:42,490 INFO L280 TraceCheckUtils]: 26: Hoare triple {1048#(<= 1 main_~MAX~0)} ~j~0 := 0; {1048#(<= 1 main_~MAX~0)} is VALID [2020-07-11 02:27:42,491 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-11 02:27:42,491 INFO L280 TraceCheckUtils]: 28: Hoare triple {1049#(<= 0 main_~i~0)} assume !(~i~0 >= 0); {1042#false} is VALID [2020-07-11 02:27:42,492 INFO L280 TraceCheckUtils]: 29: Hoare triple {1042#false} ~j~0 := ~MAX~0 - 1; {1042#false} is VALID [2020-07-11 02:27:42,492 INFO L280 TraceCheckUtils]: 30: Hoare triple {1042#false} ~i~0 := 0; {1042#false} is VALID [2020-07-11 02:27:42,492 INFO L280 TraceCheckUtils]: 31: Hoare triple {1042#false} assume !!(~i~0 < ~MAX~0); {1042#false} is VALID [2020-07-11 02:27:42,492 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-11 02:27:42,493 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-11 02:27:42,493 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-11 02:27:42,493 INFO L280 TraceCheckUtils]: 35: Hoare triple {1042#false} ~cond := #in~cond; {1042#false} is VALID [2020-07-11 02:27:42,494 INFO L280 TraceCheckUtils]: 36: Hoare triple {1042#false} assume 0 == ~cond; {1042#false} is VALID [2020-07-11 02:27:42,494 INFO L280 TraceCheckUtils]: 37: Hoare triple {1042#false} assume !false; {1042#false} is VALID [2020-07-11 02:27:42,496 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-11 02:27:42,496 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [362050240] [2020-07-11 02:27:42,497 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-11 02:27:42,497 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2020-07-11 02:27:42,497 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1340087105] [2020-07-11 02:27:42,498 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 38 [2020-07-11 02:27:42,498 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 02:27:42,498 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2020-07-11 02:27:42,534 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-11 02:27:42,534 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2020-07-11 02:27:42,534 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 02:27:42,535 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2020-07-11 02:27:42,535 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2020-07-11 02:27:42,536 INFO L87 Difference]: Start difference. First operand 58 states and 60 transitions. Second operand 5 states. [2020-07-11 02:27:43,073 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 02:27:43,074 INFO L93 Difference]: Finished difference Result 95 states and 99 transitions. [2020-07-11 02:27:43,074 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2020-07-11 02:27:43,074 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 38 [2020-07-11 02:27:43,075 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 02:27:43,075 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-11 02:27:43,085 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 99 transitions. [2020-07-11 02:27:43,086 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-11 02:27:43,095 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 99 transitions. [2020-07-11 02:27:43,095 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 99 transitions. [2020-07-11 02:27:43,231 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-11 02:27:43,235 INFO L225 Difference]: With dead ends: 95 [2020-07-11 02:27:43,236 INFO L226 Difference]: Without dead ends: 75 [2020-07-11 02:27:43,237 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-11 02:27:43,238 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 75 states. [2020-07-11 02:27:43,367 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 75 to 59. [2020-07-11 02:27:43,368 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 02:27:43,368 INFO L82 GeneralOperation]: Start isEquivalent. First operand 75 states. Second operand 59 states. [2020-07-11 02:27:43,368 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand 59 states. [2020-07-11 02:27:43,368 INFO L87 Difference]: Start difference. First operand 75 states. Second operand 59 states. [2020-07-11 02:27:43,372 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 02:27:43,372 INFO L93 Difference]: Finished difference Result 75 states and 78 transitions. [2020-07-11 02:27:43,373 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 78 transitions. [2020-07-11 02:27:43,373 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 02:27:43,374 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 02:27:43,374 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand 75 states. [2020-07-11 02:27:43,374 INFO L87 Difference]: Start difference. First operand 59 states. Second operand 75 states. [2020-07-11 02:27:43,379 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 02:27:43,379 INFO L93 Difference]: Finished difference Result 75 states and 78 transitions. [2020-07-11 02:27:43,380 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 78 transitions. [2020-07-11 02:27:43,380 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 02:27:43,381 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 02:27:43,381 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 02:27:43,381 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 02:27:43,381 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 59 states. [2020-07-11 02:27:43,384 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 61 transitions. [2020-07-11 02:27:43,384 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 61 transitions. Word has length 38 [2020-07-11 02:27:43,385 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 02:27:43,385 INFO L479 AbstractCegarLoop]: Abstraction has 59 states and 61 transitions. [2020-07-11 02:27:43,385 INFO L480 AbstractCegarLoop]: Interpolant automaton has 5 states. [2020-07-11 02:27:43,385 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 59 states and 61 transitions. [2020-07-11 02:27:43,463 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-11 02:27:43,464 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 61 transitions. [2020-07-11 02:27:43,465 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2020-07-11 02:27:43,465 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 02:27:43,466 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-11 02:27:43,466 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2020-07-11 02:27:43,466 INFO L427 AbstractCegarLoop]: === Iteration 4 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 02:27:43,467 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 02:27:43,467 INFO L82 PathProgramCache]: Analyzing trace with hash -2141827952, now seen corresponding path program 1 times [2020-07-11 02:27:43,467 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 02:27:43,467 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1052140937] [2020-07-11 02:27:43,468 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 02:27:43,539 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 02:27:44,572 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 02:27:44,582 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-11 02:27:44,582 INFO L280 TraceCheckUtils]: 1: Hoare triple {1515#true} #valid := #valid[0 := 0]; {1515#true} is VALID [2020-07-11 02:27:44,583 INFO L280 TraceCheckUtils]: 2: Hoare triple {1515#true} assume 0 < #StackHeapBarrier; {1515#true} is VALID [2020-07-11 02:27:44,583 INFO L280 TraceCheckUtils]: 3: Hoare triple {1515#true} assume true; {1515#true} is VALID [2020-07-11 02:27:44,583 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {1515#true} {1515#true} #107#return; {1515#true} is VALID [2020-07-11 02:27:44,585 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-11 02:27:44,585 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-11 02:27:44,586 INFO L280 TraceCheckUtils]: 2: Hoare triple {1515#true} #valid := #valid[0 := 0]; {1515#true} is VALID [2020-07-11 02:27:44,586 INFO L280 TraceCheckUtils]: 3: Hoare triple {1515#true} assume 0 < #StackHeapBarrier; {1515#true} is VALID [2020-07-11 02:27:44,586 INFO L280 TraceCheckUtils]: 4: Hoare triple {1515#true} assume true; {1515#true} is VALID [2020-07-11 02:27:44,586 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {1515#true} {1515#true} #107#return; {1515#true} is VALID [2020-07-11 02:27:44,587 INFO L263 TraceCheckUtils]: 6: Hoare triple {1515#true} call #t~ret10 := main(); {1515#true} is VALID [2020-07-11 02:27:44,591 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-11 02:27:44,592 INFO L280 TraceCheckUtils]: 8: Hoare triple {1515#true} havoc #t~nondet0; {1515#true} is VALID [2020-07-11 02:27:44,610 INFO L280 TraceCheckUtils]: 9: Hoare triple {1515#true} assume !!(~MAX~0 > 0); {1522#(<= 1 main_~MAX~0)} is VALID [2020-07-11 02:27:44,613 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-11 02:27:44,614 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-11 02:27:44,615 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-11 02:27:44,616 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-11 02:27:44,617 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-11 02:27:44,618 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-11 02:27:44,620 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-11 02:27:44,621 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-11 02:27:44,622 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-11 02:27:44,624 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-11 02:27:44,626 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-11 02:27:44,630 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-11 02:27:44,633 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-11 02:27:44,635 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-11 02:27:44,636 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-11 02:27:44,640 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-11 02:27:44,645 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-11 02:27:44,649 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-11 02:27:44,657 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-11 02:27:44,658 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-11 02:27:44,660 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-11 02:27:44,662 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-11 02:27:44,663 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-11 02:27:44,664 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-11 02:27:44,665 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-11 02:27:44,667 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-11 02:27:44,669 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-11 02:27:44,671 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-11 02:27:44,673 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-11 02:27:44,674 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-11 02:27:44,675 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-11 02:27:44,677 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-11 02:27:44,679 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-11 02:27:44,683 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-11 02:27:44,686 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-11 02:27:44,687 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-11 02:27:44,688 INFO L280 TraceCheckUtils]: 46: Hoare triple {1537#(not (= 0 __VERIFIER_assert_~cond))} assume 0 == ~cond; {1516#false} is VALID [2020-07-11 02:27:44,689 INFO L280 TraceCheckUtils]: 47: Hoare triple {1516#false} assume !false; {1516#false} is VALID [2020-07-11 02:27:44,703 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-11 02:27:44,705 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1052140937] [2020-07-11 02:27:44,705 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-11 02:27:44,705 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19] total 19 [2020-07-11 02:27:44,705 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1005468306] [2020-07-11 02:27:44,706 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 48 [2020-07-11 02:27:44,708 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 02:27:44,708 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states. [2020-07-11 02:27:44,803 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-11 02:27:44,803 INFO L459 AbstractCegarLoop]: Interpolant automaton has 19 states [2020-07-11 02:27:44,803 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 02:27:44,804 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2020-07-11 02:27:44,805 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=287, Unknown=0, NotChecked=0, Total=342 [2020-07-11 02:27:44,805 INFO L87 Difference]: Start difference. First operand 59 states and 61 transitions. Second operand 19 states. [2020-07-11 02:27:48,982 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 02:27:48,982 INFO L93 Difference]: Finished difference Result 164 states and 173 transitions. [2020-07-11 02:27:48,982 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2020-07-11 02:27:48,982 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 48 [2020-07-11 02:27:48,983 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 02:27:48,983 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2020-07-11 02:27:48,993 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 172 transitions. [2020-07-11 02:27:48,993 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2020-07-11 02:27:49,006 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 172 transitions. [2020-07-11 02:27:49,006 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 27 states and 172 transitions. [2020-07-11 02:27:49,274 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-11 02:27:49,281 INFO L225 Difference]: With dead ends: 164 [2020-07-11 02:27:49,282 INFO L226 Difference]: Without dead ends: 162 [2020-07-11 02:27:49,283 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 44 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 40 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 357 ImplicationChecksByTransitivity, 1.7s TimeCoverageRelationStatistics Valid=353, Invalid=1369, Unknown=0, NotChecked=0, Total=1722 [2020-07-11 02:27:49,284 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 162 states. [2020-07-11 02:27:49,679 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 162 to 90. [2020-07-11 02:27:49,680 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 02:27:49,680 INFO L82 GeneralOperation]: Start isEquivalent. First operand 162 states. Second operand 90 states. [2020-07-11 02:27:49,680 INFO L74 IsIncluded]: Start isIncluded. First operand 162 states. Second operand 90 states. [2020-07-11 02:27:49,681 INFO L87 Difference]: Start difference. First operand 162 states. Second operand 90 states. [2020-07-11 02:27:49,698 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 02:27:49,698 INFO L93 Difference]: Finished difference Result 162 states and 171 transitions. [2020-07-11 02:27:49,699 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 171 transitions. [2020-07-11 02:27:49,700 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 02:27:49,700 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 02:27:49,700 INFO L74 IsIncluded]: Start isIncluded. First operand 90 states. Second operand 162 states. [2020-07-11 02:27:49,700 INFO L87 Difference]: Start difference. First operand 90 states. Second operand 162 states. [2020-07-11 02:27:49,715 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 02:27:49,715 INFO L93 Difference]: Finished difference Result 162 states and 171 transitions. [2020-07-11 02:27:49,715 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 171 transitions. [2020-07-11 02:27:49,716 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 02:27:49,716 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 02:27:49,717 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 02:27:49,717 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 02:27:49,717 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 90 states. [2020-07-11 02:27:49,722 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 90 states to 90 states and 94 transitions. [2020-07-11 02:27:49,723 INFO L78 Accepts]: Start accepts. Automaton has 90 states and 94 transitions. Word has length 48 [2020-07-11 02:27:49,725 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 02:27:49,725 INFO L479 AbstractCegarLoop]: Abstraction has 90 states and 94 transitions. [2020-07-11 02:27:49,726 INFO L480 AbstractCegarLoop]: Interpolant automaton has 19 states. [2020-07-11 02:27:49,726 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 90 states and 94 transitions. [2020-07-11 02:27:49,907 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-11 02:27:49,907 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 94 transitions. [2020-07-11 02:27:49,908 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2020-07-11 02:27:49,909 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 02:27:49,909 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-11 02:27:49,909 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2020-07-11 02:27:49,910 INFO L427 AbstractCegarLoop]: === Iteration 5 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 02:27:49,910 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 02:27:49,910 INFO L82 PathProgramCache]: Analyzing trace with hash -523876270, now seen corresponding path program 2 times [2020-07-11 02:27:49,910 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 02:27:49,911 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [864583478] [2020-07-11 02:27:49,911 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 02:27:49,934 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 02:27:50,070 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 02:27:50,077 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-11 02:27:50,078 INFO L280 TraceCheckUtils]: 1: Hoare triple {2419#true} #valid := #valid[0 := 0]; {2419#true} is VALID [2020-07-11 02:27:50,078 INFO L280 TraceCheckUtils]: 2: Hoare triple {2419#true} assume 0 < #StackHeapBarrier; {2419#true} is VALID [2020-07-11 02:27:50,078 INFO L280 TraceCheckUtils]: 3: Hoare triple {2419#true} assume true; {2419#true} is VALID [2020-07-11 02:27:50,078 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {2419#true} {2419#true} #107#return; {2419#true} is VALID [2020-07-11 02:27:50,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-11 02:27:50,080 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-11 02:27:50,080 INFO L280 TraceCheckUtils]: 2: Hoare triple {2419#true} #valid := #valid[0 := 0]; {2419#true} is VALID [2020-07-11 02:27:50,080 INFO L280 TraceCheckUtils]: 3: Hoare triple {2419#true} assume 0 < #StackHeapBarrier; {2419#true} is VALID [2020-07-11 02:27:50,080 INFO L280 TraceCheckUtils]: 4: Hoare triple {2419#true} assume true; {2419#true} is VALID [2020-07-11 02:27:50,081 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {2419#true} {2419#true} #107#return; {2419#true} is VALID [2020-07-11 02:27:50,081 INFO L263 TraceCheckUtils]: 6: Hoare triple {2419#true} call #t~ret10 := main(); {2419#true} is VALID [2020-07-11 02:27:50,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-11 02:27:50,081 INFO L280 TraceCheckUtils]: 8: Hoare triple {2419#true} havoc #t~nondet0; {2419#true} is VALID [2020-07-11 02:27:50,081 INFO L280 TraceCheckUtils]: 9: Hoare triple {2419#true} assume !!(~MAX~0 > 0); {2419#true} is VALID [2020-07-11 02:27:50,082 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-11 02:27:50,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-11 02:27:50,082 INFO L280 TraceCheckUtils]: 12: Hoare triple {2419#true} havoc ~cont~0; {2419#true} is VALID [2020-07-11 02:27:50,082 INFO L280 TraceCheckUtils]: 13: Hoare triple {2419#true} havoc ~i~0; {2419#true} is VALID [2020-07-11 02:27:50,083 INFO L280 TraceCheckUtils]: 14: Hoare triple {2419#true} havoc ~j~0; {2419#true} is VALID [2020-07-11 02:27:50,083 INFO L280 TraceCheckUtils]: 15: Hoare triple {2419#true} ~cont~0 := 0; {2419#true} is VALID [2020-07-11 02:27:50,091 INFO L280 TraceCheckUtils]: 16: Hoare triple {2419#true} ~i~0 := 0; {2426#(= 0 main_~i~0)} is VALID [2020-07-11 02:27:50,092 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-11 02:27:50,097 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-11 02:27:50,102 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-11 02:27:50,104 INFO L280 TraceCheckUtils]: 20: Hoare triple {2426#(= 0 main_~i~0)} havoc #t~nondet2; {2426#(= 0 main_~i~0)} is VALID [2020-07-11 02:27:50,105 INFO L280 TraceCheckUtils]: 21: Hoare triple {2426#(= 0 main_~i~0)} #t~post1 := ~i~0; {2427#(= |main_#t~post1| 0)} is VALID [2020-07-11 02:27:50,105 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-11 02:27:50,106 INFO L280 TraceCheckUtils]: 23: Hoare triple {2428#(<= 1 main_~i~0)} havoc #t~post1; {2428#(<= 1 main_~i~0)} is VALID [2020-07-11 02:27:50,107 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-11 02:27:50,108 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-11 02:27:50,109 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-11 02:27:50,109 INFO L280 TraceCheckUtils]: 27: Hoare triple {2429#(<= 2 main_~MAX~0)} havoc #t~nondet2; {2429#(<= 2 main_~MAX~0)} is VALID [2020-07-11 02:27:50,110 INFO L280 TraceCheckUtils]: 28: Hoare triple {2429#(<= 2 main_~MAX~0)} #t~post1 := ~i~0; {2429#(<= 2 main_~MAX~0)} is VALID [2020-07-11 02:27:50,111 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-11 02:27:50,117 INFO L280 TraceCheckUtils]: 30: Hoare triple {2429#(<= 2 main_~MAX~0)} havoc #t~post1; {2429#(<= 2 main_~MAX~0)} is VALID [2020-07-11 02:27:50,118 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-11 02:27:50,119 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-11 02:27:50,122 INFO L280 TraceCheckUtils]: 33: Hoare triple {2429#(<= 2 main_~MAX~0)} ~j~0 := 0; {2429#(<= 2 main_~MAX~0)} is VALID [2020-07-11 02:27:50,123 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-11 02:27:50,124 INFO L280 TraceCheckUtils]: 35: Hoare triple {2428#(<= 1 main_~i~0)} assume !!(~i~0 >= 0); {2428#(<= 1 main_~i~0)} is VALID [2020-07-11 02:27:50,125 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-11 02:27:50,125 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-11 02:27:50,126 INFO L280 TraceCheckUtils]: 38: Hoare triple {2428#(<= 1 main_~i~0)} havoc #t~mem4; {2428#(<= 1 main_~i~0)} is VALID [2020-07-11 02:27:50,127 INFO L280 TraceCheckUtils]: 39: Hoare triple {2428#(<= 1 main_~i~0)} #t~post5 := ~j~0; {2428#(<= 1 main_~i~0)} is VALID [2020-07-11 02:27:50,127 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-11 02:27:50,128 INFO L280 TraceCheckUtils]: 41: Hoare triple {2428#(<= 1 main_~i~0)} havoc #t~post5; {2428#(<= 1 main_~i~0)} is VALID [2020-07-11 02:27:50,128 INFO L280 TraceCheckUtils]: 42: Hoare triple {2428#(<= 1 main_~i~0)} #t~post3 := ~i~0; {2430#(<= 1 |main_#t~post3|)} is VALID [2020-07-11 02:27:50,129 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-11 02:27:50,133 INFO L280 TraceCheckUtils]: 44: Hoare triple {2431#(<= 0 main_~i~0)} havoc #t~post3; {2431#(<= 0 main_~i~0)} is VALID [2020-07-11 02:27:50,138 INFO L280 TraceCheckUtils]: 45: Hoare triple {2431#(<= 0 main_~i~0)} assume !(~i~0 >= 0); {2420#false} is VALID [2020-07-11 02:27:50,138 INFO L280 TraceCheckUtils]: 46: Hoare triple {2420#false} ~j~0 := ~MAX~0 - 1; {2420#false} is VALID [2020-07-11 02:27:50,139 INFO L280 TraceCheckUtils]: 47: Hoare triple {2420#false} ~i~0 := 0; {2420#false} is VALID [2020-07-11 02:27:50,139 INFO L280 TraceCheckUtils]: 48: Hoare triple {2420#false} assume !!(~i~0 < ~MAX~0); {2420#false} is VALID [2020-07-11 02:27:50,139 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-11 02:27:50,139 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-11 02:27:50,140 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-11 02:27:50,140 INFO L280 TraceCheckUtils]: 52: Hoare triple {2420#false} ~cond := #in~cond; {2420#false} is VALID [2020-07-11 02:27:50,140 INFO L280 TraceCheckUtils]: 53: Hoare triple {2420#false} assume 0 == ~cond; {2420#false} is VALID [2020-07-11 02:27:50,140 INFO L280 TraceCheckUtils]: 54: Hoare triple {2420#false} assume !false; {2420#false} is VALID [2020-07-11 02:27:50,145 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-11 02:27:50,146 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [864583478] [2020-07-11 02:27:50,146 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-11 02:27:50,146 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2020-07-11 02:27:50,147 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [883238175] [2020-07-11 02:27:50,147 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 55 [2020-07-11 02:27:50,148 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 02:27:50,148 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-11 02:27:50,211 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-11 02:27:50,212 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-11 02:27:50,212 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 02:27:50,213 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-11 02:27:50,213 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2020-07-11 02:27:50,213 INFO L87 Difference]: Start difference. First operand 90 states and 94 transitions. Second operand 9 states. [2020-07-11 02:27:52,022 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 02:27:52,022 INFO L93 Difference]: Finished difference Result 171 states and 180 transitions. [2020-07-11 02:27:52,023 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2020-07-11 02:27:52,023 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 55 [2020-07-11 02:27:52,023 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 02:27:52,023 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-11 02:27:52,034 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 158 transitions. [2020-07-11 02:27:52,035 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-11 02:27:52,043 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 158 transitions. [2020-07-11 02:27:52,043 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 158 transitions. [2020-07-11 02:27:52,223 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-11 02:27:52,227 INFO L225 Difference]: With dead ends: 171 [2020-07-11 02:27:52,228 INFO L226 Difference]: Without dead ends: 151 [2020-07-11 02:27:52,229 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-11 02:27:52,230 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 151 states. [2020-07-11 02:27:52,613 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 151 to 100. [2020-07-11 02:27:52,614 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 02:27:52,614 INFO L82 GeneralOperation]: Start isEquivalent. First operand 151 states. Second operand 100 states. [2020-07-11 02:27:52,614 INFO L74 IsIncluded]: Start isIncluded. First operand 151 states. Second operand 100 states. [2020-07-11 02:27:52,614 INFO L87 Difference]: Start difference. First operand 151 states. Second operand 100 states. [2020-07-11 02:27:52,620 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 02:27:52,621 INFO L93 Difference]: Finished difference Result 151 states and 159 transitions. [2020-07-11 02:27:52,621 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 159 transitions. [2020-07-11 02:27:52,622 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 02:27:52,622 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 02:27:52,622 INFO L74 IsIncluded]: Start isIncluded. First operand 100 states. Second operand 151 states. [2020-07-11 02:27:52,622 INFO L87 Difference]: Start difference. First operand 100 states. Second operand 151 states. [2020-07-11 02:27:52,628 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 02:27:52,629 INFO L93 Difference]: Finished difference Result 151 states and 159 transitions. [2020-07-11 02:27:52,629 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 159 transitions. [2020-07-11 02:27:52,630 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 02:27:52,630 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 02:27:52,630 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 02:27:52,630 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 02:27:52,630 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 100 states. [2020-07-11 02:27:52,633 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100 states to 100 states and 104 transitions. [2020-07-11 02:27:52,633 INFO L78 Accepts]: Start accepts. Automaton has 100 states and 104 transitions. Word has length 55 [2020-07-11 02:27:52,634 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 02:27:52,634 INFO L479 AbstractCegarLoop]: Abstraction has 100 states and 104 transitions. [2020-07-11 02:27:52,634 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-11 02:27:52,634 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 100 states and 104 transitions. [2020-07-11 02:27:52,849 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-11 02:27:52,849 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 104 transitions. [2020-07-11 02:27:52,850 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2020-07-11 02:27:52,850 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 02:27:52,851 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-11 02:27:52,851 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2020-07-11 02:27:52,852 INFO L427 AbstractCegarLoop]: === Iteration 6 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 02:27:52,852 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 02:27:52,853 INFO L82 PathProgramCache]: Analyzing trace with hash -2134174762, now seen corresponding path program 3 times [2020-07-11 02:27:52,853 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 02:27:52,853 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1037920343] [2020-07-11 02:27:52,853 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 02:27:52,874 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 02:27:53,013 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 02:27:53,019 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-11 02:27:53,020 INFO L280 TraceCheckUtils]: 1: Hoare triple {3293#true} #valid := #valid[0 := 0]; {3293#true} is VALID [2020-07-11 02:27:53,020 INFO L280 TraceCheckUtils]: 2: Hoare triple {3293#true} assume 0 < #StackHeapBarrier; {3293#true} is VALID [2020-07-11 02:27:53,020 INFO L280 TraceCheckUtils]: 3: Hoare triple {3293#true} assume true; {3293#true} is VALID [2020-07-11 02:27:53,020 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {3293#true} {3293#true} #107#return; {3293#true} is VALID [2020-07-11 02:27:53,022 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-11 02:27:53,022 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-11 02:27:53,023 INFO L280 TraceCheckUtils]: 2: Hoare triple {3293#true} #valid := #valid[0 := 0]; {3293#true} is VALID [2020-07-11 02:27:53,023 INFO L280 TraceCheckUtils]: 3: Hoare triple {3293#true} assume 0 < #StackHeapBarrier; {3293#true} is VALID [2020-07-11 02:27:53,023 INFO L280 TraceCheckUtils]: 4: Hoare triple {3293#true} assume true; {3293#true} is VALID [2020-07-11 02:27:53,024 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {3293#true} {3293#true} #107#return; {3293#true} is VALID [2020-07-11 02:27:53,024 INFO L263 TraceCheckUtils]: 6: Hoare triple {3293#true} call #t~ret10 := main(); {3293#true} is VALID [2020-07-11 02:27:53,024 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-11 02:27:53,024 INFO L280 TraceCheckUtils]: 8: Hoare triple {3293#true} havoc #t~nondet0; {3293#true} is VALID [2020-07-11 02:27:53,025 INFO L280 TraceCheckUtils]: 9: Hoare triple {3293#true} assume !!(~MAX~0 > 0); {3293#true} is VALID [2020-07-11 02:27:53,025 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-11 02:27:53,025 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-11 02:27:53,025 INFO L280 TraceCheckUtils]: 12: Hoare triple {3293#true} havoc ~cont~0; {3293#true} is VALID [2020-07-11 02:27:53,025 INFO L280 TraceCheckUtils]: 13: Hoare triple {3293#true} havoc ~i~0; {3293#true} is VALID [2020-07-11 02:27:53,026 INFO L280 TraceCheckUtils]: 14: Hoare triple {3293#true} havoc ~j~0; {3293#true} is VALID [2020-07-11 02:27:53,026 INFO L280 TraceCheckUtils]: 15: Hoare triple {3293#true} ~cont~0 := 0; {3293#true} is VALID [2020-07-11 02:27:53,027 INFO L280 TraceCheckUtils]: 16: Hoare triple {3293#true} ~i~0 := 0; {3300#(= 0 main_~i~0)} is VALID [2020-07-11 02:27:53,027 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-11 02:27:53,028 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-11 02:27:53,028 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-11 02:27:53,030 INFO L280 TraceCheckUtils]: 20: Hoare triple {3300#(= 0 main_~i~0)} havoc #t~nondet2; {3300#(= 0 main_~i~0)} is VALID [2020-07-11 02:27:53,033 INFO L280 TraceCheckUtils]: 21: Hoare triple {3300#(= 0 main_~i~0)} #t~post1 := ~i~0; {3301#(= |main_#t~post1| 0)} is VALID [2020-07-11 02:27:53,035 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-11 02:27:53,038 INFO L280 TraceCheckUtils]: 23: Hoare triple {3302#(<= main_~i~0 1)} havoc #t~post1; {3302#(<= main_~i~0 1)} is VALID [2020-07-11 02:27:53,039 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-11 02:27:53,039 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-11 02:27:53,040 INFO L280 TraceCheckUtils]: 26: Hoare triple {3303#(<= main_~MAX~0 1)} ~j~0 := 0; {3303#(<= main_~MAX~0 1)} is VALID [2020-07-11 02:27:53,040 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-11 02:27:53,041 INFO L280 TraceCheckUtils]: 28: Hoare triple {3304#(<= main_~i~0 0)} assume !!(~i~0 >= 0); {3304#(<= main_~i~0 0)} is VALID [2020-07-11 02:27:53,041 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-11 02:27:53,042 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-11 02:27:53,042 INFO L280 TraceCheckUtils]: 31: Hoare triple {3304#(<= main_~i~0 0)} havoc #t~mem4; {3304#(<= main_~i~0 0)} is VALID [2020-07-11 02:27:53,043 INFO L280 TraceCheckUtils]: 32: Hoare triple {3304#(<= main_~i~0 0)} #t~post5 := ~j~0; {3304#(<= main_~i~0 0)} is VALID [2020-07-11 02:27:53,043 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-11 02:27:53,043 INFO L280 TraceCheckUtils]: 34: Hoare triple {3304#(<= main_~i~0 0)} havoc #t~post5; {3304#(<= main_~i~0 0)} is VALID [2020-07-11 02:27:53,044 INFO L280 TraceCheckUtils]: 35: Hoare triple {3304#(<= main_~i~0 0)} #t~post3 := ~i~0; {3305#(<= |main_#t~post3| 0)} is VALID [2020-07-11 02:27:53,045 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-11 02:27:53,045 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-11 02:27:53,046 INFO L280 TraceCheckUtils]: 38: Hoare triple {3306#(<= (+ main_~i~0 1) 0)} assume !!(~i~0 >= 0); {3294#false} is VALID [2020-07-11 02:27:53,046 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-11 02:27:53,047 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-11 02:27:53,047 INFO L280 TraceCheckUtils]: 41: Hoare triple {3294#false} havoc #t~mem4; {3294#false} is VALID [2020-07-11 02:27:53,047 INFO L280 TraceCheckUtils]: 42: Hoare triple {3294#false} #t~post5 := ~j~0; {3294#false} is VALID [2020-07-11 02:27:53,047 INFO L280 TraceCheckUtils]: 43: Hoare triple {3294#false} ~j~0 := 1 + #t~post5; {3294#false} is VALID [2020-07-11 02:27:53,047 INFO L280 TraceCheckUtils]: 44: Hoare triple {3294#false} havoc #t~post5; {3294#false} is VALID [2020-07-11 02:27:53,047 INFO L280 TraceCheckUtils]: 45: Hoare triple {3294#false} #t~post3 := ~i~0; {3294#false} is VALID [2020-07-11 02:27:53,047 INFO L280 TraceCheckUtils]: 46: Hoare triple {3294#false} ~i~0 := #t~post3 - 1; {3294#false} is VALID [2020-07-11 02:27:53,048 INFO L280 TraceCheckUtils]: 47: Hoare triple {3294#false} havoc #t~post3; {3294#false} is VALID [2020-07-11 02:27:53,048 INFO L280 TraceCheckUtils]: 48: Hoare triple {3294#false} assume !(~i~0 >= 0); {3294#false} is VALID [2020-07-11 02:27:53,048 INFO L280 TraceCheckUtils]: 49: Hoare triple {3294#false} ~j~0 := ~MAX~0 - 1; {3294#false} is VALID [2020-07-11 02:27:53,048 INFO L280 TraceCheckUtils]: 50: Hoare triple {3294#false} ~i~0 := 0; {3294#false} is VALID [2020-07-11 02:27:53,048 INFO L280 TraceCheckUtils]: 51: Hoare triple {3294#false} assume !!(~i~0 < ~MAX~0); {3294#false} is VALID [2020-07-11 02:27:53,048 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-11 02:27:53,049 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-11 02:27:53,049 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-11 02:27:53,049 INFO L280 TraceCheckUtils]: 55: Hoare triple {3294#false} ~cond := #in~cond; {3294#false} is VALID [2020-07-11 02:27:53,049 INFO L280 TraceCheckUtils]: 56: Hoare triple {3294#false} assume 0 == ~cond; {3294#false} is VALID [2020-07-11 02:27:53,049 INFO L280 TraceCheckUtils]: 57: Hoare triple {3294#false} assume !false; {3294#false} is VALID [2020-07-11 02:27:53,051 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-11 02:27:53,052 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1037920343] [2020-07-11 02:27:53,052 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-11 02:27:53,052 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2020-07-11 02:27:53,052 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1564626946] [2020-07-11 02:27:53,053 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 58 [2020-07-11 02:27:53,053 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 02:27:53,053 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2020-07-11 02:27:53,117 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-11 02:27:53,117 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2020-07-11 02:27:53,118 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 02:27:53,118 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2020-07-11 02:27:53,118 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=68, Unknown=0, NotChecked=0, Total=90 [2020-07-11 02:27:53,119 INFO L87 Difference]: Start difference. First operand 100 states and 104 transitions. Second operand 10 states. [2020-07-11 02:27:54,686 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 02:27:54,687 INFO L93 Difference]: Finished difference Result 165 states and 172 transitions. [2020-07-11 02:27:54,687 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2020-07-11 02:27:54,687 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 58 [2020-07-11 02:27:54,687 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 02:27:54,688 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-11 02:27:54,693 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 158 transitions. [2020-07-11 02:27:54,693 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-11 02:27:54,698 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 158 transitions. [2020-07-11 02:27:54,698 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 158 transitions. [2020-07-11 02:27:54,874 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-11 02:27:54,878 INFO L225 Difference]: With dead ends: 165 [2020-07-11 02:27:54,878 INFO L226 Difference]: Without dead ends: 135 [2020-07-11 02:27:54,879 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-11 02:27:54,880 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 135 states. [2020-07-11 02:27:55,291 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 135 to 100. [2020-07-11 02:27:55,292 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 02:27:55,292 INFO L82 GeneralOperation]: Start isEquivalent. First operand 135 states. Second operand 100 states. [2020-07-11 02:27:55,292 INFO L74 IsIncluded]: Start isIncluded. First operand 135 states. Second operand 100 states. [2020-07-11 02:27:55,292 INFO L87 Difference]: Start difference. First operand 135 states. Second operand 100 states. [2020-07-11 02:27:55,297 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 02:27:55,298 INFO L93 Difference]: Finished difference Result 135 states and 140 transitions. [2020-07-11 02:27:55,298 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 140 transitions. [2020-07-11 02:27:55,299 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 02:27:55,299 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 02:27:55,299 INFO L74 IsIncluded]: Start isIncluded. First operand 100 states. Second operand 135 states. [2020-07-11 02:27:55,299 INFO L87 Difference]: Start difference. First operand 100 states. Second operand 135 states. [2020-07-11 02:27:55,305 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 02:27:55,305 INFO L93 Difference]: Finished difference Result 135 states and 140 transitions. [2020-07-11 02:27:55,305 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 140 transitions. [2020-07-11 02:27:55,306 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 02:27:55,306 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 02:27:55,306 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 02:27:55,306 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 02:27:55,307 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 100 states. [2020-07-11 02:27:55,312 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100 states to 100 states and 103 transitions. [2020-07-11 02:27:55,313 INFO L78 Accepts]: Start accepts. Automaton has 100 states and 103 transitions. Word has length 58 [2020-07-11 02:27:55,313 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 02:27:55,313 INFO L479 AbstractCegarLoop]: Abstraction has 100 states and 103 transitions. [2020-07-11 02:27:55,314 INFO L480 AbstractCegarLoop]: Interpolant automaton has 10 states. [2020-07-11 02:27:55,314 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 100 states and 103 transitions. [2020-07-11 02:27:55,536 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-11 02:27:55,536 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 103 transitions. [2020-07-11 02:27:55,537 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2020-07-11 02:27:55,538 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 02:27:55,538 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-11 02:27:55,538 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2020-07-11 02:27:55,538 INFO L427 AbstractCegarLoop]: === Iteration 7 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 02:27:55,539 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 02:27:55,539 INFO L82 PathProgramCache]: Analyzing trace with hash -280271430, now seen corresponding path program 1 times [2020-07-11 02:27:55,539 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 02:27:55,540 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [865483247] [2020-07-11 02:27:55,540 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 02:27:55,561 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 02:27:55,694 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 02:27:55,704 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-11 02:27:55,704 INFO L280 TraceCheckUtils]: 1: Hoare triple {4126#true} #valid := #valid[0 := 0]; {4126#true} is VALID [2020-07-11 02:27:55,704 INFO L280 TraceCheckUtils]: 2: Hoare triple {4126#true} assume 0 < #StackHeapBarrier; {4126#true} is VALID [2020-07-11 02:27:55,705 INFO L280 TraceCheckUtils]: 3: Hoare triple {4126#true} assume true; {4126#true} is VALID [2020-07-11 02:27:55,705 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {4126#true} {4126#true} #107#return; {4126#true} is VALID [2020-07-11 02:27:55,707 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 02:27:55,716 INFO L280 TraceCheckUtils]: 0: Hoare triple {4126#true} ~cond := #in~cond; {4126#true} is VALID [2020-07-11 02:27:55,717 INFO L280 TraceCheckUtils]: 1: Hoare triple {4126#true} assume !(0 == ~cond); {4126#true} is VALID [2020-07-11 02:27:55,717 INFO L280 TraceCheckUtils]: 2: Hoare triple {4126#true} assume true; {4126#true} is VALID [2020-07-11 02:27:55,719 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-11 02:27:55,720 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-11 02:27:55,721 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-11 02:27:55,721 INFO L280 TraceCheckUtils]: 2: Hoare triple {4126#true} #valid := #valid[0 := 0]; {4126#true} is VALID [2020-07-11 02:27:55,721 INFO L280 TraceCheckUtils]: 3: Hoare triple {4126#true} assume 0 < #StackHeapBarrier; {4126#true} is VALID [2020-07-11 02:27:55,721 INFO L280 TraceCheckUtils]: 4: Hoare triple {4126#true} assume true; {4126#true} is VALID [2020-07-11 02:27:55,722 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {4126#true} {4126#true} #107#return; {4126#true} is VALID [2020-07-11 02:27:55,722 INFO L263 TraceCheckUtils]: 6: Hoare triple {4126#true} call #t~ret10 := main(); {4126#true} is VALID [2020-07-11 02:27:55,722 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-11 02:27:55,722 INFO L280 TraceCheckUtils]: 8: Hoare triple {4126#true} havoc #t~nondet0; {4126#true} is VALID [2020-07-11 02:27:55,722 INFO L280 TraceCheckUtils]: 9: Hoare triple {4126#true} assume !!(~MAX~0 > 0); {4126#true} is VALID [2020-07-11 02:27:55,723 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-11 02:27:55,723 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-11 02:27:55,723 INFO L280 TraceCheckUtils]: 12: Hoare triple {4126#true} havoc ~cont~0; {4126#true} is VALID [2020-07-11 02:27:55,723 INFO L280 TraceCheckUtils]: 13: Hoare triple {4126#true} havoc ~i~0; {4126#true} is VALID [2020-07-11 02:27:55,724 INFO L280 TraceCheckUtils]: 14: Hoare triple {4126#true} havoc ~j~0; {4126#true} is VALID [2020-07-11 02:27:55,724 INFO L280 TraceCheckUtils]: 15: Hoare triple {4126#true} ~cont~0 := 0; {4126#true} is VALID [2020-07-11 02:27:55,734 INFO L280 TraceCheckUtils]: 16: Hoare triple {4126#true} ~i~0 := 0; {4133#(= 0 main_~i~0)} is VALID [2020-07-11 02:27:55,735 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-11 02:27:55,736 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-11 02:27:55,737 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-11 02:27:55,737 INFO L280 TraceCheckUtils]: 20: Hoare triple {4133#(= 0 main_~i~0)} havoc #t~nondet2; {4133#(= 0 main_~i~0)} is VALID [2020-07-11 02:27:55,738 INFO L280 TraceCheckUtils]: 21: Hoare triple {4133#(= 0 main_~i~0)} #t~post1 := ~i~0; {4134#(= |main_#t~post1| 0)} is VALID [2020-07-11 02:27:55,739 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-11 02:27:55,740 INFO L280 TraceCheckUtils]: 23: Hoare triple {4135#(<= main_~i~0 1)} havoc #t~post1; {4135#(<= main_~i~0 1)} is VALID [2020-07-11 02:27:55,741 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-11 02:27:55,742 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-11 02:27:55,742 INFO L280 TraceCheckUtils]: 26: Hoare triple {4136#(<= main_~MAX~0 1)} ~j~0 := 0; {4136#(<= main_~MAX~0 1)} is VALID [2020-07-11 02:27:55,743 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-11 02:27:55,743 INFO L280 TraceCheckUtils]: 28: Hoare triple {4136#(<= main_~MAX~0 1)} assume !!(~i~0 >= 0); {4136#(<= main_~MAX~0 1)} is VALID [2020-07-11 02:27:55,744 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-11 02:27:55,745 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-11 02:27:55,745 INFO L280 TraceCheckUtils]: 31: Hoare triple {4136#(<= main_~MAX~0 1)} havoc #t~mem4; {4136#(<= main_~MAX~0 1)} is VALID [2020-07-11 02:27:55,746 INFO L280 TraceCheckUtils]: 32: Hoare triple {4136#(<= main_~MAX~0 1)} #t~post5 := ~j~0; {4136#(<= main_~MAX~0 1)} is VALID [2020-07-11 02:27:55,747 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-11 02:27:55,748 INFO L280 TraceCheckUtils]: 34: Hoare triple {4136#(<= main_~MAX~0 1)} havoc #t~post5; {4136#(<= main_~MAX~0 1)} is VALID [2020-07-11 02:27:55,748 INFO L280 TraceCheckUtils]: 35: Hoare triple {4136#(<= main_~MAX~0 1)} #t~post3 := ~i~0; {4136#(<= main_~MAX~0 1)} is VALID [2020-07-11 02:27:55,749 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-11 02:27:55,750 INFO L280 TraceCheckUtils]: 37: Hoare triple {4136#(<= main_~MAX~0 1)} havoc #t~post3; {4136#(<= main_~MAX~0 1)} is VALID [2020-07-11 02:27:55,751 INFO L280 TraceCheckUtils]: 38: Hoare triple {4136#(<= main_~MAX~0 1)} assume !(~i~0 >= 0); {4136#(<= main_~MAX~0 1)} is VALID [2020-07-11 02:27:55,752 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-11 02:27:55,755 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-11 02:27:55,756 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-11 02:27:55,757 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-11 02:27:55,758 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-11 02:27:55,758 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-11 02:27:55,759 INFO L280 TraceCheckUtils]: 45: Hoare triple {4126#true} ~cond := #in~cond; {4126#true} is VALID [2020-07-11 02:27:55,759 INFO L280 TraceCheckUtils]: 46: Hoare triple {4126#true} assume !(0 == ~cond); {4126#true} is VALID [2020-07-11 02:27:55,759 INFO L280 TraceCheckUtils]: 47: Hoare triple {4126#true} assume true; {4126#true} is VALID [2020-07-11 02:27:55,760 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-11 02:27:55,766 INFO L280 TraceCheckUtils]: 49: 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-11 02:27:55,767 INFO L280 TraceCheckUtils]: 50: 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-11 02:27:55,768 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-11 02:27:55,769 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-11 02:27:55,770 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-11 02:27:55,771 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-11 02:27:55,771 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-11 02:27:55,772 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-11 02:27:55,773 INFO L280 TraceCheckUtils]: 57: Hoare triple {4143#(<= main_~MAX~0 main_~i~0)} assume !!(~i~0 < ~MAX~0); {4127#false} is VALID [2020-07-11 02:27:55,773 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-11 02:27:55,774 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-11 02:27:55,774 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-11 02:27:55,774 INFO L280 TraceCheckUtils]: 61: Hoare triple {4127#false} ~cond := #in~cond; {4127#false} is VALID [2020-07-11 02:27:55,774 INFO L280 TraceCheckUtils]: 62: Hoare triple {4127#false} assume 0 == ~cond; {4127#false} is VALID [2020-07-11 02:27:55,774 INFO L280 TraceCheckUtils]: 63: Hoare triple {4127#false} assume !false; {4127#false} is VALID [2020-07-11 02:27:55,780 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-11 02:27:55,780 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [865483247] [2020-07-11 02:27:55,780 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-11 02:27:55,781 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2020-07-11 02:27:55,781 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [18774733] [2020-07-11 02:27:55,782 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 64 [2020-07-11 02:27:55,782 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 02:27:55,783 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2020-07-11 02:27:55,853 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-11 02:27:55,853 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2020-07-11 02:27:55,854 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 02:27:55,854 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2020-07-11 02:27:55,854 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=68, Unknown=0, NotChecked=0, Total=90 [2020-07-11 02:27:55,855 INFO L87 Difference]: Start difference. First operand 100 states and 103 transitions. Second operand 10 states. [2020-07-11 02:27:57,229 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 02:27:57,230 INFO L93 Difference]: Finished difference Result 143 states and 147 transitions. [2020-07-11 02:27:57,230 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2020-07-11 02:27:57,230 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 64 [2020-07-11 02:27:57,231 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 02:27:57,231 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-11 02:27:57,235 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 133 transitions. [2020-07-11 02:27:57,235 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-11 02:27:57,238 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 133 transitions. [2020-07-11 02:27:57,238 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 133 transitions. [2020-07-11 02:27:57,401 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-11 02:27:57,403 INFO L225 Difference]: With dead ends: 143 [2020-07-11 02:27:57,403 INFO L226 Difference]: Without dead ends: 92 [2020-07-11 02:27:57,404 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-11 02:27:57,405 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 92 states. [2020-07-11 02:27:57,678 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 92 to 76. [2020-07-11 02:27:57,679 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 02:27:57,679 INFO L82 GeneralOperation]: Start isEquivalent. First operand 92 states. Second operand 76 states. [2020-07-11 02:27:57,679 INFO L74 IsIncluded]: Start isIncluded. First operand 92 states. Second operand 76 states. [2020-07-11 02:27:57,679 INFO L87 Difference]: Start difference. First operand 92 states. Second operand 76 states. [2020-07-11 02:27:57,682 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 02:27:57,682 INFO L93 Difference]: Finished difference Result 92 states and 95 transitions. [2020-07-11 02:27:57,682 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 95 transitions. [2020-07-11 02:27:57,683 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 02:27:57,683 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 02:27:57,683 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand 92 states. [2020-07-11 02:27:57,683 INFO L87 Difference]: Start difference. First operand 76 states. Second operand 92 states. [2020-07-11 02:27:57,687 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 02:27:57,687 INFO L93 Difference]: Finished difference Result 92 states and 95 transitions. [2020-07-11 02:27:57,687 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 95 transitions. [2020-07-11 02:27:57,688 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 02:27:57,688 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 02:27:57,688 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 02:27:57,688 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 02:27:57,688 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 76 states. [2020-07-11 02:27:57,690 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 78 transitions. [2020-07-11 02:27:57,691 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 78 transitions. Word has length 64 [2020-07-11 02:27:57,691 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 02:27:57,691 INFO L479 AbstractCegarLoop]: Abstraction has 76 states and 78 transitions. [2020-07-11 02:27:57,691 INFO L480 AbstractCegarLoop]: Interpolant automaton has 10 states. [2020-07-11 02:27:57,691 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 76 states and 78 transitions. [2020-07-11 02:27:57,868 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-11 02:27:57,869 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 78 transitions. [2020-07-11 02:27:57,869 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 66 [2020-07-11 02:27:57,869 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 02:27:57,870 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-11 02:27:57,870 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2020-07-11 02:27:57,870 INFO L427 AbstractCegarLoop]: === Iteration 8 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 02:27:57,870 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 02:27:57,870 INFO L82 PathProgramCache]: Analyzing trace with hash 1930216728, now seen corresponding path program 4 times [2020-07-11 02:27:57,871 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 02:27:57,871 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1340113858] [2020-07-11 02:27:57,871 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 02:27:57,944 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 02:27:59,156 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 02:27:59,161 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-11 02:27:59,162 INFO L280 TraceCheckUtils]: 1: Hoare triple {4781#true} #valid := #valid[0 := 0]; {4781#true} is VALID [2020-07-11 02:27:59,162 INFO L280 TraceCheckUtils]: 2: Hoare triple {4781#true} assume 0 < #StackHeapBarrier; {4781#true} is VALID [2020-07-11 02:27:59,162 INFO L280 TraceCheckUtils]: 3: Hoare triple {4781#true} assume true; {4781#true} is VALID [2020-07-11 02:27:59,163 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {4781#true} {4781#true} #107#return; {4781#true} is VALID [2020-07-11 02:27:59,164 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-11 02:27:59,164 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-11 02:27:59,164 INFO L280 TraceCheckUtils]: 2: Hoare triple {4781#true} #valid := #valid[0 := 0]; {4781#true} is VALID [2020-07-11 02:27:59,164 INFO L280 TraceCheckUtils]: 3: Hoare triple {4781#true} assume 0 < #StackHeapBarrier; {4781#true} is VALID [2020-07-11 02:27:59,165 INFO L280 TraceCheckUtils]: 4: Hoare triple {4781#true} assume true; {4781#true} is VALID [2020-07-11 02:27:59,165 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {4781#true} {4781#true} #107#return; {4781#true} is VALID [2020-07-11 02:27:59,165 INFO L263 TraceCheckUtils]: 6: Hoare triple {4781#true} call #t~ret10 := main(); {4781#true} is VALID [2020-07-11 02:27:59,165 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-11 02:27:59,166 INFO L280 TraceCheckUtils]: 8: Hoare triple {4781#true} havoc #t~nondet0; {4781#true} is VALID [2020-07-11 02:27:59,166 INFO L280 TraceCheckUtils]: 9: Hoare triple {4781#true} assume !!(~MAX~0 > 0); {4781#true} is VALID [2020-07-11 02:27:59,167 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-11 02:27:59,168 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-11 02:27:59,170 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-11 02:27:59,177 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-11 02:27:59,181 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-11 02:27:59,182 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-11 02:27:59,183 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-11 02:27:59,184 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-11 02:27:59,185 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-11 02:27:59,186 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-11 02:27:59,187 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-11 02:27:59,188 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-11 02:27:59,189 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-11 02:27:59,190 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-11 02:27:59,191 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-11 02:27:59,193 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-11 02:27:59,194 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-11 02:27:59,195 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-11 02:27:59,196 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-11 02:27:59,197 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-11 02:27:59,199 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-11 02:27:59,200 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-11 02:27:59,201 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-11 02:27:59,202 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-11 02:27:59,203 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-11 02:27:59,205 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-11 02:27:59,206 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-11 02:27:59,207 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-11 02:27:59,209 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-11 02:27:59,210 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-11 02:27:59,211 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-11 02:27:59,212 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-11 02:27:59,213 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-11 02:27:59,214 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-11 02:27:59,215 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-11 02:27:59,216 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-11 02:27:59,217 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-11 02:27:59,220 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-11 02:27:59,221 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-11 02:27:59,222 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-11 02:27:59,224 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-11 02:27:59,225 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-11 02:27:59,226 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-11 02:27:59,227 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-11 02:27:59,228 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-11 02:27:59,230 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-11 02:27:59,232 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-11 02:27:59,233 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-11 02:27:59,235 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-11 02:27:59,236 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-11 02:27:59,238 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-11 02:27:59,239 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-11 02:27:59,240 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-11 02:27:59,241 INFO L280 TraceCheckUtils]: 63: Hoare triple {4807#(not (= 0 __VERIFIER_assert_~cond))} assume 0 == ~cond; {4782#false} is VALID [2020-07-11 02:27:59,241 INFO L280 TraceCheckUtils]: 64: Hoare triple {4782#false} assume !false; {4782#false} is VALID [2020-07-11 02:27:59,265 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-11 02:27:59,266 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1340113858] [2020-07-11 02:27:59,266 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-11 02:27:59,266 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23] total 23 [2020-07-11 02:27:59,266 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [432510626] [2020-07-11 02:27:59,268 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 65 [2020-07-11 02:27:59,268 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 02:27:59,268 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states. [2020-07-11 02:27:59,361 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-11 02:27:59,362 INFO L459 AbstractCegarLoop]: Interpolant automaton has 23 states [2020-07-11 02:27:59,362 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 02:27:59,362 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2020-07-11 02:27:59,363 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=440, Unknown=0, NotChecked=0, Total=506 [2020-07-11 02:27:59,363 INFO L87 Difference]: Start difference. First operand 76 states and 78 transitions. Second operand 23 states. [2020-07-11 02:28:05,354 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 02:28:05,355 INFO L93 Difference]: Finished difference Result 191 states and 200 transitions. [2020-07-11 02:28:05,355 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 38 states. [2020-07-11 02:28:05,355 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 65 [2020-07-11 02:28:05,355 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 02:28:05,355 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2020-07-11 02:28:05,361 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 189 transitions. [2020-07-11 02:28:05,362 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2020-07-11 02:28:05,369 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 189 transitions. [2020-07-11 02:28:05,370 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 38 states and 189 transitions. [2020-07-11 02:28:05,678 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-11 02:28:05,684 INFO L225 Difference]: With dead ends: 191 [2020-07-11 02:28:05,685 INFO L226 Difference]: Without dead ends: 189 [2020-07-11 02:28:05,687 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 58 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 55 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 696 ImplicationChecksByTransitivity, 2.4s TimeCoverageRelationStatistics Valid=499, Invalid=2693, Unknown=0, NotChecked=0, Total=3192 [2020-07-11 02:28:05,688 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 189 states. [2020-07-11 02:28:06,200 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 189 to 117. [2020-07-11 02:28:06,201 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 02:28:06,201 INFO L82 GeneralOperation]: Start isEquivalent. First operand 189 states. Second operand 117 states. [2020-07-11 02:28:06,201 INFO L74 IsIncluded]: Start isIncluded. First operand 189 states. Second operand 117 states. [2020-07-11 02:28:06,202 INFO L87 Difference]: Start difference. First operand 189 states. Second operand 117 states. [2020-07-11 02:28:06,209 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 02:28:06,209 INFO L93 Difference]: Finished difference Result 189 states and 198 transitions. [2020-07-11 02:28:06,209 INFO L276 IsEmpty]: Start isEmpty. Operand 189 states and 198 transitions. [2020-07-11 02:28:06,210 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 02:28:06,210 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 02:28:06,210 INFO L74 IsIncluded]: Start isIncluded. First operand 117 states. Second operand 189 states. [2020-07-11 02:28:06,211 INFO L87 Difference]: Start difference. First operand 117 states. Second operand 189 states. [2020-07-11 02:28:06,218 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 02:28:06,218 INFO L93 Difference]: Finished difference Result 189 states and 198 transitions. [2020-07-11 02:28:06,218 INFO L276 IsEmpty]: Start isEmpty. Operand 189 states and 198 transitions. [2020-07-11 02:28:06,219 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 02:28:06,219 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 02:28:06,219 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 02:28:06,219 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 02:28:06,220 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 117 states. [2020-07-11 02:28:06,223 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 117 states to 117 states and 121 transitions. [2020-07-11 02:28:06,224 INFO L78 Accepts]: Start accepts. Automaton has 117 states and 121 transitions. Word has length 65 [2020-07-11 02:28:06,224 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 02:28:06,224 INFO L479 AbstractCegarLoop]: Abstraction has 117 states and 121 transitions. [2020-07-11 02:28:06,224 INFO L480 AbstractCegarLoop]: Interpolant automaton has 23 states. [2020-07-11 02:28:06,224 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 117 states and 121 transitions. [2020-07-11 02:28:06,525 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-11 02:28:06,525 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 121 transitions. [2020-07-11 02:28:06,528 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 73 [2020-07-11 02:28:06,528 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 02:28:06,528 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-11 02:28:06,529 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7 [2020-07-11 02:28:06,529 INFO L427 AbstractCegarLoop]: === Iteration 9 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 02:28:06,529 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 02:28:06,529 INFO L82 PathProgramCache]: Analyzing trace with hash 499090838, now seen corresponding path program 5 times [2020-07-11 02:28:06,530 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 02:28:06,530 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [2041042308] [2020-07-11 02:28:06,530 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 02:28:06,548 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 02:28:06,710 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 02:28:06,714 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-11 02:28:06,714 INFO L280 TraceCheckUtils]: 1: Hoare triple {5873#true} #valid := #valid[0 := 0]; {5873#true} is VALID [2020-07-11 02:28:06,715 INFO L280 TraceCheckUtils]: 2: Hoare triple {5873#true} assume 0 < #StackHeapBarrier; {5873#true} is VALID [2020-07-11 02:28:06,715 INFO L280 TraceCheckUtils]: 3: Hoare triple {5873#true} assume true; {5873#true} is VALID [2020-07-11 02:28:06,715 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {5873#true} {5873#true} #107#return; {5873#true} is VALID [2020-07-11 02:28:06,718 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-11 02:28:06,718 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-11 02:28:06,719 INFO L280 TraceCheckUtils]: 2: Hoare triple {5873#true} #valid := #valid[0 := 0]; {5873#true} is VALID [2020-07-11 02:28:06,719 INFO L280 TraceCheckUtils]: 3: Hoare triple {5873#true} assume 0 < #StackHeapBarrier; {5873#true} is VALID [2020-07-11 02:28:06,719 INFO L280 TraceCheckUtils]: 4: Hoare triple {5873#true} assume true; {5873#true} is VALID [2020-07-11 02:28:06,719 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {5873#true} {5873#true} #107#return; {5873#true} is VALID [2020-07-11 02:28:06,719 INFO L263 TraceCheckUtils]: 6: Hoare triple {5873#true} call #t~ret10 := main(); {5873#true} is VALID [2020-07-11 02:28:06,720 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-11 02:28:06,720 INFO L280 TraceCheckUtils]: 8: Hoare triple {5873#true} havoc #t~nondet0; {5873#true} is VALID [2020-07-11 02:28:06,720 INFO L280 TraceCheckUtils]: 9: Hoare triple {5873#true} assume !!(~MAX~0 > 0); {5873#true} is VALID [2020-07-11 02:28:06,720 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-11 02:28:06,721 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-11 02:28:06,721 INFO L280 TraceCheckUtils]: 12: Hoare triple {5873#true} havoc ~cont~0; {5873#true} is VALID [2020-07-11 02:28:06,721 INFO L280 TraceCheckUtils]: 13: Hoare triple {5873#true} havoc ~i~0; {5873#true} is VALID [2020-07-11 02:28:06,721 INFO L280 TraceCheckUtils]: 14: Hoare triple {5873#true} havoc ~j~0; {5873#true} is VALID [2020-07-11 02:28:06,722 INFO L280 TraceCheckUtils]: 15: Hoare triple {5873#true} ~cont~0 := 0; {5873#true} is VALID [2020-07-11 02:28:06,722 INFO L280 TraceCheckUtils]: 16: Hoare triple {5873#true} ~i~0 := 0; {5880#(= 0 main_~i~0)} is VALID [2020-07-11 02:28:06,723 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-11 02:28:06,724 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-11 02:28:06,724 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-11 02:28:06,725 INFO L280 TraceCheckUtils]: 20: Hoare triple {5880#(= 0 main_~i~0)} havoc #t~nondet2; {5880#(= 0 main_~i~0)} is VALID [2020-07-11 02:28:06,726 INFO L280 TraceCheckUtils]: 21: Hoare triple {5880#(= 0 main_~i~0)} #t~post1 := ~i~0; {5881#(= |main_#t~post1| 0)} is VALID [2020-07-11 02:28:06,727 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-11 02:28:06,728 INFO L280 TraceCheckUtils]: 23: Hoare triple {5882#(<= 1 main_~i~0)} havoc #t~post1; {5882#(<= 1 main_~i~0)} is VALID [2020-07-11 02:28:06,729 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-11 02:28:06,729 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-11 02:28:06,730 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-11 02:28:06,731 INFO L280 TraceCheckUtils]: 27: Hoare triple {5882#(<= 1 main_~i~0)} havoc #t~nondet2; {5882#(<= 1 main_~i~0)} is VALID [2020-07-11 02:28:06,732 INFO L280 TraceCheckUtils]: 28: Hoare triple {5882#(<= 1 main_~i~0)} #t~post1 := ~i~0; {5883#(<= 1 |main_#t~post1|)} is VALID [2020-07-11 02:28:06,733 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-11 02:28:06,734 INFO L280 TraceCheckUtils]: 30: Hoare triple {5884#(<= 2 main_~i~0)} havoc #t~post1; {5884#(<= 2 main_~i~0)} is VALID [2020-07-11 02:28:06,735 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-11 02:28:06,735 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-11 02:28:06,736 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-11 02:28:06,737 INFO L280 TraceCheckUtils]: 34: Hoare triple {5885#(<= 3 main_~MAX~0)} havoc #t~nondet2; {5885#(<= 3 main_~MAX~0)} is VALID [2020-07-11 02:28:06,737 INFO L280 TraceCheckUtils]: 35: Hoare triple {5885#(<= 3 main_~MAX~0)} #t~post1 := ~i~0; {5885#(<= 3 main_~MAX~0)} is VALID [2020-07-11 02:28:06,738 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-11 02:28:06,739 INFO L280 TraceCheckUtils]: 37: Hoare triple {5885#(<= 3 main_~MAX~0)} havoc #t~post1; {5885#(<= 3 main_~MAX~0)} is VALID [2020-07-11 02:28:06,740 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-11 02:28:06,740 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-11 02:28:06,741 INFO L280 TraceCheckUtils]: 40: Hoare triple {5885#(<= 3 main_~MAX~0)} ~j~0 := 0; {5885#(<= 3 main_~MAX~0)} is VALID [2020-07-11 02:28:06,742 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-11 02:28:06,743 INFO L280 TraceCheckUtils]: 42: Hoare triple {5884#(<= 2 main_~i~0)} assume !!(~i~0 >= 0); {5884#(<= 2 main_~i~0)} is VALID [2020-07-11 02:28:06,744 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-11 02:28:06,745 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-11 02:28:06,746 INFO L280 TraceCheckUtils]: 45: Hoare triple {5884#(<= 2 main_~i~0)} havoc #t~mem4; {5884#(<= 2 main_~i~0)} is VALID [2020-07-11 02:28:06,747 INFO L280 TraceCheckUtils]: 46: Hoare triple {5884#(<= 2 main_~i~0)} #t~post5 := ~j~0; {5884#(<= 2 main_~i~0)} is VALID [2020-07-11 02:28:06,748 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-11 02:28:06,748 INFO L280 TraceCheckUtils]: 48: Hoare triple {5884#(<= 2 main_~i~0)} havoc #t~post5; {5884#(<= 2 main_~i~0)} is VALID [2020-07-11 02:28:06,749 INFO L280 TraceCheckUtils]: 49: Hoare triple {5884#(<= 2 main_~i~0)} #t~post3 := ~i~0; {5886#(<= 2 |main_#t~post3|)} is VALID [2020-07-11 02:28:06,750 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-11 02:28:06,751 INFO L280 TraceCheckUtils]: 51: Hoare triple {5882#(<= 1 main_~i~0)} havoc #t~post3; {5882#(<= 1 main_~i~0)} is VALID [2020-07-11 02:28:06,752 INFO L280 TraceCheckUtils]: 52: Hoare triple {5882#(<= 1 main_~i~0)} assume !!(~i~0 >= 0); {5882#(<= 1 main_~i~0)} is VALID [2020-07-11 02:28:06,753 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-11 02:28:06,753 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-11 02:28:06,754 INFO L280 TraceCheckUtils]: 55: Hoare triple {5882#(<= 1 main_~i~0)} havoc #t~mem4; {5882#(<= 1 main_~i~0)} is VALID [2020-07-11 02:28:06,755 INFO L280 TraceCheckUtils]: 56: Hoare triple {5882#(<= 1 main_~i~0)} #t~post5 := ~j~0; {5882#(<= 1 main_~i~0)} is VALID [2020-07-11 02:28:06,756 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-11 02:28:06,756 INFO L280 TraceCheckUtils]: 58: Hoare triple {5882#(<= 1 main_~i~0)} havoc #t~post5; {5882#(<= 1 main_~i~0)} is VALID [2020-07-11 02:28:06,757 INFO L280 TraceCheckUtils]: 59: Hoare triple {5882#(<= 1 main_~i~0)} #t~post3 := ~i~0; {5887#(<= 1 |main_#t~post3|)} is VALID [2020-07-11 02:28:06,759 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-11 02:28:06,760 INFO L280 TraceCheckUtils]: 61: Hoare triple {5888#(<= 0 main_~i~0)} havoc #t~post3; {5888#(<= 0 main_~i~0)} is VALID [2020-07-11 02:28:06,760 INFO L280 TraceCheckUtils]: 62: Hoare triple {5888#(<= 0 main_~i~0)} assume !(~i~0 >= 0); {5874#false} is VALID [2020-07-11 02:28:06,761 INFO L280 TraceCheckUtils]: 63: Hoare triple {5874#false} ~j~0 := ~MAX~0 - 1; {5874#false} is VALID [2020-07-11 02:28:06,761 INFO L280 TraceCheckUtils]: 64: Hoare triple {5874#false} ~i~0 := 0; {5874#false} is VALID [2020-07-11 02:28:06,761 INFO L280 TraceCheckUtils]: 65: Hoare triple {5874#false} assume !!(~i~0 < ~MAX~0); {5874#false} is VALID [2020-07-11 02:28:06,762 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-11 02:28:06,762 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-11 02:28:06,762 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-11 02:28:06,762 INFO L280 TraceCheckUtils]: 69: Hoare triple {5874#false} ~cond := #in~cond; {5874#false} is VALID [2020-07-11 02:28:06,762 INFO L280 TraceCheckUtils]: 70: Hoare triple {5874#false} assume 0 == ~cond; {5874#false} is VALID [2020-07-11 02:28:06,763 INFO L280 TraceCheckUtils]: 71: Hoare triple {5874#false} assume !false; {5874#false} is VALID [2020-07-11 02:28:06,768 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-11 02:28:06,768 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [2041042308] [2020-07-11 02:28:06,768 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-11 02:28:06,768 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12] total 12 [2020-07-11 02:28:06,774 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2000858730] [2020-07-11 02:28:06,776 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 72 [2020-07-11 02:28:06,776 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 02:28:06,776 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2020-07-11 02:28:06,859 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-11 02:28:06,859 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2020-07-11 02:28:06,860 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 02:28:06,860 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2020-07-11 02:28:06,860 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=106, Unknown=0, NotChecked=0, Total=132 [2020-07-11 02:28:06,861 INFO L87 Difference]: Start difference. First operand 117 states and 121 transitions. Second operand 12 states. [2020-07-11 02:28:09,149 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 02:28:09,150 INFO L93 Difference]: Finished difference Result 193 states and 202 transitions. [2020-07-11 02:28:09,150 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2020-07-11 02:28:09,150 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 72 [2020-07-11 02:28:09,150 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 02:28:09,150 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-11 02:28:09,154 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 170 transitions. [2020-07-11 02:28:09,154 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-11 02:28:09,157 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 170 transitions. [2020-07-11 02:28:09,158 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 170 transitions. [2020-07-11 02:28:09,404 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-11 02:28:09,410 INFO L225 Difference]: With dead ends: 193 [2020-07-11 02:28:09,410 INFO L226 Difference]: Without dead ends: 173 [2020-07-11 02:28:09,411 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-11 02:28:09,412 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 173 states. [2020-07-11 02:28:10,085 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 173 to 127. [2020-07-11 02:28:10,085 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 02:28:10,085 INFO L82 GeneralOperation]: Start isEquivalent. First operand 173 states. Second operand 127 states. [2020-07-11 02:28:10,086 INFO L74 IsIncluded]: Start isIncluded. First operand 173 states. Second operand 127 states. [2020-07-11 02:28:10,086 INFO L87 Difference]: Start difference. First operand 173 states. Second operand 127 states. [2020-07-11 02:28:10,092 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 02:28:10,093 INFO L93 Difference]: Finished difference Result 173 states and 181 transitions. [2020-07-11 02:28:10,093 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 181 transitions. [2020-07-11 02:28:10,094 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 02:28:10,094 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 02:28:10,094 INFO L74 IsIncluded]: Start isIncluded. First operand 127 states. Second operand 173 states. [2020-07-11 02:28:10,094 INFO L87 Difference]: Start difference. First operand 127 states. Second operand 173 states. [2020-07-11 02:28:10,100 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 02:28:10,101 INFO L93 Difference]: Finished difference Result 173 states and 181 transitions. [2020-07-11 02:28:10,101 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 181 transitions. [2020-07-11 02:28:10,102 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 02:28:10,102 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 02:28:10,102 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 02:28:10,102 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 02:28:10,103 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 127 states. [2020-07-11 02:28:10,106 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 127 states to 127 states and 131 transitions. [2020-07-11 02:28:10,107 INFO L78 Accepts]: Start accepts. Automaton has 127 states and 131 transitions. Word has length 72 [2020-07-11 02:28:10,107 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 02:28:10,107 INFO L479 AbstractCegarLoop]: Abstraction has 127 states and 131 transitions. [2020-07-11 02:28:10,107 INFO L480 AbstractCegarLoop]: Interpolant automaton has 12 states. [2020-07-11 02:28:10,108 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 127 states and 131 transitions. [2020-07-11 02:28:10,461 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-11 02:28:10,462 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 131 transitions. [2020-07-11 02:28:10,463 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2020-07-11 02:28:10,463 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 02:28:10,463 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-11 02:28:10,464 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8 [2020-07-11 02:28:10,464 INFO L427 AbstractCegarLoop]: === Iteration 10 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 02:28:10,464 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 02:28:10,464 INFO L82 PathProgramCache]: Analyzing trace with hash 1430946398, now seen corresponding path program 6 times [2020-07-11 02:28:10,464 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 02:28:10,465 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [194360542] [2020-07-11 02:28:10,465 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 02:28:10,481 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 02:28:10,662 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 02:28:10,668 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-11 02:28:10,670 INFO L280 TraceCheckUtils]: 1: Hoare triple {6904#true} #valid := #valid[0 := 0]; {6904#true} is VALID [2020-07-11 02:28:10,671 INFO L280 TraceCheckUtils]: 2: Hoare triple {6904#true} assume 0 < #StackHeapBarrier; {6904#true} is VALID [2020-07-11 02:28:10,671 INFO L280 TraceCheckUtils]: 3: Hoare triple {6904#true} assume true; {6904#true} is VALID [2020-07-11 02:28:10,672 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {6904#true} {6904#true} #107#return; {6904#true} is VALID [2020-07-11 02:28:10,677 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-11 02:28:10,677 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-11 02:28:10,678 INFO L280 TraceCheckUtils]: 2: Hoare triple {6904#true} #valid := #valid[0 := 0]; {6904#true} is VALID [2020-07-11 02:28:10,678 INFO L280 TraceCheckUtils]: 3: Hoare triple {6904#true} assume 0 < #StackHeapBarrier; {6904#true} is VALID [2020-07-11 02:28:10,678 INFO L280 TraceCheckUtils]: 4: Hoare triple {6904#true} assume true; {6904#true} is VALID [2020-07-11 02:28:10,679 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {6904#true} {6904#true} #107#return; {6904#true} is VALID [2020-07-11 02:28:10,679 INFO L263 TraceCheckUtils]: 6: Hoare triple {6904#true} call #t~ret10 := main(); {6904#true} is VALID [2020-07-11 02:28:10,679 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-11 02:28:10,679 INFO L280 TraceCheckUtils]: 8: Hoare triple {6904#true} havoc #t~nondet0; {6904#true} is VALID [2020-07-11 02:28:10,680 INFO L280 TraceCheckUtils]: 9: Hoare triple {6904#true} assume !!(~MAX~0 > 0); {6904#true} is VALID [2020-07-11 02:28:10,680 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-11 02:28:10,680 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-11 02:28:10,681 INFO L280 TraceCheckUtils]: 12: Hoare triple {6904#true} havoc ~cont~0; {6904#true} is VALID [2020-07-11 02:28:10,681 INFO L280 TraceCheckUtils]: 13: Hoare triple {6904#true} havoc ~i~0; {6904#true} is VALID [2020-07-11 02:28:10,681 INFO L280 TraceCheckUtils]: 14: Hoare triple {6904#true} havoc ~j~0; {6904#true} is VALID [2020-07-11 02:28:10,682 INFO L280 TraceCheckUtils]: 15: Hoare triple {6904#true} ~cont~0 := 0; {6904#true} is VALID [2020-07-11 02:28:10,683 INFO L280 TraceCheckUtils]: 16: Hoare triple {6904#true} ~i~0 := 0; {6911#(= 0 main_~i~0)} is VALID [2020-07-11 02:28:10,684 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-11 02:28:10,685 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-11 02:28:10,686 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-11 02:28:10,687 INFO L280 TraceCheckUtils]: 20: Hoare triple {6911#(= 0 main_~i~0)} havoc #t~nondet2; {6911#(= 0 main_~i~0)} is VALID [2020-07-11 02:28:10,688 INFO L280 TraceCheckUtils]: 21: Hoare triple {6911#(= 0 main_~i~0)} #t~post1 := ~i~0; {6912#(= |main_#t~post1| 0)} is VALID [2020-07-11 02:28:10,689 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-11 02:28:10,690 INFO L280 TraceCheckUtils]: 23: Hoare triple {6913#(<= main_~i~0 1)} havoc #t~post1; {6913#(<= main_~i~0 1)} is VALID [2020-07-11 02:28:10,691 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-11 02:28:10,692 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-11 02:28:10,693 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-11 02:28:10,694 INFO L280 TraceCheckUtils]: 27: Hoare triple {6913#(<= main_~i~0 1)} havoc #t~nondet2; {6913#(<= main_~i~0 1)} is VALID [2020-07-11 02:28:10,695 INFO L280 TraceCheckUtils]: 28: Hoare triple {6913#(<= main_~i~0 1)} #t~post1 := ~i~0; {6914#(<= |main_#t~post1| 1)} is VALID [2020-07-11 02:28:10,697 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-11 02:28:10,698 INFO L280 TraceCheckUtils]: 30: Hoare triple {6915#(<= main_~i~0 2)} havoc #t~post1; {6915#(<= main_~i~0 2)} is VALID [2020-07-11 02:28:10,699 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-11 02:28:10,700 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-11 02:28:10,701 INFO L280 TraceCheckUtils]: 33: Hoare triple {6916#(<= main_~MAX~0 2)} ~j~0 := 0; {6916#(<= main_~MAX~0 2)} is VALID [2020-07-11 02:28:10,703 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-11 02:28:10,703 INFO L280 TraceCheckUtils]: 35: Hoare triple {6913#(<= main_~i~0 1)} assume !!(~i~0 >= 0); {6913#(<= main_~i~0 1)} is VALID [2020-07-11 02:28:10,704 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-11 02:28:10,705 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-11 02:28:10,706 INFO L280 TraceCheckUtils]: 38: Hoare triple {6913#(<= main_~i~0 1)} havoc #t~mem4; {6913#(<= main_~i~0 1)} is VALID [2020-07-11 02:28:10,707 INFO L280 TraceCheckUtils]: 39: Hoare triple {6913#(<= main_~i~0 1)} #t~post5 := ~j~0; {6913#(<= main_~i~0 1)} is VALID [2020-07-11 02:28:10,708 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-11 02:28:10,709 INFO L280 TraceCheckUtils]: 41: Hoare triple {6913#(<= main_~i~0 1)} havoc #t~post5; {6913#(<= main_~i~0 1)} is VALID [2020-07-11 02:28:10,710 INFO L280 TraceCheckUtils]: 42: Hoare triple {6913#(<= main_~i~0 1)} #t~post3 := ~i~0; {6917#(<= |main_#t~post3| 1)} is VALID [2020-07-11 02:28:10,711 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-11 02:28:10,712 INFO L280 TraceCheckUtils]: 44: Hoare triple {6918#(<= main_~i~0 0)} havoc #t~post3; {6918#(<= main_~i~0 0)} is VALID [2020-07-11 02:28:10,713 INFO L280 TraceCheckUtils]: 45: Hoare triple {6918#(<= main_~i~0 0)} assume !!(~i~0 >= 0); {6918#(<= main_~i~0 0)} is VALID [2020-07-11 02:28:10,714 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-11 02:28:10,715 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-11 02:28:10,716 INFO L280 TraceCheckUtils]: 48: Hoare triple {6918#(<= main_~i~0 0)} havoc #t~mem4; {6918#(<= main_~i~0 0)} is VALID [2020-07-11 02:28:10,717 INFO L280 TraceCheckUtils]: 49: Hoare triple {6918#(<= main_~i~0 0)} #t~post5 := ~j~0; {6918#(<= main_~i~0 0)} is VALID [2020-07-11 02:28:10,718 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-11 02:28:10,719 INFO L280 TraceCheckUtils]: 51: Hoare triple {6918#(<= main_~i~0 0)} havoc #t~post5; {6918#(<= main_~i~0 0)} is VALID [2020-07-11 02:28:10,720 INFO L280 TraceCheckUtils]: 52: Hoare triple {6918#(<= main_~i~0 0)} #t~post3 := ~i~0; {6919#(<= |main_#t~post3| 0)} is VALID [2020-07-11 02:28:10,721 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-11 02:28:10,723 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-11 02:28:10,724 INFO L280 TraceCheckUtils]: 55: Hoare triple {6920#(<= (+ main_~i~0 1) 0)} assume !!(~i~0 >= 0); {6905#false} is VALID [2020-07-11 02:28:10,724 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-11 02:28:10,725 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-11 02:28:10,725 INFO L280 TraceCheckUtils]: 58: Hoare triple {6905#false} havoc #t~mem4; {6905#false} is VALID [2020-07-11 02:28:10,725 INFO L280 TraceCheckUtils]: 59: Hoare triple {6905#false} #t~post5 := ~j~0; {6905#false} is VALID [2020-07-11 02:28:10,726 INFO L280 TraceCheckUtils]: 60: Hoare triple {6905#false} ~j~0 := 1 + #t~post5; {6905#false} is VALID [2020-07-11 02:28:10,726 INFO L280 TraceCheckUtils]: 61: Hoare triple {6905#false} havoc #t~post5; {6905#false} is VALID [2020-07-11 02:28:10,727 INFO L280 TraceCheckUtils]: 62: Hoare triple {6905#false} #t~post3 := ~i~0; {6905#false} is VALID [2020-07-11 02:28:10,727 INFO L280 TraceCheckUtils]: 63: Hoare triple {6905#false} ~i~0 := #t~post3 - 1; {6905#false} is VALID [2020-07-11 02:28:10,727 INFO L280 TraceCheckUtils]: 64: Hoare triple {6905#false} havoc #t~post3; {6905#false} is VALID [2020-07-11 02:28:10,728 INFO L280 TraceCheckUtils]: 65: Hoare triple {6905#false} assume !(~i~0 >= 0); {6905#false} is VALID [2020-07-11 02:28:10,728 INFO L280 TraceCheckUtils]: 66: Hoare triple {6905#false} ~j~0 := ~MAX~0 - 1; {6905#false} is VALID [2020-07-11 02:28:10,729 INFO L280 TraceCheckUtils]: 67: Hoare triple {6905#false} ~i~0 := 0; {6905#false} is VALID [2020-07-11 02:28:10,729 INFO L280 TraceCheckUtils]: 68: Hoare triple {6905#false} assume !!(~i~0 < ~MAX~0); {6905#false} is VALID [2020-07-11 02:28:10,729 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-11 02:28:10,730 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-11 02:28:10,730 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-11 02:28:10,730 INFO L280 TraceCheckUtils]: 72: Hoare triple {6905#false} ~cond := #in~cond; {6905#false} is VALID [2020-07-11 02:28:10,731 INFO L280 TraceCheckUtils]: 73: Hoare triple {6905#false} assume 0 == ~cond; {6905#false} is VALID [2020-07-11 02:28:10,731 INFO L280 TraceCheckUtils]: 74: Hoare triple {6905#false} assume !false; {6905#false} is VALID [2020-07-11 02:28:10,760 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-11 02:28:10,760 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [194360542] [2020-07-11 02:28:10,760 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-11 02:28:10,761 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13] total 13 [2020-07-11 02:28:10,761 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2093431870] [2020-07-11 02:28:10,764 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 75 [2020-07-11 02:28:10,765 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 02:28:10,766 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states. [2020-07-11 02:28:10,869 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-11 02:28:10,869 INFO L459 AbstractCegarLoop]: Interpolant automaton has 13 states [2020-07-11 02:28:10,869 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 02:28:10,870 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2020-07-11 02:28:10,870 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=122, Unknown=0, NotChecked=0, Total=156 [2020-07-11 02:28:10,870 INFO L87 Difference]: Start difference. First operand 127 states and 131 transitions. Second operand 13 states. [2020-07-11 02:28:12,796 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 02:28:12,796 INFO L93 Difference]: Finished difference Result 192 states and 199 transitions. [2020-07-11 02:28:12,796 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2020-07-11 02:28:12,796 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 75 [2020-07-11 02:28:12,797 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 02:28:12,797 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2020-07-11 02:28:12,801 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 175 transitions. [2020-07-11 02:28:12,801 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2020-07-11 02:28:12,804 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 175 transitions. [2020-07-11 02:28:12,804 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 175 transitions. [2020-07-11 02:28:13,000 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-11 02:28:13,005 INFO L225 Difference]: With dead ends: 192 [2020-07-11 02:28:13,005 INFO L226 Difference]: Without dead ends: 162 [2020-07-11 02:28:13,006 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 101 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=150, Invalid=500, Unknown=0, NotChecked=0, Total=650 [2020-07-11 02:28:13,007 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 162 states. [2020-07-11 02:28:13,566 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 162 to 127. [2020-07-11 02:28:13,566 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 02:28:13,567 INFO L82 GeneralOperation]: Start isEquivalent. First operand 162 states. Second operand 127 states. [2020-07-11 02:28:13,567 INFO L74 IsIncluded]: Start isIncluded. First operand 162 states. Second operand 127 states. [2020-07-11 02:28:13,567 INFO L87 Difference]: Start difference. First operand 162 states. Second operand 127 states. [2020-07-11 02:28:13,572 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 02:28:13,572 INFO L93 Difference]: Finished difference Result 162 states and 167 transitions. [2020-07-11 02:28:13,572 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 167 transitions. [2020-07-11 02:28:13,573 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 02:28:13,573 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 02:28:13,573 INFO L74 IsIncluded]: Start isIncluded. First operand 127 states. Second operand 162 states. [2020-07-11 02:28:13,574 INFO L87 Difference]: Start difference. First operand 127 states. Second operand 162 states. [2020-07-11 02:28:13,580 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 02:28:13,580 INFO L93 Difference]: Finished difference Result 162 states and 167 transitions. [2020-07-11 02:28:13,580 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 167 transitions. [2020-07-11 02:28:13,581 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 02:28:13,581 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 02:28:13,581 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 02:28:13,581 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 02:28:13,582 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 127 states. [2020-07-11 02:28:13,586 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 127 states to 127 states and 130 transitions. [2020-07-11 02:28:13,587 INFO L78 Accepts]: Start accepts. Automaton has 127 states and 130 transitions. Word has length 75 [2020-07-11 02:28:13,587 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 02:28:13,587 INFO L479 AbstractCegarLoop]: Abstraction has 127 states and 130 transitions. [2020-07-11 02:28:13,587 INFO L480 AbstractCegarLoop]: Interpolant automaton has 13 states. [2020-07-11 02:28:13,587 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 127 states and 130 transitions. [2020-07-11 02:28:13,895 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-11 02:28:13,896 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 130 transitions. [2020-07-11 02:28:13,897 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 82 [2020-07-11 02:28:13,897 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 02:28:13,898 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-11 02:28:13,898 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9 [2020-07-11 02:28:13,898 INFO L427 AbstractCegarLoop]: === Iteration 11 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 02:28:13,898 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 02:28:13,899 INFO L82 PathProgramCache]: Analyzing trace with hash 810536514, now seen corresponding path program 2 times [2020-07-11 02:28:13,899 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 02:28:13,899 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1777605163] [2020-07-11 02:28:13,900 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 02:28:13,925 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-11 02:28:13,961 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-11 02:28:14,020 INFO L174 FreeRefinementEngine]: Strategy FIXED_PREFERENCES found a feasible trace [2020-07-11 02:28:14,020 INFO L520 BasicCegarLoop]: Counterexample might be feasible [2020-07-11 02:28:14,020 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10 [2020-07-11 02:28:14,111 WARN L170 areAnnotationChecker]: ULTIMATE.initENTRY has no Hoare annotation [2020-07-11 02:28:14,111 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-11 02:28:14,111 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-11 02:28:14,111 WARN L170 areAnnotationChecker]: mainENTRY has no Hoare annotation [2020-07-11 02:28:14,111 WARN L170 areAnnotationChecker]: __VERIFIER_assertENTRY has no Hoare annotation [2020-07-11 02:28:14,111 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-11 02:28:14,112 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-11 02:28:14,112 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-11 02:28:14,112 WARN L170 areAnnotationChecker]: L14 has no Hoare annotation [2020-07-11 02:28:14,112 WARN L170 areAnnotationChecker]: L5 has no Hoare annotation [2020-07-11 02:28:14,112 WARN L170 areAnnotationChecker]: L5 has no Hoare annotation [2020-07-11 02:28:14,112 WARN L170 areAnnotationChecker]: L-1-1 has no Hoare annotation [2020-07-11 02:28:14,112 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2020-07-11 02:28:14,112 WARN L170 areAnnotationChecker]: L15 has no Hoare annotation [2020-07-11 02:28:14,112 WARN L170 areAnnotationChecker]: L15 has no Hoare annotation [2020-07-11 02:28:14,113 WARN L170 areAnnotationChecker]: L6 has no Hoare annotation [2020-07-11 02:28:14,113 WARN L170 areAnnotationChecker]: L6 has no Hoare annotation [2020-07-11 02:28:14,113 WARN L170 areAnnotationChecker]: L5-2 has no Hoare annotation [2020-07-11 02:28:14,113 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2020-07-11 02:28:14,113 WARN L170 areAnnotationChecker]: L15-1 has no Hoare annotation [2020-07-11 02:28:14,113 WARN L170 areAnnotationChecker]: L15-3 has no Hoare annotation [2020-07-11 02:28:14,113 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2020-07-11 02:28:14,113 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2020-07-11 02:28:14,114 WARN L170 areAnnotationChecker]: L16 has no Hoare annotation [2020-07-11 02:28:14,114 WARN L170 areAnnotationChecker]: L34-3 has no Hoare annotation [2020-07-11 02:28:14,114 WARN L170 areAnnotationChecker]: L16-1 has no Hoare annotation [2020-07-11 02:28:14,114 WARN L170 areAnnotationChecker]: L34-4 has no Hoare annotation [2020-07-11 02:28:14,114 WARN L170 areAnnotationChecker]: L17 has no Hoare annotation [2020-07-11 02:28:14,114 WARN L170 areAnnotationChecker]: L35 has no Hoare annotation [2020-07-11 02:28:14,114 WARN L170 areAnnotationChecker]: L17-1 has no Hoare annotation [2020-07-11 02:28:14,114 WARN L170 areAnnotationChecker]: L35-1 has no Hoare annotation [2020-07-11 02:28:14,115 WARN L170 areAnnotationChecker]: L18 has no Hoare annotation [2020-07-11 02:28:14,115 WARN L170 areAnnotationChecker]: L35-2 has no Hoare annotation [2020-07-11 02:28:14,115 WARN L170 areAnnotationChecker]: L20 has no Hoare annotation [2020-07-11 02:28:14,115 WARN L170 areAnnotationChecker]: L33-3 has no Hoare annotation [2020-07-11 02:28:14,115 WARN L170 areAnnotationChecker]: L20-6 has no Hoare annotation [2020-07-11 02:28:14,115 WARN L170 areAnnotationChecker]: L20-6 has no Hoare annotation [2020-07-11 02:28:14,115 WARN L170 areAnnotationChecker]: L20-6 has no Hoare annotation [2020-07-11 02:28:14,115 WARN L170 areAnnotationChecker]: L33-4 has no Hoare annotation [2020-07-11 02:28:14,116 WARN L170 areAnnotationChecker]: L20-7 has no Hoare annotation [2020-07-11 02:28:14,116 WARN L170 areAnnotationChecker]: L21 has no Hoare annotation [2020-07-11 02:28:14,116 WARN L170 areAnnotationChecker]: L33-5 has no Hoare annotation [2020-07-11 02:28:14,116 WARN L170 areAnnotationChecker]: L23 has no Hoare annotation [2020-07-11 02:28:14,116 WARN L170 areAnnotationChecker]: L21-1 has no Hoare annotation [2020-07-11 02:28:14,116 WARN L170 areAnnotationChecker]: L33-6 has no Hoare annotation [2020-07-11 02:28:14,116 WARN L170 areAnnotationChecker]: L33-6 has no Hoare annotation [2020-07-11 02:28:14,116 WARN L170 areAnnotationChecker]: L33-6 has no Hoare annotation [2020-07-11 02:28:14,116 WARN L170 areAnnotationChecker]: L27 has no Hoare annotation [2020-07-11 02:28:14,117 WARN L170 areAnnotationChecker]: L21-2 has no Hoare annotation [2020-07-11 02:28:14,117 WARN L170 areAnnotationChecker]: L33-7 has no Hoare annotation [2020-07-11 02:28:14,117 WARN L170 areAnnotationChecker]: L34 has no Hoare annotation [2020-07-11 02:28:14,117 WARN L170 areAnnotationChecker]: L27-6 has no Hoare annotation [2020-07-11 02:28:14,117 WARN L170 areAnnotationChecker]: L27-6 has no Hoare annotation [2020-07-11 02:28:14,117 WARN L170 areAnnotationChecker]: L27-6 has no Hoare annotation [2020-07-11 02:28:14,117 WARN L170 areAnnotationChecker]: L20-3 has no Hoare annotation [2020-07-11 02:28:14,117 WARN L170 areAnnotationChecker]: L16-2 has no Hoare annotation [2020-07-11 02:28:14,118 WARN L170 areAnnotationChecker]: L34-1 has no Hoare annotation [2020-07-11 02:28:14,118 WARN L170 areAnnotationChecker]: L27-7 has no Hoare annotation [2020-07-11 02:28:14,118 WARN L170 areAnnotationChecker]: L28 has no Hoare annotation [2020-07-11 02:28:14,118 WARN L170 areAnnotationChecker]: L20-4 has no Hoare annotation [2020-07-11 02:28:14,118 WARN L170 areAnnotationChecker]: L16-3 has no Hoare annotation [2020-07-11 02:28:14,118 WARN L170 areAnnotationChecker]: L34-2 has no Hoare annotation [2020-07-11 02:28:14,118 WARN L170 areAnnotationChecker]: L34-2 has no Hoare annotation [2020-07-11 02:28:14,118 WARN L170 areAnnotationChecker]: L33 has no Hoare annotation [2020-07-11 02:28:14,118 WARN L170 areAnnotationChecker]: L28-1 has no Hoare annotation [2020-07-11 02:28:14,118 WARN L170 areAnnotationChecker]: L20-5 has no Hoare annotation [2020-07-11 02:28:14,119 WARN L170 areAnnotationChecker]: L16-4 has no Hoare annotation [2020-07-11 02:28:14,119 WARN L170 areAnnotationChecker]: L28-2 has no Hoare annotation [2020-07-11 02:28:14,119 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2020-07-11 02:28:14,119 WARN L170 areAnnotationChecker]: L29 has no Hoare annotation [2020-07-11 02:28:14,119 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2020-07-11 02:28:14,119 WARN L170 areAnnotationChecker]: L29-1 has no Hoare annotation [2020-07-11 02:28:14,119 WARN L170 areAnnotationChecker]: L29-2 has no Hoare annotation [2020-07-11 02:28:14,119 WARN L170 areAnnotationChecker]: L27-3 has no Hoare annotation [2020-07-11 02:28:14,119 WARN L170 areAnnotationChecker]: L27-4 has no Hoare annotation [2020-07-11 02:28:14,120 WARN L170 areAnnotationChecker]: L27-5 has no Hoare annotation [2020-07-11 02:28:14,120 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-11 02:28:14,124 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 11.07 02:28:14 BoogieIcfgContainer [2020-07-11 02:28:14,124 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2020-07-11 02:28:14,129 INFO L168 Benchmark]: Toolchain (without parser) took 35840.60 ms. Allocated memory was 136.8 MB in the beginning and 484.4 MB in the end (delta: 347.6 MB). Free memory was 102.2 MB in the beginning and 212.8 MB in the end (delta: -110.7 MB). Peak memory consumption was 236.9 MB. Max. memory is 7.1 GB. [2020-07-11 02:28:14,130 INFO L168 Benchmark]: CDTParser took 0.33 ms. Allocated memory is still 136.8 MB. Free memory was 120.3 MB in the beginning and 120.0 MB in the end (delta: 209.9 kB). Peak memory consumption was 209.9 kB. Max. memory is 7.1 GB. [2020-07-11 02:28:14,130 INFO L168 Benchmark]: CACSL2BoogieTranslator took 332.86 ms. Allocated memory is still 136.8 MB. Free memory was 102.0 MB in the beginning and 91.1 MB in the end (delta: 10.9 MB). Peak memory consumption was 10.9 MB. Max. memory is 7.1 GB. [2020-07-11 02:28:14,131 INFO L168 Benchmark]: Boogie Preprocessor took 170.03 ms. Allocated memory was 136.8 MB in the beginning and 201.3 MB in the end (delta: 64.5 MB). Free memory was 91.1 MB in the beginning and 178.7 MB in the end (delta: -87.6 MB). Peak memory consumption was 14.2 MB. Max. memory is 7.1 GB. [2020-07-11 02:28:14,132 INFO L168 Benchmark]: RCFGBuilder took 652.32 ms. Allocated memory is still 201.3 MB. Free memory was 178.7 MB in the beginning and 150.4 MB in the end (delta: 28.3 MB). Peak memory consumption was 28.3 MB. Max. memory is 7.1 GB. [2020-07-11 02:28:14,132 INFO L168 Benchmark]: TraceAbstraction took 34677.33 ms. Allocated memory was 201.3 MB in the beginning and 484.4 MB in the end (delta: 283.1 MB). Free memory was 149.7 MB in the beginning and 212.8 MB in the end (delta: -63.1 MB). Peak memory consumption was 220.0 MB. Max. memory is 7.1 GB. [2020-07-11 02:28:14,135 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.33 ms. Allocated memory is still 136.8 MB. Free memory was 120.3 MB in the beginning and 120.0 MB in the end (delta: 209.9 kB). Peak memory consumption was 209.9 kB. Max. memory is 7.1 GB. * CACSL2BoogieTranslator took 332.86 ms. Allocated memory is still 136.8 MB. Free memory was 102.0 MB in the beginning and 91.1 MB in the end (delta: 10.9 MB). Peak memory consumption was 10.9 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 170.03 ms. Allocated memory was 136.8 MB in the beginning and 201.3 MB in the end (delta: 64.5 MB). Free memory was 91.1 MB in the beginning and 178.7 MB in the end (delta: -87.6 MB). Peak memory consumption was 14.2 MB. Max. memory is 7.1 GB. * RCFGBuilder took 652.32 ms. Allocated memory is still 201.3 MB. Free memory was 178.7 MB in the beginning and 150.4 MB in the end (delta: 28.3 MB). Peak memory consumption was 28.3 MB. Max. memory is 7.1 GB. * TraceAbstraction took 34677.33 ms. Allocated memory was 201.3 MB in the beginning and 484.4 MB in the end (delta: 283.1 MB). Free memory was 149.7 MB in the beginning and 212.8 MB in the end (delta: -63.1 MB). Peak memory consumption was 220.0 MB. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - CounterExampleResult [Line: 6]: a call of __VERIFIER_error() is reachable a call of __VERIFIER_error() is reachable We found a FailurePath: [L14] int MAX = __VERIFIER_nondet_uint(); VAL [__VERIFIER_nondet_uint()=2, MAX=2] [L15] COND FALSE !(!(MAX > 0)) VAL [MAX=2] [L16] char str1[MAX], str2[MAX]; VAL [MAX=2, str1={4:0}, str2={3:0}] [L17] int cont, i, j; VAL [MAX=2, str1={4:0}, str2={3:0}] [L18] cont = 0 VAL [cont=0, MAX=2, str1={4:0}, str2={3:0}] [L20] i=0 VAL [cont=0, i=0, MAX=2, str1={4:0}, str2={3:0}] [L20] COND TRUE i= 0 VAL [cont=0, i=1, j=0, MAX=2, str1={4:0}, str2={3:0}] [L28] EXPR str1[0] VAL [cont=0, i=1, j=0, MAX=2, str1={4:0}, str1[0]=-1, str2={3:0}] [L28] str2[j] = str1[0] VAL [cont=0, i=1, j=0, MAX=2, str1={4:0}, str1[0]=-1, str2={3:0}] [L29] j++ VAL [cont=0, i=1, j=1, MAX=2, str1={4:0}, str2={3:0}] [L27] i-- VAL [cont=0, i=0, j=1, MAX=2, str1={4:0}, str2={3:0}] [L27] COND TRUE i >= 0 VAL [cont=0, i=0, j=1, MAX=2, str1={4:0}, str2={3:0}] [L28] EXPR str1[0] VAL [cont=0, i=0, j=1, MAX=2, str1={4:0}, str1[0]=-1, str2={3:0}] [L28] str2[j] = str1[0] VAL [cont=0, i=0, j=1, MAX=2, str1={4:0}, str1[0]=-1, str2={3:0}] [L29] j++ VAL [cont=0, i=0, j=2, MAX=2, str1={4:0}, str2={3:0}] [L27] i-- VAL [cont=0, i=-1, j=2, MAX=2, str1={4:0}, str2={3:0}] [L27] COND FALSE !(i >= 0) VAL [cont=0, i=-1, j=2, MAX=2, str1={4:0}, str2={3:0}] [L32] j = MAX-1 VAL [cont=0, i=-1, j=1, MAX=2, str1={4:0}, str2={3:0}] [L33] i=0 VAL [cont=0, i=0, j=1, MAX=2, str1={4:0}, str2={3:0}] [L33] COND TRUE i