/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/loops/invert_string-1.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-27 10:16:55,714 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-27 10:16:55,716 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-27 10:16:55,744 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-27 10:16:55,744 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-27 10:16:55,745 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-27 10:16:55,746 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-27 10:16:55,748 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-27 10:16:55,749 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-27 10:16:55,750 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-27 10:16:55,753 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-27 10:16:55,755 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-27 10:16:55,756 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-27 10:16:55,760 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-27 10:16:55,761 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-27 10:16:55,765 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-27 10:16:55,765 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-27 10:16:55,766 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-27 10:16:55,768 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-27 10:16:55,769 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-27 10:16:55,770 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-27 10:16:55,771 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-27 10:16:55,772 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-27 10:16:55,773 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-27 10:16:55,774 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-27 10:16:55,778 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-27 10:16:55,779 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-27 10:16:55,779 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-27 10:16:55,779 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-27 10:16:55,780 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-27 10:16:55,780 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-27 10:16:55,781 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-27 10:16:55,781 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-27 10:16:55,782 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-27 10:16:55,782 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-27 10:16:55,783 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-27 10:16:55,783 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-27 10:16:55,783 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-27 10:16:55,784 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-27 10:16:55,784 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-27 10:16:55,784 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-27 10:16:55,785 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-27 10:16:55,786 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2022-04-27 10:16:55,808 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-27 10:16:55,809 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-27 10:16:55,809 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-27 10:16:55,809 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-27 10:16:55,810 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-27 10:16:55,810 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-27 10:16:55,810 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-27 10:16:55,810 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-27 10:16:55,811 INFO L138 SettingsManager]: * Use SBE=true [2022-04-27 10:16:55,811 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-27 10:16:55,811 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-27 10:16:55,812 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-27 10:16:55,812 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-27 10:16:55,812 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-27 10:16:55,812 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-27 10:16:55,812 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-27 10:16:55,812 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-27 10:16:55,813 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-27 10:16:55,813 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-27 10:16:55,813 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-27 10:16:55,813 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-27 10:16:55,813 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-27 10:16:55,814 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-27 10:16:55,814 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-27 10:16:55,814 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 10:16:55,814 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-27 10:16:55,814 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-27 10:16:55,814 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-27 10:16:55,814 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-27 10:16:55,815 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-27 10:16:55,815 INFO L138 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2022-04-27 10:16:55,815 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-27 10:16:55,815 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-27 10:16:55,815 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-27 10:16:56,018 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-27 10:16:56,033 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-27 10:16:56,035 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-27 10:16:56,036 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-27 10:16:56,036 INFO L275 PluginConnector]: CDTParser initialized [2022-04-27 10:16:56,037 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/loops/invert_string-1.c [2022-04-27 10:16:56,093 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/5dd780ab0/92caccfa7ab34f6bb784c9bd77075fdf/FLAGc7e0ce280 [2022-04-27 10:16:56,463 INFO L306 CDTParser]: Found 1 translation units. [2022-04-27 10:16:56,463 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/loops/invert_string-1.c [2022-04-27 10:16:56,468 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/5dd780ab0/92caccfa7ab34f6bb784c9bd77075fdf/FLAGc7e0ce280 [2022-04-27 10:16:56,477 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/5dd780ab0/92caccfa7ab34f6bb784c9bd77075fdf [2022-04-27 10:16:56,479 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-27 10:16:56,481 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-27 10:16:56,481 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-27 10:16:56,482 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-27 10:16:56,486 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-27 10:16:56,487 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 10:16:56" (1/1) ... [2022-04-27 10:16:56,488 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@202ee35 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 10:16:56, skipping insertion in model container [2022-04-27 10:16:56,488 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 10:16:56" (1/1) ... [2022-04-27 10:16:56,495 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-27 10:16:56,507 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-27 10:16:56,613 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/loops/invert_string-1.c[352,365] [2022-04-27 10:16:56,644 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 10:16:56,650 INFO L203 MainTranslator]: Completed pre-run [2022-04-27 10:16:56,663 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/loops/invert_string-1.c[352,365] [2022-04-27 10:16:56,681 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 10:16:56,691 INFO L208 MainTranslator]: Completed translation [2022-04-27 10:16:56,692 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 10:16:56 WrapperNode [2022-04-27 10:16:56,692 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-27 10:16:56,693 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-27 10:16:56,693 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-27 10:16:56,693 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-27 10:16:56,702 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 10:16:56" (1/1) ... [2022-04-27 10:16:56,702 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 10:16:56" (1/1) ... [2022-04-27 10:16:56,707 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 10:16:56" (1/1) ... [2022-04-27 10:16:56,708 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 10:16:56" (1/1) ... [2022-04-27 10:16:56,714 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 10:16:56" (1/1) ... [2022-04-27 10:16:56,718 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 10:16:56" (1/1) ... [2022-04-27 10:16:56,719 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 10:16:56" (1/1) ... [2022-04-27 10:16:56,720 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-27 10:16:56,721 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-27 10:16:56,721 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-27 10:16:56,721 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-27 10:16:56,722 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 10:16:56" (1/1) ... [2022-04-27 10:16:56,732 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 10:16:56,742 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 10:16:56,756 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-27 10:16:56,781 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-27 10:16:56,798 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-27 10:16:56,799 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-27 10:16:56,799 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-27 10:16:56,799 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-27 10:16:56,801 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-27 10:16:56,801 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-27 10:16:56,801 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-27 10:16:56,801 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-27 10:16:56,801 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-27 10:16:56,802 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-27 10:16:56,802 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_char [2022-04-27 10:16:56,802 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_uint [2022-04-27 10:16:56,802 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-27 10:16:56,802 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-04-27 10:16:56,802 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-27 10:16:56,802 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-27 10:16:56,802 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-27 10:16:56,802 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-27 10:16:56,802 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-27 10:16:56,803 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-27 10:16:56,858 INFO L234 CfgBuilder]: Building ICFG [2022-04-27 10:16:56,859 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-27 10:16:57,048 INFO L275 CfgBuilder]: Performing block encoding [2022-04-27 10:16:57,054 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-27 10:16:57,054 INFO L299 CfgBuilder]: Removed 3 assume(true) statements. [2022-04-27 10:16:57,056 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 10:16:57 BoogieIcfgContainer [2022-04-27 10:16:57,056 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-27 10:16:57,057 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-27 10:16:57,057 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-27 10:16:57,060 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-27 10:16:57,060 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 27.04 10:16:56" (1/3) ... [2022-04-27 10:16:57,061 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6f1d706 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 10:16:57, skipping insertion in model container [2022-04-27 10:16:57,061 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 10:16:56" (2/3) ... [2022-04-27 10:16:57,062 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6f1d706 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 10:16:57, skipping insertion in model container [2022-04-27 10:16:57,063 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 10:16:57" (3/3) ... [2022-04-27 10:16:57,064 INFO L111 eAbstractionObserver]: Analyzing ICFG invert_string-1.c [2022-04-27 10:16:57,076 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-27 10:16:57,076 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-27 10:16:57,117 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-27 10:16:57,122 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopsAndPotentialCycles, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@6537c3e2, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@266cf2fc [2022-04-27 10:16:57,123 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-27 10:16:57,129 INFO L276 IsEmpty]: Start isEmpty. Operand has 29 states, 21 states have (on average 1.4285714285714286) internal successors, (30), 22 states have internal predecessors, (30), 3 states have call successors, (3), 3 states have call predecessors, (3), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 10:16:57,136 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-27 10:16:57,136 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 10:16:57,137 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 10:16:57,137 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 10:16:57,141 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 10:16:57,142 INFO L85 PathProgramCache]: Analyzing trace with hash -1739069180, now seen corresponding path program 1 times [2022-04-27 10:16:57,149 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 10:16:57,150 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [885439528] [2022-04-27 10:16:57,150 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:16:57,151 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 10:16:57,250 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:16:57,349 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 10:16:57,362 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:16:57,383 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {32#true} is VALID [2022-04-27 10:16:57,384 INFO L290 TraceCheckUtils]: 1: Hoare triple {32#true} assume true; {32#true} is VALID [2022-04-27 10:16:57,384 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {32#true} {32#true} #74#return; {32#true} is VALID [2022-04-27 10:16:57,386 INFO L272 TraceCheckUtils]: 0: Hoare triple {32#true} call ULTIMATE.init(); {37#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 10:16:57,387 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {32#true} is VALID [2022-04-27 10:16:57,387 INFO L290 TraceCheckUtils]: 2: Hoare triple {32#true} assume true; {32#true} is VALID [2022-04-27 10:16:57,387 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {32#true} {32#true} #74#return; {32#true} is VALID [2022-04-27 10:16:57,388 INFO L272 TraceCheckUtils]: 4: Hoare triple {32#true} call #t~ret14 := main(); {32#true} is VALID [2022-04-27 10:16:57,389 INFO L290 TraceCheckUtils]: 5: Hoare triple {32#true} ~MAX~0 := (if #t~nondet4 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet4 % 4294967296 % 4294967296 else #t~nondet4 % 4294967296 % 4294967296 - 4294967296);havoc #t~nondet4; {32#true} is VALID [2022-04-27 10:16:57,389 INFO L290 TraceCheckUtils]: 6: Hoare triple {32#true} assume !(~MAX~0 > 0);assume false; {33#false} is VALID [2022-04-27 10:16:57,390 INFO L290 TraceCheckUtils]: 7: Hoare triple {33#false} call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack(~MAX~0);call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(~MAX~0);havoc ~cont~0;havoc ~i~0;havoc ~j~0;~cont~0 := 0;~i~0 := 0; {33#false} is VALID [2022-04-27 10:16:57,390 INFO L290 TraceCheckUtils]: 8: Hoare triple {33#false} assume !true; {33#false} is VALID [2022-04-27 10:16:57,390 INFO L290 TraceCheckUtils]: 9: Hoare triple {33#false} call write~int(0, ~#str1~0.base, ~#str1~0.offset + (~MAX~0 - 1), 1);~j~0 := 0;~i~0 := ~MAX~0 - 1; {33#false} is VALID [2022-04-27 10:16:57,391 INFO L290 TraceCheckUtils]: 10: Hoare triple {33#false} assume !true; {33#false} is VALID [2022-04-27 10:16:57,391 INFO L290 TraceCheckUtils]: 11: Hoare triple {33#false} ~j~0 := ~MAX~0 - 1;~i~0 := 0; {33#false} is VALID [2022-04-27 10:16:57,391 INFO L290 TraceCheckUtils]: 12: Hoare triple {33#false} assume !!(~i~0 < ~MAX~0);call #t~mem11 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem12 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {33#false} is VALID [2022-04-27 10:16:57,392 INFO L272 TraceCheckUtils]: 13: Hoare triple {33#false} call __VERIFIER_assert((if #t~mem11 == #t~mem12 then 1 else 0)); {33#false} is VALID [2022-04-27 10:16:57,392 INFO L290 TraceCheckUtils]: 14: Hoare triple {33#false} ~cond := #in~cond; {33#false} is VALID [2022-04-27 10:16:57,392 INFO L290 TraceCheckUtils]: 15: Hoare triple {33#false} assume 0 == ~cond; {33#false} is VALID [2022-04-27 10:16:57,392 INFO L290 TraceCheckUtils]: 16: Hoare triple {33#false} assume !false; {33#false} is VALID [2022-04-27 10:16:57,393 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 10:16:57,393 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 10:16:57,394 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [885439528] [2022-04-27 10:16:57,394 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [885439528] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 10:16:57,395 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 10:16:57,395 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-27 10:16:57,396 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1996284485] [2022-04-27 10:16:57,397 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 10:16:57,402 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.333333333333333) internal successors, (13), 2 states have internal predecessors, (13), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 17 [2022-04-27 10:16:57,404 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 10:16:57,408 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.333333333333333) internal successors, (13), 2 states have internal predecessors, (13), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:16:57,440 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:16:57,441 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-27 10:16:57,441 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 10:16:57,466 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-27 10:16:57,467 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-27 10:16:57,470 INFO L87 Difference]: Start difference. First operand has 29 states, 21 states have (on average 1.4285714285714286) internal successors, (30), 22 states have internal predecessors, (30), 3 states have call successors, (3), 3 states have call predecessors, (3), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand has 3 states, 3 states have (on average 4.333333333333333) internal successors, (13), 2 states have internal predecessors, (13), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:16:57,588 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:16:57,588 INFO L93 Difference]: Finished difference Result 51 states and 65 transitions. [2022-04-27 10:16:57,588 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-27 10:16:57,589 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.333333333333333) internal successors, (13), 2 states have internal predecessors, (13), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 17 [2022-04-27 10:16:57,589 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 10:16:57,590 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.333333333333333) internal successors, (13), 2 states have internal predecessors, (13), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:16:57,604 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 65 transitions. [2022-04-27 10:16:57,605 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.333333333333333) internal successors, (13), 2 states have internal predecessors, (13), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:16:57,614 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 65 transitions. [2022-04-27 10:16:57,615 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 65 transitions. [2022-04-27 10:16:57,698 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:16:57,706 INFO L225 Difference]: With dead ends: 51 [2022-04-27 10:16:57,706 INFO L226 Difference]: Without dead ends: 24 [2022-04-27 10:16:57,708 INFO L412 NwaCegarLoop]: 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 [2022-04-27 10:16:57,713 INFO L413 NwaCegarLoop]: 30 mSDtfsCounter, 22 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 3 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 33 SdHoareTripleChecker+Invalid, 5 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 3 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 10:16:57,714 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [23 Valid, 33 Invalid, 5 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 3 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 10:16:57,728 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 24 states. [2022-04-27 10:16:57,739 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 24 to 24. [2022-04-27 10:16:57,739 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 10:16:57,740 INFO L82 GeneralOperation]: Start isEquivalent. First operand 24 states. Second operand has 24 states, 18 states have (on average 1.1666666666666667) internal successors, (21), 18 states have internal predecessors, (21), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 10:16:57,740 INFO L74 IsIncluded]: Start isIncluded. First operand 24 states. Second operand has 24 states, 18 states have (on average 1.1666666666666667) internal successors, (21), 18 states have internal predecessors, (21), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 10:16:57,741 INFO L87 Difference]: Start difference. First operand 24 states. Second operand has 24 states, 18 states have (on average 1.1666666666666667) internal successors, (21), 18 states have internal predecessors, (21), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 10:16:57,744 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:16:57,744 INFO L93 Difference]: Finished difference Result 24 states and 26 transitions. [2022-04-27 10:16:57,744 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 26 transitions. [2022-04-27 10:16:57,745 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:16:57,745 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:16:57,745 INFO L74 IsIncluded]: Start isIncluded. First operand has 24 states, 18 states have (on average 1.1666666666666667) internal successors, (21), 18 states have internal predecessors, (21), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 24 states. [2022-04-27 10:16:57,746 INFO L87 Difference]: Start difference. First operand has 24 states, 18 states have (on average 1.1666666666666667) internal successors, (21), 18 states have internal predecessors, (21), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 24 states. [2022-04-27 10:16:57,747 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:16:57,747 INFO L93 Difference]: Finished difference Result 24 states and 26 transitions. [2022-04-27 10:16:57,748 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 26 transitions. [2022-04-27 10:16:57,748 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:16:57,748 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:16:57,748 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 10:16:57,748 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 10:16:57,749 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 24 states, 18 states have (on average 1.1666666666666667) internal successors, (21), 18 states have internal predecessors, (21), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 10:16:57,750 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 26 transitions. [2022-04-27 10:16:57,751 INFO L78 Accepts]: Start accepts. Automaton has 24 states and 26 transitions. Word has length 17 [2022-04-27 10:16:57,751 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 10:16:57,751 INFO L495 AbstractCegarLoop]: Abstraction has 24 states and 26 transitions. [2022-04-27 10:16:57,752 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.333333333333333) internal successors, (13), 2 states have internal predecessors, (13), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:16:57,752 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 26 transitions. [2022-04-27 10:16:57,752 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-27 10:16:57,753 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 10:16:57,753 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 10:16:57,753 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-27 10:16:57,753 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 10:16:57,754 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 10:16:57,754 INFO L85 PathProgramCache]: Analyzing trace with hash 186732794, now seen corresponding path program 1 times [2022-04-27 10:16:57,754 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 10:16:57,754 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [737697077] [2022-04-27 10:16:57,754 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:16:57,755 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 10:16:57,787 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:16:57,835 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 10:16:57,838 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:16:57,847 INFO L290 TraceCheckUtils]: 0: Hoare triple {193#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {186#true} is VALID [2022-04-27 10:16:57,847 INFO L290 TraceCheckUtils]: 1: Hoare triple {186#true} assume true; {186#true} is VALID [2022-04-27 10:16:57,848 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {186#true} {186#true} #74#return; {186#true} is VALID [2022-04-27 10:16:57,848 INFO L272 TraceCheckUtils]: 0: Hoare triple {186#true} call ULTIMATE.init(); {193#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 10:16:57,848 INFO L290 TraceCheckUtils]: 1: Hoare triple {193#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {186#true} is VALID [2022-04-27 10:16:57,849 INFO L290 TraceCheckUtils]: 2: Hoare triple {186#true} assume true; {186#true} is VALID [2022-04-27 10:16:57,849 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {186#true} {186#true} #74#return; {186#true} is VALID [2022-04-27 10:16:57,849 INFO L272 TraceCheckUtils]: 4: Hoare triple {186#true} call #t~ret14 := main(); {186#true} is VALID [2022-04-27 10:16:57,849 INFO L290 TraceCheckUtils]: 5: Hoare triple {186#true} ~MAX~0 := (if #t~nondet4 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet4 % 4294967296 % 4294967296 else #t~nondet4 % 4294967296 % 4294967296 - 4294967296);havoc #t~nondet4; {186#true} is VALID [2022-04-27 10:16:57,853 INFO L290 TraceCheckUtils]: 6: Hoare triple {186#true} assume !!(~MAX~0 > 0); {191#(<= 1 main_~MAX~0)} is VALID [2022-04-27 10:16:57,853 INFO L290 TraceCheckUtils]: 7: Hoare triple {191#(<= 1 main_~MAX~0)} call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack(~MAX~0);call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(~MAX~0);havoc ~cont~0;havoc ~i~0;havoc ~j~0;~cont~0 := 0;~i~0 := 0; {192#(and (<= 1 main_~MAX~0) (= main_~i~0 0))} is VALID [2022-04-27 10:16:57,854 INFO L290 TraceCheckUtils]: 8: Hoare triple {192#(and (<= 1 main_~MAX~0) (= main_~i~0 0))} assume !(~i~0 < ~MAX~0); {187#false} is VALID [2022-04-27 10:16:57,854 INFO L290 TraceCheckUtils]: 9: Hoare triple {187#false} call write~int(0, ~#str1~0.base, ~#str1~0.offset + (~MAX~0 - 1), 1);~j~0 := 0;~i~0 := ~MAX~0 - 1; {187#false} is VALID [2022-04-27 10:16:57,854 INFO L290 TraceCheckUtils]: 10: Hoare triple {187#false} assume !(~i~0 >= 0); {187#false} is VALID [2022-04-27 10:16:57,855 INFO L290 TraceCheckUtils]: 11: Hoare triple {187#false} ~j~0 := ~MAX~0 - 1;~i~0 := 0; {187#false} is VALID [2022-04-27 10:16:57,855 INFO L290 TraceCheckUtils]: 12: Hoare triple {187#false} assume !!(~i~0 < ~MAX~0);call #t~mem11 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem12 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {187#false} is VALID [2022-04-27 10:16:57,855 INFO L272 TraceCheckUtils]: 13: Hoare triple {187#false} call __VERIFIER_assert((if #t~mem11 == #t~mem12 then 1 else 0)); {187#false} is VALID [2022-04-27 10:16:57,855 INFO L290 TraceCheckUtils]: 14: Hoare triple {187#false} ~cond := #in~cond; {187#false} is VALID [2022-04-27 10:16:57,855 INFO L290 TraceCheckUtils]: 15: Hoare triple {187#false} assume 0 == ~cond; {187#false} is VALID [2022-04-27 10:16:57,855 INFO L290 TraceCheckUtils]: 16: Hoare triple {187#false} assume !false; {187#false} is VALID [2022-04-27 10:16:57,856 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 10:16:57,856 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 10:16:57,856 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [737697077] [2022-04-27 10:16:57,856 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [737697077] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 10:16:57,856 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 10:16:57,857 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 10:16:57,857 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1170391037] [2022-04-27 10:16:57,857 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 10:16:57,858 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.6) internal successors, (13), 4 states have internal predecessors, (13), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 17 [2022-04-27 10:16:57,858 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 10:16:57,859 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.6) internal successors, (13), 4 states have internal predecessors, (13), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:16:57,873 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:16:57,873 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 10:16:57,873 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 10:16:57,874 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 10:16:57,874 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-27 10:16:57,874 INFO L87 Difference]: Start difference. First operand 24 states and 26 transitions. Second operand has 5 states, 5 states have (on average 2.6) internal successors, (13), 4 states have internal predecessors, (13), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:16:58,036 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:16:58,037 INFO L93 Difference]: Finished difference Result 44 states and 49 transitions. [2022-04-27 10:16:58,037 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 10:16:58,037 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.6) internal successors, (13), 4 states have internal predecessors, (13), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 17 [2022-04-27 10:16:58,037 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 10:16:58,037 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.6) internal successors, (13), 4 states have internal predecessors, (13), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:16:58,040 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 49 transitions. [2022-04-27 10:16:58,040 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.6) internal successors, (13), 4 states have internal predecessors, (13), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:16:58,044 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 49 transitions. [2022-04-27 10:16:58,044 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 49 transitions. [2022-04-27 10:16:58,098 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:16:58,100 INFO L225 Difference]: With dead ends: 44 [2022-04-27 10:16:58,100 INFO L226 Difference]: Without dead ends: 30 [2022-04-27 10:16:58,104 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 8 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=18, Invalid=24, Unknown=0, NotChecked=0, Total=42 [2022-04-27 10:16:58,106 INFO L413 NwaCegarLoop]: 17 mSDtfsCounter, 36 mSDsluCounter, 12 mSDsCounter, 0 mSdLazyCounter, 37 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 36 SdHoareTripleChecker+Valid, 29 SdHoareTripleChecker+Invalid, 49 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 37 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 10:16:58,107 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [36 Valid, 29 Invalid, 49 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 37 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 10:16:58,109 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 30 states. [2022-04-27 10:16:58,121 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 30 to 25. [2022-04-27 10:16:58,121 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 10:16:58,122 INFO L82 GeneralOperation]: Start isEquivalent. First operand 30 states. Second operand has 25 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 19 states have internal predecessors, (22), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 10:16:58,127 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand has 25 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 19 states have internal predecessors, (22), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 10:16:58,129 INFO L87 Difference]: Start difference. First operand 30 states. Second operand has 25 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 19 states have internal predecessors, (22), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 10:16:58,132 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:16:58,132 INFO L93 Difference]: Finished difference Result 30 states and 33 transitions. [2022-04-27 10:16:58,132 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 33 transitions. [2022-04-27 10:16:58,133 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:16:58,133 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:16:58,133 INFO L74 IsIncluded]: Start isIncluded. First operand has 25 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 19 states have internal predecessors, (22), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 30 states. [2022-04-27 10:16:58,134 INFO L87 Difference]: Start difference. First operand has 25 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 19 states have internal predecessors, (22), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 30 states. [2022-04-27 10:16:58,139 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:16:58,139 INFO L93 Difference]: Finished difference Result 30 states and 33 transitions. [2022-04-27 10:16:58,139 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 33 transitions. [2022-04-27 10:16:58,140 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:16:58,140 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:16:58,140 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 10:16:58,140 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 10:16:58,140 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 19 states have internal predecessors, (22), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 10:16:58,145 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 27 transitions. [2022-04-27 10:16:58,145 INFO L78 Accepts]: Start accepts. Automaton has 25 states and 27 transitions. Word has length 17 [2022-04-27 10:16:58,146 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 10:16:58,146 INFO L495 AbstractCegarLoop]: Abstraction has 25 states and 27 transitions. [2022-04-27 10:16:58,147 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.6) internal successors, (13), 4 states have internal predecessors, (13), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:16:58,147 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 27 transitions. [2022-04-27 10:16:58,147 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2022-04-27 10:16:58,147 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 10:16:58,148 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 10:16:58,148 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-27 10:16:58,148 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 10:16:58,149 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 10:16:58,149 INFO L85 PathProgramCache]: Analyzing trace with hash -848440424, now seen corresponding path program 1 times [2022-04-27 10:16:58,149 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 10:16:58,149 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2144896611] [2022-04-27 10:16:58,149 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:16:58,150 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 10:16:58,187 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:16:58,233 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 10:16:58,235 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:16:58,239 INFO L290 TraceCheckUtils]: 0: Hoare triple {362#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {355#true} is VALID [2022-04-27 10:16:58,240 INFO L290 TraceCheckUtils]: 1: Hoare triple {355#true} assume true; {355#true} is VALID [2022-04-27 10:16:58,240 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {355#true} {355#true} #74#return; {355#true} is VALID [2022-04-27 10:16:58,240 INFO L272 TraceCheckUtils]: 0: Hoare triple {355#true} call ULTIMATE.init(); {362#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 10:16:58,241 INFO L290 TraceCheckUtils]: 1: Hoare triple {362#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {355#true} is VALID [2022-04-27 10:16:58,241 INFO L290 TraceCheckUtils]: 2: Hoare triple {355#true} assume true; {355#true} is VALID [2022-04-27 10:16:58,241 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {355#true} {355#true} #74#return; {355#true} is VALID [2022-04-27 10:16:58,241 INFO L272 TraceCheckUtils]: 4: Hoare triple {355#true} call #t~ret14 := main(); {355#true} is VALID [2022-04-27 10:16:58,241 INFO L290 TraceCheckUtils]: 5: Hoare triple {355#true} ~MAX~0 := (if #t~nondet4 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet4 % 4294967296 % 4294967296 else #t~nondet4 % 4294967296 % 4294967296 - 4294967296);havoc #t~nondet4; {355#true} is VALID [2022-04-27 10:16:58,242 INFO L290 TraceCheckUtils]: 6: Hoare triple {355#true} assume !!(~MAX~0 > 0); {360#(<= 1 main_~MAX~0)} is VALID [2022-04-27 10:16:58,242 INFO L290 TraceCheckUtils]: 7: Hoare triple {360#(<= 1 main_~MAX~0)} call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack(~MAX~0);call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(~MAX~0);havoc ~cont~0;havoc ~i~0;havoc ~j~0;~cont~0 := 0;~i~0 := 0; {360#(<= 1 main_~MAX~0)} is VALID [2022-04-27 10:16:58,243 INFO L290 TraceCheckUtils]: 8: Hoare triple {360#(<= 1 main_~MAX~0)} assume !!(~i~0 < ~MAX~0);assume -128 <= #t~nondet6 && #t~nondet6 <= 127;call write~int(#t~nondet6, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet6; {360#(<= 1 main_~MAX~0)} is VALID [2022-04-27 10:16:58,243 INFO L290 TraceCheckUtils]: 9: Hoare triple {360#(<= 1 main_~MAX~0)} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {360#(<= 1 main_~MAX~0)} is VALID [2022-04-27 10:16:58,244 INFO L290 TraceCheckUtils]: 10: Hoare triple {360#(<= 1 main_~MAX~0)} assume !(~i~0 < ~MAX~0); {360#(<= 1 main_~MAX~0)} is VALID [2022-04-27 10:16:58,244 INFO L290 TraceCheckUtils]: 11: Hoare triple {360#(<= 1 main_~MAX~0)} call write~int(0, ~#str1~0.base, ~#str1~0.offset + (~MAX~0 - 1), 1);~j~0 := 0;~i~0 := ~MAX~0 - 1; {361#(<= 0 main_~i~0)} is VALID [2022-04-27 10:16:58,245 INFO L290 TraceCheckUtils]: 12: Hoare triple {361#(<= 0 main_~i~0)} assume !(~i~0 >= 0); {356#false} is VALID [2022-04-27 10:16:58,245 INFO L290 TraceCheckUtils]: 13: Hoare triple {356#false} ~j~0 := ~MAX~0 - 1;~i~0 := 0; {356#false} is VALID [2022-04-27 10:16:58,245 INFO L290 TraceCheckUtils]: 14: Hoare triple {356#false} assume !!(~i~0 < ~MAX~0);call #t~mem11 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem12 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {356#false} is VALID [2022-04-27 10:16:58,245 INFO L272 TraceCheckUtils]: 15: Hoare triple {356#false} call __VERIFIER_assert((if #t~mem11 == #t~mem12 then 1 else 0)); {356#false} is VALID [2022-04-27 10:16:58,246 INFO L290 TraceCheckUtils]: 16: Hoare triple {356#false} ~cond := #in~cond; {356#false} is VALID [2022-04-27 10:16:58,246 INFO L290 TraceCheckUtils]: 17: Hoare triple {356#false} assume 0 == ~cond; {356#false} is VALID [2022-04-27 10:16:58,246 INFO L290 TraceCheckUtils]: 18: Hoare triple {356#false} assume !false; {356#false} is VALID [2022-04-27 10:16:58,246 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-27 10:16:58,247 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 10:16:58,247 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2144896611] [2022-04-27 10:16:58,247 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2144896611] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 10:16:58,247 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 10:16:58,247 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 10:16:58,247 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [85455459] [2022-04-27 10:16:58,248 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 10:16:58,248 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 19 [2022-04-27 10:16:58,248 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 10:16:58,248 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:16:58,264 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 19 edges. 19 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:16:58,264 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 10:16:58,264 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 10:16:58,265 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 10:16:58,265 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 10:16:58,265 INFO L87 Difference]: Start difference. First operand 25 states and 27 transitions. Second operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:16:58,412 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:16:58,412 INFO L93 Difference]: Finished difference Result 37 states and 40 transitions. [2022-04-27 10:16:58,412 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 10:16:58,412 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 19 [2022-04-27 10:16:58,413 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 10:16:58,413 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:16:58,416 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 39 transitions. [2022-04-27 10:16:58,417 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:16:58,420 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 39 transitions. [2022-04-27 10:16:58,420 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 39 transitions. [2022-04-27 10:16:58,457 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:16:58,462 INFO L225 Difference]: With dead ends: 37 [2022-04-27 10:16:58,462 INFO L226 Difference]: Without dead ends: 26 [2022-04-27 10:16:58,464 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 8 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=25, Unknown=0, NotChecked=0, Total=42 [2022-04-27 10:16:58,469 INFO L413 NwaCegarLoop]: 15 mSDtfsCounter, 27 mSDsluCounter, 12 mSDsCounter, 0 mSdLazyCounter, 29 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 27 SdHoareTripleChecker+Valid, 27 SdHoareTripleChecker+Invalid, 46 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 29 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 10:16:58,470 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [27 Valid, 27 Invalid, 46 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 29 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 10:16:58,471 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 26 states. [2022-04-27 10:16:58,485 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 26 to 26. [2022-04-27 10:16:58,485 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 10:16:58,485 INFO L82 GeneralOperation]: Start isEquivalent. First operand 26 states. Second operand has 26 states, 20 states have (on average 1.15) internal successors, (23), 20 states have internal predecessors, (23), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 10:16:58,486 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand has 26 states, 20 states have (on average 1.15) internal successors, (23), 20 states have internal predecessors, (23), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 10:16:58,487 INFO L87 Difference]: Start difference. First operand 26 states. Second operand has 26 states, 20 states have (on average 1.15) internal successors, (23), 20 states have internal predecessors, (23), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 10:16:58,491 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:16:58,491 INFO L93 Difference]: Finished difference Result 26 states and 28 transitions. [2022-04-27 10:16:58,491 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 28 transitions. [2022-04-27 10:16:58,493 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:16:58,493 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:16:58,493 INFO L74 IsIncluded]: Start isIncluded. First operand has 26 states, 20 states have (on average 1.15) internal successors, (23), 20 states have internal predecessors, (23), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 26 states. [2022-04-27 10:16:58,493 INFO L87 Difference]: Start difference. First operand has 26 states, 20 states have (on average 1.15) internal successors, (23), 20 states have internal predecessors, (23), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 26 states. [2022-04-27 10:16:58,500 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:16:58,500 INFO L93 Difference]: Finished difference Result 26 states and 28 transitions. [2022-04-27 10:16:58,500 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 28 transitions. [2022-04-27 10:16:58,500 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:16:58,501 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:16:58,501 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 10:16:58,501 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 10:16:58,501 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 20 states have (on average 1.15) internal successors, (23), 20 states have internal predecessors, (23), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 10:16:58,502 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 28 transitions. [2022-04-27 10:16:58,502 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 28 transitions. Word has length 19 [2022-04-27 10:16:58,502 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 10:16:58,503 INFO L495 AbstractCegarLoop]: Abstraction has 26 states and 28 transitions. [2022-04-27 10:16:58,503 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:16:58,503 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 28 transitions. [2022-04-27 10:16:58,503 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2022-04-27 10:16:58,503 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 10:16:58,504 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 10:16:58,504 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-04-27 10:16:58,504 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 10:16:58,505 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 10:16:58,505 INFO L85 PathProgramCache]: Analyzing trace with hash 689124982, now seen corresponding path program 1 times [2022-04-27 10:16:58,505 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 10:16:58,505 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1456281514] [2022-04-27 10:16:58,505 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:16:58,505 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 10:16:58,549 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:16:58,903 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 10:16:58,905 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:16:58,910 INFO L290 TraceCheckUtils]: 0: Hoare triple {524#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {509#true} is VALID [2022-04-27 10:16:58,911 INFO L290 TraceCheckUtils]: 1: Hoare triple {509#true} assume true; {509#true} is VALID [2022-04-27 10:16:58,911 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {509#true} {509#true} #74#return; {509#true} is VALID [2022-04-27 10:16:58,911 INFO L272 TraceCheckUtils]: 0: Hoare triple {509#true} call ULTIMATE.init(); {524#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 10:16:58,912 INFO L290 TraceCheckUtils]: 1: Hoare triple {524#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {509#true} is VALID [2022-04-27 10:16:58,912 INFO L290 TraceCheckUtils]: 2: Hoare triple {509#true} assume true; {509#true} is VALID [2022-04-27 10:16:58,912 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {509#true} {509#true} #74#return; {509#true} is VALID [2022-04-27 10:16:58,912 INFO L272 TraceCheckUtils]: 4: Hoare triple {509#true} call #t~ret14 := main(); {509#true} is VALID [2022-04-27 10:16:58,912 INFO L290 TraceCheckUtils]: 5: Hoare triple {509#true} ~MAX~0 := (if #t~nondet4 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet4 % 4294967296 % 4294967296 else #t~nondet4 % 4294967296 % 4294967296 - 4294967296);havoc #t~nondet4; {509#true} is VALID [2022-04-27 10:16:58,913 INFO L290 TraceCheckUtils]: 6: Hoare triple {509#true} assume !!(~MAX~0 > 0); {514#(<= 1 main_~MAX~0)} is VALID [2022-04-27 10:16:58,914 INFO L290 TraceCheckUtils]: 7: Hoare triple {514#(<= 1 main_~MAX~0)} call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack(~MAX~0);call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(~MAX~0);havoc ~cont~0;havoc ~i~0;havoc ~j~0;~cont~0 := 0;~i~0 := 0; {515#(and (= |main_~#str2~0.offset| 0) (<= 1 main_~MAX~0) (= |main_~#str1~0.offset| 0) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:16:58,915 INFO L290 TraceCheckUtils]: 8: Hoare triple {515#(and (= |main_~#str2~0.offset| 0) (<= 1 main_~MAX~0) (= |main_~#str1~0.offset| 0) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 < ~MAX~0);assume -128 <= #t~nondet6 && #t~nondet6 <= 127;call write~int(#t~nondet6, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet6; {515#(and (= |main_~#str2~0.offset| 0) (<= 1 main_~MAX~0) (= |main_~#str1~0.offset| 0) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:16:58,915 INFO L290 TraceCheckUtils]: 9: Hoare triple {515#(and (= |main_~#str2~0.offset| 0) (<= 1 main_~MAX~0) (= |main_~#str1~0.offset| 0) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {516#(and (= |main_~#str2~0.offset| 0) (<= 1 main_~MAX~0) (= |main_~#str1~0.offset| 0) (<= main_~i~0 1) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:16:58,919 INFO L290 TraceCheckUtils]: 10: Hoare triple {516#(and (= |main_~#str2~0.offset| 0) (<= 1 main_~MAX~0) (= |main_~#str1~0.offset| 0) (<= main_~i~0 1) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !(~i~0 < ~MAX~0); {517#(and (= |main_~#str2~0.offset| 0) (<= 1 main_~MAX~0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~MAX~0 1))} is VALID [2022-04-27 10:16:58,919 INFO L290 TraceCheckUtils]: 11: Hoare triple {517#(and (= |main_~#str2~0.offset| 0) (<= 1 main_~MAX~0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~MAX~0 1))} call write~int(0, ~#str1~0.base, ~#str1~0.offset + (~MAX~0 - 1), 1);~j~0 := 0;~i~0 := ~MAX~0 - 1; {518#(and (= |main_~#str2~0.offset| 0) (<= 1 main_~MAX~0) (= |main_~#str1~0.offset| 0) (= main_~j~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~MAX~0 1))} is VALID [2022-04-27 10:16:58,920 INFO L290 TraceCheckUtils]: 12: Hoare triple {518#(and (= |main_~#str2~0.offset| 0) (<= 1 main_~MAX~0) (= |main_~#str1~0.offset| 0) (= main_~j~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~MAX~0 1))} assume !!(~i~0 >= 0);call #t~mem8 := read~int(~#str1~0.base, ~#str1~0.offset, 1);call write~int(#t~mem8, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem8;#t~post9 := ~j~0;~j~0 := 1 + #t~post9;havoc #t~post9; {519#(and (= |main_~#str2~0.offset| 0) (<= 1 main_~MAX~0) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 0) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~MAX~0 1))} is VALID [2022-04-27 10:16:58,921 INFO L290 TraceCheckUtils]: 13: Hoare triple {519#(and (= |main_~#str2~0.offset| 0) (<= 1 main_~MAX~0) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 0) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~MAX~0 1))} #t~post7 := ~i~0;~i~0 := #t~post7 - 1;havoc #t~post7; {519#(and (= |main_~#str2~0.offset| 0) (<= 1 main_~MAX~0) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 0) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~MAX~0 1))} is VALID [2022-04-27 10:16:58,922 INFO L290 TraceCheckUtils]: 14: Hoare triple {519#(and (= |main_~#str2~0.offset| 0) (<= 1 main_~MAX~0) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 0) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~MAX~0 1))} assume !(~i~0 >= 0); {519#(and (= |main_~#str2~0.offset| 0) (<= 1 main_~MAX~0) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 0) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~MAX~0 1))} is VALID [2022-04-27 10:16:58,923 INFO L290 TraceCheckUtils]: 15: Hoare triple {519#(and (= |main_~#str2~0.offset| 0) (<= 1 main_~MAX~0) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 0) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~MAX~0 1))} ~j~0 := ~MAX~0 - 1;~i~0 := 0; {520#(and (= |main_~#str2~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset|))) (= |main_~#str1~0.offset| 0) (= (+ main_~j~0 |main_~#str2~0.offset|) 0) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:16:58,924 INFO L290 TraceCheckUtils]: 16: Hoare triple {520#(and (= |main_~#str2~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset|))) (= |main_~#str1~0.offset| 0) (= (+ main_~j~0 |main_~#str2~0.offset|) 0) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 < ~MAX~0);call #t~mem11 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem12 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {521#(= |main_#t~mem12| |main_#t~mem11|)} is VALID [2022-04-27 10:16:58,925 INFO L272 TraceCheckUtils]: 17: Hoare triple {521#(= |main_#t~mem12| |main_#t~mem11|)} call __VERIFIER_assert((if #t~mem11 == #t~mem12 then 1 else 0)); {522#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 10:16:58,925 INFO L290 TraceCheckUtils]: 18: Hoare triple {522#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {523#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 10:16:58,926 INFO L290 TraceCheckUtils]: 19: Hoare triple {523#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {510#false} is VALID [2022-04-27 10:16:58,926 INFO L290 TraceCheckUtils]: 20: Hoare triple {510#false} assume !false; {510#false} is VALID [2022-04-27 10:16:58,926 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 10:16:58,926 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 10:16:58,927 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1456281514] [2022-04-27 10:16:58,927 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1456281514] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 10:16:58,927 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [484849110] [2022-04-27 10:16:58,927 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:16:58,927 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 10:16:58,927 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 10:16:58,935 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 10:16:58,946 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-27 10:16:59,002 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:16:59,004 INFO L263 TraceCheckSpWp]: Trace formula consists of 120 conjuncts, 31 conjunts are in the unsatisfiable core [2022-04-27 10:16:59,027 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:16:59,030 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 10:16:59,114 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 10 treesize of output 8 [2022-04-27 10:16:59,346 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 15 [2022-04-27 10:16:59,582 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 10 [2022-04-27 10:16:59,651 INFO L272 TraceCheckUtils]: 0: Hoare triple {509#true} call ULTIMATE.init(); {509#true} is VALID [2022-04-27 10:16:59,651 INFO L290 TraceCheckUtils]: 1: Hoare triple {509#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {509#true} is VALID [2022-04-27 10:16:59,651 INFO L290 TraceCheckUtils]: 2: Hoare triple {509#true} assume true; {509#true} is VALID [2022-04-27 10:16:59,651 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {509#true} {509#true} #74#return; {509#true} is VALID [2022-04-27 10:16:59,651 INFO L272 TraceCheckUtils]: 4: Hoare triple {509#true} call #t~ret14 := main(); {509#true} is VALID [2022-04-27 10:16:59,652 INFO L290 TraceCheckUtils]: 5: Hoare triple {509#true} ~MAX~0 := (if #t~nondet4 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet4 % 4294967296 % 4294967296 else #t~nondet4 % 4294967296 % 4294967296 - 4294967296);havoc #t~nondet4; {509#true} is VALID [2022-04-27 10:16:59,655 INFO L290 TraceCheckUtils]: 6: Hoare triple {509#true} assume !!(~MAX~0 > 0); {514#(<= 1 main_~MAX~0)} is VALID [2022-04-27 10:16:59,656 INFO L290 TraceCheckUtils]: 7: Hoare triple {514#(<= 1 main_~MAX~0)} call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack(~MAX~0);call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(~MAX~0);havoc ~cont~0;havoc ~i~0;havoc ~j~0;~cont~0 := 0;~i~0 := 0; {549#(and (= |main_~#str2~0.offset| 0) (<= 1 main_~MAX~0) (<= main_~i~0 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:16:59,661 INFO L290 TraceCheckUtils]: 8: Hoare triple {549#(and (= |main_~#str2~0.offset| 0) (<= 1 main_~MAX~0) (<= main_~i~0 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 < ~MAX~0);assume -128 <= #t~nondet6 && #t~nondet6 <= 127;call write~int(#t~nondet6, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet6; {549#(and (= |main_~#str2~0.offset| 0) (<= 1 main_~MAX~0) (<= main_~i~0 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:16:59,662 INFO L290 TraceCheckUtils]: 9: Hoare triple {549#(and (= |main_~#str2~0.offset| 0) (<= 1 main_~MAX~0) (<= main_~i~0 0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {516#(and (= |main_~#str2~0.offset| 0) (<= 1 main_~MAX~0) (= |main_~#str1~0.offset| 0) (<= main_~i~0 1) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:16:59,662 INFO L290 TraceCheckUtils]: 10: Hoare triple {516#(and (= |main_~#str2~0.offset| 0) (<= 1 main_~MAX~0) (= |main_~#str1~0.offset| 0) (<= main_~i~0 1) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !(~i~0 < ~MAX~0); {517#(and (= |main_~#str2~0.offset| 0) (<= 1 main_~MAX~0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~MAX~0 1))} is VALID [2022-04-27 10:16:59,663 INFO L290 TraceCheckUtils]: 11: Hoare triple {517#(and (= |main_~#str2~0.offset| 0) (<= 1 main_~MAX~0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~MAX~0 1))} call write~int(0, ~#str1~0.base, ~#str1~0.offset + (~MAX~0 - 1), 1);~j~0 := 0;~i~0 := ~MAX~0 - 1; {518#(and (= |main_~#str2~0.offset| 0) (<= 1 main_~MAX~0) (= |main_~#str1~0.offset| 0) (= main_~j~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~MAX~0 1))} is VALID [2022-04-27 10:16:59,664 INFO L290 TraceCheckUtils]: 12: Hoare triple {518#(and (= |main_~#str2~0.offset| 0) (<= 1 main_~MAX~0) (= |main_~#str1~0.offset| 0) (= main_~j~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~MAX~0 1))} assume !!(~i~0 >= 0);call #t~mem8 := read~int(~#str1~0.base, ~#str1~0.offset, 1);call write~int(#t~mem8, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem8;#t~post9 := ~j~0;~j~0 := 1 + #t~post9;havoc #t~post9; {519#(and (= |main_~#str2~0.offset| 0) (<= 1 main_~MAX~0) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 0) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~MAX~0 1))} is VALID [2022-04-27 10:16:59,665 INFO L290 TraceCheckUtils]: 13: Hoare triple {519#(and (= |main_~#str2~0.offset| 0) (<= 1 main_~MAX~0) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 0) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~MAX~0 1))} #t~post7 := ~i~0;~i~0 := #t~post7 - 1;havoc #t~post7; {519#(and (= |main_~#str2~0.offset| 0) (<= 1 main_~MAX~0) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 0) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~MAX~0 1))} is VALID [2022-04-27 10:16:59,665 INFO L290 TraceCheckUtils]: 14: Hoare triple {519#(and (= |main_~#str2~0.offset| 0) (<= 1 main_~MAX~0) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 0) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~MAX~0 1))} assume !(~i~0 >= 0); {519#(and (= |main_~#str2~0.offset| 0) (<= 1 main_~MAX~0) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 0) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~MAX~0 1))} is VALID [2022-04-27 10:16:59,669 INFO L290 TraceCheckUtils]: 15: Hoare triple {519#(and (= |main_~#str2~0.offset| 0) (<= 1 main_~MAX~0) (= |main_~#str1~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) 0) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~MAX~0 1))} ~j~0 := ~MAX~0 - 1;~i~0 := 0; {520#(and (= |main_~#str2~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset|))) (= |main_~#str1~0.offset| 0) (= (+ main_~j~0 |main_~#str2~0.offset|) 0) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:16:59,670 INFO L290 TraceCheckUtils]: 16: Hoare triple {520#(and (= |main_~#str2~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset|))) (= |main_~#str1~0.offset| 0) (= (+ main_~j~0 |main_~#str2~0.offset|) 0) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 < ~MAX~0);call #t~mem11 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem12 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {521#(= |main_#t~mem12| |main_#t~mem11|)} is VALID [2022-04-27 10:16:59,670 INFO L272 TraceCheckUtils]: 17: Hoare triple {521#(= |main_#t~mem12| |main_#t~mem11|)} call __VERIFIER_assert((if #t~mem11 == #t~mem12 then 1 else 0)); {580#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 10:16:59,671 INFO L290 TraceCheckUtils]: 18: Hoare triple {580#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {584#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 10:16:59,671 INFO L290 TraceCheckUtils]: 19: Hoare triple {584#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {510#false} is VALID [2022-04-27 10:16:59,672 INFO L290 TraceCheckUtils]: 20: Hoare triple {510#false} assume !false; {510#false} is VALID [2022-04-27 10:16:59,672 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 10:16:59,672 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 10:16:59,803 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-04-27 10:16:59,803 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 23 treesize of output 26 [2022-04-27 10:16:59,815 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 24 [2022-04-27 10:16:59,837 INFO L356 Elim1Store]: treesize reduction 4, result has 63.6 percent of original size [2022-04-27 10:16:59,838 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 29 treesize of output 29 [2022-04-27 10:17:00,183 INFO L290 TraceCheckUtils]: 20: Hoare triple {510#false} assume !false; {510#false} is VALID [2022-04-27 10:17:00,183 INFO L290 TraceCheckUtils]: 19: Hoare triple {584#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {510#false} is VALID [2022-04-27 10:17:00,184 INFO L290 TraceCheckUtils]: 18: Hoare triple {580#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {584#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 10:17:00,186 INFO L272 TraceCheckUtils]: 17: Hoare triple {521#(= |main_#t~mem12| |main_#t~mem11|)} call __VERIFIER_assert((if #t~mem11 == #t~mem12 then 1 else 0)); {580#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 10:17:00,186 INFO L290 TraceCheckUtils]: 16: Hoare triple {603#(= (select (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset|)))} assume !!(~i~0 < ~MAX~0);call #t~mem11 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem12 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {521#(= |main_#t~mem12| |main_#t~mem11|)} is VALID [2022-04-27 10:17:00,187 INFO L290 TraceCheckUtils]: 15: Hoare triple {607#(= (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|) (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) main_~MAX~0 |main_~#str2~0.offset|)))} ~j~0 := ~MAX~0 - 1;~i~0 := 0; {603#(= (select (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset|)))} is VALID [2022-04-27 10:17:00,188 INFO L290 TraceCheckUtils]: 14: Hoare triple {607#(= (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|) (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) main_~MAX~0 |main_~#str2~0.offset|)))} assume !(~i~0 >= 0); {607#(= (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|) (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) main_~MAX~0 |main_~#str2~0.offset|)))} is VALID [2022-04-27 10:17:00,188 INFO L290 TraceCheckUtils]: 13: Hoare triple {607#(= (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|) (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) main_~MAX~0 |main_~#str2~0.offset|)))} #t~post7 := ~i~0;~i~0 := #t~post7 - 1;havoc #t~post7; {607#(= (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|) (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) main_~MAX~0 |main_~#str2~0.offset|)))} is VALID [2022-04-27 10:17:00,190 INFO L290 TraceCheckUtils]: 12: Hoare triple {617#(and (or (= (+ main_~MAX~0 |main_~#str2~0.offset|) (+ |main_~#str1~0.offset| 1)) (= main_~MAX~0 (+ main_~j~0 1))) (or (= |main_~#str1~0.base| |main_~#str2~0.base|) (= main_~MAX~0 (+ main_~j~0 1))))} assume !!(~i~0 >= 0);call #t~mem8 := read~int(~#str1~0.base, ~#str1~0.offset, 1);call write~int(#t~mem8, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem8;#t~post9 := ~j~0;~j~0 := 1 + #t~post9;havoc #t~post9; {607#(= (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|) (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) main_~MAX~0 |main_~#str2~0.offset|)))} is VALID [2022-04-27 10:17:00,191 INFO L290 TraceCheckUtils]: 11: Hoare triple {621#(and (or (= (+ main_~MAX~0 |main_~#str2~0.offset|) (+ |main_~#str1~0.offset| 1)) (= main_~MAX~0 1)) (or (= |main_~#str1~0.base| |main_~#str2~0.base|) (= main_~MAX~0 1)))} call write~int(0, ~#str1~0.base, ~#str1~0.offset + (~MAX~0 - 1), 1);~j~0 := 0;~i~0 := ~MAX~0 - 1; {617#(and (or (= (+ main_~MAX~0 |main_~#str2~0.offset|) (+ |main_~#str1~0.offset| 1)) (= main_~MAX~0 (+ main_~j~0 1))) (or (= |main_~#str1~0.base| |main_~#str2~0.base|) (= main_~MAX~0 (+ main_~j~0 1))))} is VALID [2022-04-27 10:17:00,192 INFO L290 TraceCheckUtils]: 10: Hoare triple {625#(or (and (or (= (+ main_~MAX~0 |main_~#str2~0.offset|) (+ |main_~#str1~0.offset| 1)) (= main_~MAX~0 1)) (or (= |main_~#str1~0.base| |main_~#str2~0.base|) (= main_~MAX~0 1))) (< main_~i~0 main_~MAX~0))} assume !(~i~0 < ~MAX~0); {621#(and (or (= (+ main_~MAX~0 |main_~#str2~0.offset|) (+ |main_~#str1~0.offset| 1)) (= main_~MAX~0 1)) (or (= |main_~#str1~0.base| |main_~#str2~0.base|) (= main_~MAX~0 1)))} is VALID [2022-04-27 10:17:00,194 INFO L290 TraceCheckUtils]: 9: Hoare triple {629#(or (< (+ main_~i~0 1) main_~MAX~0) (and (or (= (+ main_~MAX~0 |main_~#str2~0.offset|) (+ |main_~#str1~0.offset| 1)) (= main_~MAX~0 1)) (or (= |main_~#str1~0.base| |main_~#str2~0.base|) (= main_~MAX~0 1))))} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {625#(or (and (or (= (+ main_~MAX~0 |main_~#str2~0.offset|) (+ |main_~#str1~0.offset| 1)) (= main_~MAX~0 1)) (or (= |main_~#str1~0.base| |main_~#str2~0.base|) (= main_~MAX~0 1))) (< main_~i~0 main_~MAX~0))} is VALID [2022-04-27 10:17:00,195 INFO L290 TraceCheckUtils]: 8: Hoare triple {629#(or (< (+ main_~i~0 1) main_~MAX~0) (and (or (= (+ main_~MAX~0 |main_~#str2~0.offset|) (+ |main_~#str1~0.offset| 1)) (= main_~MAX~0 1)) (or (= |main_~#str1~0.base| |main_~#str2~0.base|) (= main_~MAX~0 1))))} assume !!(~i~0 < ~MAX~0);assume -128 <= #t~nondet6 && #t~nondet6 <= 127;call write~int(#t~nondet6, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet6; {629#(or (< (+ main_~i~0 1) main_~MAX~0) (and (or (= (+ main_~MAX~0 |main_~#str2~0.offset|) (+ |main_~#str1~0.offset| 1)) (= main_~MAX~0 1)) (or (= |main_~#str1~0.base| |main_~#str2~0.base|) (= main_~MAX~0 1))))} is VALID [2022-04-27 10:17:00,203 INFO L290 TraceCheckUtils]: 7: Hoare triple {514#(<= 1 main_~MAX~0)} call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack(~MAX~0);call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(~MAX~0);havoc ~cont~0;havoc ~i~0;havoc ~j~0;~cont~0 := 0;~i~0 := 0; {629#(or (< (+ main_~i~0 1) main_~MAX~0) (and (or (= (+ main_~MAX~0 |main_~#str2~0.offset|) (+ |main_~#str1~0.offset| 1)) (= main_~MAX~0 1)) (or (= |main_~#str1~0.base| |main_~#str2~0.base|) (= main_~MAX~0 1))))} is VALID [2022-04-27 10:17:00,204 INFO L290 TraceCheckUtils]: 6: Hoare triple {509#true} assume !!(~MAX~0 > 0); {514#(<= 1 main_~MAX~0)} is VALID [2022-04-27 10:17:00,204 INFO L290 TraceCheckUtils]: 5: Hoare triple {509#true} ~MAX~0 := (if #t~nondet4 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet4 % 4294967296 % 4294967296 else #t~nondet4 % 4294967296 % 4294967296 - 4294967296);havoc #t~nondet4; {509#true} is VALID [2022-04-27 10:17:00,204 INFO L272 TraceCheckUtils]: 4: Hoare triple {509#true} call #t~ret14 := main(); {509#true} is VALID [2022-04-27 10:17:00,204 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {509#true} {509#true} #74#return; {509#true} is VALID [2022-04-27 10:17:00,204 INFO L290 TraceCheckUtils]: 2: Hoare triple {509#true} assume true; {509#true} is VALID [2022-04-27 10:17:00,204 INFO L290 TraceCheckUtils]: 1: Hoare triple {509#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {509#true} is VALID [2022-04-27 10:17:00,205 INFO L272 TraceCheckUtils]: 0: Hoare triple {509#true} call ULTIMATE.init(); {509#true} is VALID [2022-04-27 10:17:00,205 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 10:17:00,205 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [484849110] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 10:17:00,205 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 10:17:00,205 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 12, 12] total 22 [2022-04-27 10:17:00,205 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [940773826] [2022-04-27 10:17:00,206 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 10:17:00,206 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 21 states have (on average 1.5714285714285714) internal successors, (33), 19 states have internal predecessors, (33), 2 states have call successors, (5), 4 states have call predecessors, (5), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 21 [2022-04-27 10:17:00,207 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 10:17:00,207 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 22 states, 21 states have (on average 1.5714285714285714) internal successors, (33), 19 states have internal predecessors, (33), 2 states have call successors, (5), 4 states have call predecessors, (5), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:00,243 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:17:00,244 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-27 10:17:00,244 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 10:17:00,244 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-27 10:17:00,245 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=74, Invalid=388, Unknown=0, NotChecked=0, Total=462 [2022-04-27 10:17:00,245 INFO L87 Difference]: Start difference. First operand 26 states and 28 transitions. Second operand has 22 states, 21 states have (on average 1.5714285714285714) internal successors, (33), 19 states have internal predecessors, (33), 2 states have call successors, (5), 4 states have call predecessors, (5), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:01,537 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:17:01,537 INFO L93 Difference]: Finished difference Result 54 states and 60 transitions. [2022-04-27 10:17:01,537 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-27 10:17:01,537 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 21 states have (on average 1.5714285714285714) internal successors, (33), 19 states have internal predecessors, (33), 2 states have call successors, (5), 4 states have call predecessors, (5), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 21 [2022-04-27 10:17:01,538 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 10:17:01,538 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 21 states have (on average 1.5714285714285714) internal successors, (33), 19 states have internal predecessors, (33), 2 states have call successors, (5), 4 states have call predecessors, (5), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:01,541 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 60 transitions. [2022-04-27 10:17:01,542 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 21 states have (on average 1.5714285714285714) internal successors, (33), 19 states have internal predecessors, (33), 2 states have call successors, (5), 4 states have call predecessors, (5), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:01,548 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 60 transitions. [2022-04-27 10:17:01,548 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 60 transitions. [2022-04-27 10:17:01,623 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:17:01,629 INFO L225 Difference]: With dead ends: 54 [2022-04-27 10:17:01,629 INFO L226 Difference]: Without dead ends: 52 [2022-04-27 10:17:01,630 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 71 GetRequests, 30 SyntacticMatches, 5 SemanticMatches, 36 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 314 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=287, Invalid=1119, Unknown=0, NotChecked=0, Total=1406 [2022-04-27 10:17:01,632 INFO L413 NwaCegarLoop]: 11 mSDtfsCounter, 81 mSDsluCounter, 45 mSDsCounter, 0 mSdLazyCounter, 260 mSolverCounterSat, 98 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 81 SdHoareTripleChecker+Valid, 56 SdHoareTripleChecker+Invalid, 358 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 98 IncrementalHoareTripleChecker+Valid, 260 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-27 10:17:01,633 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [81 Valid, 56 Invalid, 358 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [98 Valid, 260 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-27 10:17:01,634 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2022-04-27 10:17:01,662 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 39. [2022-04-27 10:17:01,662 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 10:17:01,662 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand has 39 states, 31 states have (on average 1.1612903225806452) internal successors, (36), 32 states have internal predecessors, (36), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 10:17:01,663 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand has 39 states, 31 states have (on average 1.1612903225806452) internal successors, (36), 32 states have internal predecessors, (36), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 10:17:01,663 INFO L87 Difference]: Start difference. First operand 52 states. Second operand has 39 states, 31 states have (on average 1.1612903225806452) internal successors, (36), 32 states have internal predecessors, (36), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 10:17:01,665 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:17:01,665 INFO L93 Difference]: Finished difference Result 52 states and 58 transitions. [2022-04-27 10:17:01,665 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 58 transitions. [2022-04-27 10:17:01,665 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:17:01,665 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:17:01,666 INFO L74 IsIncluded]: Start isIncluded. First operand has 39 states, 31 states have (on average 1.1612903225806452) internal successors, (36), 32 states have internal predecessors, (36), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Second operand 52 states. [2022-04-27 10:17:01,666 INFO L87 Difference]: Start difference. First operand has 39 states, 31 states have (on average 1.1612903225806452) internal successors, (36), 32 states have internal predecessors, (36), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Second operand 52 states. [2022-04-27 10:17:01,668 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:17:01,668 INFO L93 Difference]: Finished difference Result 52 states and 58 transitions. [2022-04-27 10:17:01,668 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 58 transitions. [2022-04-27 10:17:01,668 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:17:01,669 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:17:01,669 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 10:17:01,669 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 10:17:01,669 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 39 states, 31 states have (on average 1.1612903225806452) internal successors, (36), 32 states have internal predecessors, (36), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 10:17:01,670 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 43 transitions. [2022-04-27 10:17:01,670 INFO L78 Accepts]: Start accepts. Automaton has 39 states and 43 transitions. Word has length 21 [2022-04-27 10:17:01,670 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 10:17:01,671 INFO L495 AbstractCegarLoop]: Abstraction has 39 states and 43 transitions. [2022-04-27 10:17:01,671 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 22 states, 21 states have (on average 1.5714285714285714) internal successors, (33), 19 states have internal predecessors, (33), 2 states have call successors, (5), 4 states have call predecessors, (5), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:01,671 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 43 transitions. [2022-04-27 10:17:01,671 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-27 10:17:01,671 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 10:17:01,672 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 10:17:01,700 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-27 10:17:01,888 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 10:17:01,888 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 10:17:01,889 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 10:17:01,889 INFO L85 PathProgramCache]: Analyzing trace with hash 369179156, now seen corresponding path program 2 times [2022-04-27 10:17:01,889 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 10:17:01,889 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2040070752] [2022-04-27 10:17:01,889 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:17:01,889 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 10:17:01,914 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:17:01,975 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 10:17:01,979 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:17:01,983 INFO L290 TraceCheckUtils]: 0: Hoare triple {936#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {927#true} is VALID [2022-04-27 10:17:01,983 INFO L290 TraceCheckUtils]: 1: Hoare triple {927#true} assume true; {927#true} is VALID [2022-04-27 10:17:01,984 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {927#true} {927#true} #74#return; {927#true} is VALID [2022-04-27 10:17:01,984 INFO L272 TraceCheckUtils]: 0: Hoare triple {927#true} call ULTIMATE.init(); {936#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 10:17:01,984 INFO L290 TraceCheckUtils]: 1: Hoare triple {936#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {927#true} is VALID [2022-04-27 10:17:01,985 INFO L290 TraceCheckUtils]: 2: Hoare triple {927#true} assume true; {927#true} is VALID [2022-04-27 10:17:01,985 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {927#true} {927#true} #74#return; {927#true} is VALID [2022-04-27 10:17:01,985 INFO L272 TraceCheckUtils]: 4: Hoare triple {927#true} call #t~ret14 := main(); {927#true} is VALID [2022-04-27 10:17:01,985 INFO L290 TraceCheckUtils]: 5: Hoare triple {927#true} ~MAX~0 := (if #t~nondet4 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet4 % 4294967296 % 4294967296 else #t~nondet4 % 4294967296 % 4294967296 - 4294967296);havoc #t~nondet4; {927#true} is VALID [2022-04-27 10:17:01,985 INFO L290 TraceCheckUtils]: 6: Hoare triple {927#true} assume !!(~MAX~0 > 0); {927#true} is VALID [2022-04-27 10:17:01,985 INFO L290 TraceCheckUtils]: 7: Hoare triple {927#true} call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack(~MAX~0);call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(~MAX~0);havoc ~cont~0;havoc ~i~0;havoc ~j~0;~cont~0 := 0;~i~0 := 0; {932#(= main_~i~0 0)} is VALID [2022-04-27 10:17:01,986 INFO L290 TraceCheckUtils]: 8: Hoare triple {932#(= main_~i~0 0)} assume !!(~i~0 < ~MAX~0);assume -128 <= #t~nondet6 && #t~nondet6 <= 127;call write~int(#t~nondet6, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet6; {932#(= main_~i~0 0)} is VALID [2022-04-27 10:17:01,989 INFO L290 TraceCheckUtils]: 9: Hoare triple {932#(= main_~i~0 0)} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {933#(<= 1 main_~i~0)} is VALID [2022-04-27 10:17:01,989 INFO L290 TraceCheckUtils]: 10: Hoare triple {933#(<= 1 main_~i~0)} assume !!(~i~0 < ~MAX~0);assume -128 <= #t~nondet6 && #t~nondet6 <= 127;call write~int(#t~nondet6, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet6; {934#(<= 2 main_~MAX~0)} is VALID [2022-04-27 10:17:01,991 INFO L290 TraceCheckUtils]: 11: Hoare triple {934#(<= 2 main_~MAX~0)} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {934#(<= 2 main_~MAX~0)} is VALID [2022-04-27 10:17:01,991 INFO L290 TraceCheckUtils]: 12: Hoare triple {934#(<= 2 main_~MAX~0)} assume !(~i~0 < ~MAX~0); {934#(<= 2 main_~MAX~0)} is VALID [2022-04-27 10:17:01,992 INFO L290 TraceCheckUtils]: 13: Hoare triple {934#(<= 2 main_~MAX~0)} call write~int(0, ~#str1~0.base, ~#str1~0.offset + (~MAX~0 - 1), 1);~j~0 := 0;~i~0 := ~MAX~0 - 1; {933#(<= 1 main_~i~0)} is VALID [2022-04-27 10:17:01,992 INFO L290 TraceCheckUtils]: 14: Hoare triple {933#(<= 1 main_~i~0)} assume !!(~i~0 >= 0);call #t~mem8 := read~int(~#str1~0.base, ~#str1~0.offset, 1);call write~int(#t~mem8, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem8;#t~post9 := ~j~0;~j~0 := 1 + #t~post9;havoc #t~post9; {933#(<= 1 main_~i~0)} is VALID [2022-04-27 10:17:01,993 INFO L290 TraceCheckUtils]: 15: Hoare triple {933#(<= 1 main_~i~0)} #t~post7 := ~i~0;~i~0 := #t~post7 - 1;havoc #t~post7; {935#(<= 0 main_~i~0)} is VALID [2022-04-27 10:17:01,993 INFO L290 TraceCheckUtils]: 16: Hoare triple {935#(<= 0 main_~i~0)} assume !(~i~0 >= 0); {928#false} is VALID [2022-04-27 10:17:01,993 INFO L290 TraceCheckUtils]: 17: Hoare triple {928#false} ~j~0 := ~MAX~0 - 1;~i~0 := 0; {928#false} is VALID [2022-04-27 10:17:01,993 INFO L290 TraceCheckUtils]: 18: Hoare triple {928#false} assume !!(~i~0 < ~MAX~0);call #t~mem11 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem12 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {928#false} is VALID [2022-04-27 10:17:01,993 INFO L272 TraceCheckUtils]: 19: Hoare triple {928#false} call __VERIFIER_assert((if #t~mem11 == #t~mem12 then 1 else 0)); {928#false} is VALID [2022-04-27 10:17:01,994 INFO L290 TraceCheckUtils]: 20: Hoare triple {928#false} ~cond := #in~cond; {928#false} is VALID [2022-04-27 10:17:01,994 INFO L290 TraceCheckUtils]: 21: Hoare triple {928#false} assume 0 == ~cond; {928#false} is VALID [2022-04-27 10:17:01,994 INFO L290 TraceCheckUtils]: 22: Hoare triple {928#false} assume !false; {928#false} is VALID [2022-04-27 10:17:01,994 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 10:17:01,994 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 10:17:01,994 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2040070752] [2022-04-27 10:17:01,994 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2040070752] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 10:17:01,994 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1941427644] [2022-04-27 10:17:01,994 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 10:17:01,995 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 10:17:01,995 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 10:17:01,998 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 10:17:02,000 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-27 10:17:02,050 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 10:17:02,050 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 10:17:02,051 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 6 conjunts are in the unsatisfiable core [2022-04-27 10:17:02,064 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:17:02,065 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 10:17:02,172 INFO L272 TraceCheckUtils]: 0: Hoare triple {927#true} call ULTIMATE.init(); {927#true} is VALID [2022-04-27 10:17:02,173 INFO L290 TraceCheckUtils]: 1: Hoare triple {927#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {927#true} is VALID [2022-04-27 10:17:02,173 INFO L290 TraceCheckUtils]: 2: Hoare triple {927#true} assume true; {927#true} is VALID [2022-04-27 10:17:02,173 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {927#true} {927#true} #74#return; {927#true} is VALID [2022-04-27 10:17:02,173 INFO L272 TraceCheckUtils]: 4: Hoare triple {927#true} call #t~ret14 := main(); {927#true} is VALID [2022-04-27 10:17:02,173 INFO L290 TraceCheckUtils]: 5: Hoare triple {927#true} ~MAX~0 := (if #t~nondet4 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet4 % 4294967296 % 4294967296 else #t~nondet4 % 4294967296 % 4294967296 - 4294967296);havoc #t~nondet4; {927#true} is VALID [2022-04-27 10:17:02,173 INFO L290 TraceCheckUtils]: 6: Hoare triple {927#true} assume !!(~MAX~0 > 0); {927#true} is VALID [2022-04-27 10:17:02,174 INFO L290 TraceCheckUtils]: 7: Hoare triple {927#true} call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack(~MAX~0);call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(~MAX~0);havoc ~cont~0;havoc ~i~0;havoc ~j~0;~cont~0 := 0;~i~0 := 0; {935#(<= 0 main_~i~0)} is VALID [2022-04-27 10:17:02,174 INFO L290 TraceCheckUtils]: 8: Hoare triple {935#(<= 0 main_~i~0)} assume !!(~i~0 < ~MAX~0);assume -128 <= #t~nondet6 && #t~nondet6 <= 127;call write~int(#t~nondet6, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet6; {935#(<= 0 main_~i~0)} is VALID [2022-04-27 10:17:02,175 INFO L290 TraceCheckUtils]: 9: Hoare triple {935#(<= 0 main_~i~0)} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {933#(<= 1 main_~i~0)} is VALID [2022-04-27 10:17:02,175 INFO L290 TraceCheckUtils]: 10: Hoare triple {933#(<= 1 main_~i~0)} assume !!(~i~0 < ~MAX~0);assume -128 <= #t~nondet6 && #t~nondet6 <= 127;call write~int(#t~nondet6, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet6; {934#(<= 2 main_~MAX~0)} is VALID [2022-04-27 10:17:02,176 INFO L290 TraceCheckUtils]: 11: Hoare triple {934#(<= 2 main_~MAX~0)} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {934#(<= 2 main_~MAX~0)} is VALID [2022-04-27 10:17:02,176 INFO L290 TraceCheckUtils]: 12: Hoare triple {934#(<= 2 main_~MAX~0)} assume !(~i~0 < ~MAX~0); {934#(<= 2 main_~MAX~0)} is VALID [2022-04-27 10:17:02,177 INFO L290 TraceCheckUtils]: 13: Hoare triple {934#(<= 2 main_~MAX~0)} call write~int(0, ~#str1~0.base, ~#str1~0.offset + (~MAX~0 - 1), 1);~j~0 := 0;~i~0 := ~MAX~0 - 1; {933#(<= 1 main_~i~0)} is VALID [2022-04-27 10:17:02,177 INFO L290 TraceCheckUtils]: 14: Hoare triple {933#(<= 1 main_~i~0)} assume !!(~i~0 >= 0);call #t~mem8 := read~int(~#str1~0.base, ~#str1~0.offset, 1);call write~int(#t~mem8, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem8;#t~post9 := ~j~0;~j~0 := 1 + #t~post9;havoc #t~post9; {933#(<= 1 main_~i~0)} is VALID [2022-04-27 10:17:02,177 INFO L290 TraceCheckUtils]: 15: Hoare triple {933#(<= 1 main_~i~0)} #t~post7 := ~i~0;~i~0 := #t~post7 - 1;havoc #t~post7; {935#(<= 0 main_~i~0)} is VALID [2022-04-27 10:17:02,178 INFO L290 TraceCheckUtils]: 16: Hoare triple {935#(<= 0 main_~i~0)} assume !(~i~0 >= 0); {928#false} is VALID [2022-04-27 10:17:02,178 INFO L290 TraceCheckUtils]: 17: Hoare triple {928#false} ~j~0 := ~MAX~0 - 1;~i~0 := 0; {928#false} is VALID [2022-04-27 10:17:02,178 INFO L290 TraceCheckUtils]: 18: Hoare triple {928#false} assume !!(~i~0 < ~MAX~0);call #t~mem11 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem12 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {928#false} is VALID [2022-04-27 10:17:02,178 INFO L272 TraceCheckUtils]: 19: Hoare triple {928#false} call __VERIFIER_assert((if #t~mem11 == #t~mem12 then 1 else 0)); {928#false} is VALID [2022-04-27 10:17:02,178 INFO L290 TraceCheckUtils]: 20: Hoare triple {928#false} ~cond := #in~cond; {928#false} is VALID [2022-04-27 10:17:02,178 INFO L290 TraceCheckUtils]: 21: Hoare triple {928#false} assume 0 == ~cond; {928#false} is VALID [2022-04-27 10:17:02,178 INFO L290 TraceCheckUtils]: 22: Hoare triple {928#false} assume !false; {928#false} is VALID [2022-04-27 10:17:02,179 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 1 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 10:17:02,179 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 10:17:02,272 INFO L290 TraceCheckUtils]: 22: Hoare triple {928#false} assume !false; {928#false} is VALID [2022-04-27 10:17:02,272 INFO L290 TraceCheckUtils]: 21: Hoare triple {928#false} assume 0 == ~cond; {928#false} is VALID [2022-04-27 10:17:02,272 INFO L290 TraceCheckUtils]: 20: Hoare triple {928#false} ~cond := #in~cond; {928#false} is VALID [2022-04-27 10:17:02,272 INFO L272 TraceCheckUtils]: 19: Hoare triple {928#false} call __VERIFIER_assert((if #t~mem11 == #t~mem12 then 1 else 0)); {928#false} is VALID [2022-04-27 10:17:02,272 INFO L290 TraceCheckUtils]: 18: Hoare triple {928#false} assume !!(~i~0 < ~MAX~0);call #t~mem11 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem12 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {928#false} is VALID [2022-04-27 10:17:02,272 INFO L290 TraceCheckUtils]: 17: Hoare triple {928#false} ~j~0 := ~MAX~0 - 1;~i~0 := 0; {928#false} is VALID [2022-04-27 10:17:02,273 INFO L290 TraceCheckUtils]: 16: Hoare triple {935#(<= 0 main_~i~0)} assume !(~i~0 >= 0); {928#false} is VALID [2022-04-27 10:17:02,273 INFO L290 TraceCheckUtils]: 15: Hoare triple {933#(<= 1 main_~i~0)} #t~post7 := ~i~0;~i~0 := #t~post7 - 1;havoc #t~post7; {935#(<= 0 main_~i~0)} is VALID [2022-04-27 10:17:02,273 INFO L290 TraceCheckUtils]: 14: Hoare triple {933#(<= 1 main_~i~0)} assume !!(~i~0 >= 0);call #t~mem8 := read~int(~#str1~0.base, ~#str1~0.offset, 1);call write~int(#t~mem8, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem8;#t~post9 := ~j~0;~j~0 := 1 + #t~post9;havoc #t~post9; {933#(<= 1 main_~i~0)} is VALID [2022-04-27 10:17:02,274 INFO L290 TraceCheckUtils]: 13: Hoare triple {934#(<= 2 main_~MAX~0)} call write~int(0, ~#str1~0.base, ~#str1~0.offset + (~MAX~0 - 1), 1);~j~0 := 0;~i~0 := ~MAX~0 - 1; {933#(<= 1 main_~i~0)} is VALID [2022-04-27 10:17:02,274 INFO L290 TraceCheckUtils]: 12: Hoare triple {934#(<= 2 main_~MAX~0)} assume !(~i~0 < ~MAX~0); {934#(<= 2 main_~MAX~0)} is VALID [2022-04-27 10:17:02,275 INFO L290 TraceCheckUtils]: 11: Hoare triple {934#(<= 2 main_~MAX~0)} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {934#(<= 2 main_~MAX~0)} is VALID [2022-04-27 10:17:02,276 INFO L290 TraceCheckUtils]: 10: Hoare triple {933#(<= 1 main_~i~0)} assume !!(~i~0 < ~MAX~0);assume -128 <= #t~nondet6 && #t~nondet6 <= 127;call write~int(#t~nondet6, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet6; {934#(<= 2 main_~MAX~0)} is VALID [2022-04-27 10:17:02,276 INFO L290 TraceCheckUtils]: 9: Hoare triple {935#(<= 0 main_~i~0)} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {933#(<= 1 main_~i~0)} is VALID [2022-04-27 10:17:02,276 INFO L290 TraceCheckUtils]: 8: Hoare triple {935#(<= 0 main_~i~0)} assume !!(~i~0 < ~MAX~0);assume -128 <= #t~nondet6 && #t~nondet6 <= 127;call write~int(#t~nondet6, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet6; {935#(<= 0 main_~i~0)} is VALID [2022-04-27 10:17:02,277 INFO L290 TraceCheckUtils]: 7: Hoare triple {927#true} call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack(~MAX~0);call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(~MAX~0);havoc ~cont~0;havoc ~i~0;havoc ~j~0;~cont~0 := 0;~i~0 := 0; {935#(<= 0 main_~i~0)} is VALID [2022-04-27 10:17:02,277 INFO L290 TraceCheckUtils]: 6: Hoare triple {927#true} assume !!(~MAX~0 > 0); {927#true} is VALID [2022-04-27 10:17:02,277 INFO L290 TraceCheckUtils]: 5: Hoare triple {927#true} ~MAX~0 := (if #t~nondet4 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet4 % 4294967296 % 4294967296 else #t~nondet4 % 4294967296 % 4294967296 - 4294967296);havoc #t~nondet4; {927#true} is VALID [2022-04-27 10:17:02,277 INFO L272 TraceCheckUtils]: 4: Hoare triple {927#true} call #t~ret14 := main(); {927#true} is VALID [2022-04-27 10:17:02,278 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {927#true} {927#true} #74#return; {927#true} is VALID [2022-04-27 10:17:02,278 INFO L290 TraceCheckUtils]: 2: Hoare triple {927#true} assume true; {927#true} is VALID [2022-04-27 10:17:02,278 INFO L290 TraceCheckUtils]: 1: Hoare triple {927#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {927#true} is VALID [2022-04-27 10:17:02,279 INFO L272 TraceCheckUtils]: 0: Hoare triple {927#true} call ULTIMATE.init(); {927#true} is VALID [2022-04-27 10:17:02,279 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 1 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 10:17:02,280 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1941427644] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 10:17:02,280 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 10:17:02,280 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 5, 5] total 7 [2022-04-27 10:17:02,280 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1644184131] [2022-04-27 10:17:02,280 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 10:17:02,280 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 6 states have internal predecessors, (23), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 23 [2022-04-27 10:17:02,282 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 10:17:02,282 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 6 states have internal predecessors, (23), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:02,300 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:17:02,300 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-27 10:17:02,301 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 10:17:02,301 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-27 10:17:02,301 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-27 10:17:02,301 INFO L87 Difference]: Start difference. First operand 39 states and 43 transitions. Second operand has 7 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 6 states have internal predecessors, (23), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:02,701 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:17:02,701 INFO L93 Difference]: Finished difference Result 59 states and 65 transitions. [2022-04-27 10:17:02,701 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-27 10:17:02,702 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 6 states have internal predecessors, (23), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 23 [2022-04-27 10:17:02,702 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 10:17:02,702 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 6 states have internal predecessors, (23), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:02,703 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 61 transitions. [2022-04-27 10:17:02,704 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 6 states have internal predecessors, (23), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:02,705 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 61 transitions. [2022-04-27 10:17:02,705 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 61 transitions. [2022-04-27 10:17:02,760 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:17:02,761 INFO L225 Difference]: With dead ends: 59 [2022-04-27 10:17:02,761 INFO L226 Difference]: Without dead ends: 48 [2022-04-27 10:17:02,761 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 61 GetRequests, 48 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 20 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=60, Invalid=122, Unknown=0, NotChecked=0, Total=182 [2022-04-27 10:17:02,762 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 33 mSDsluCounter, 22 mSDsCounter, 0 mSdLazyCounter, 119 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 33 SdHoareTripleChecker+Valid, 46 SdHoareTripleChecker+Invalid, 148 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 29 IncrementalHoareTripleChecker+Valid, 119 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 10:17:02,762 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [33 Valid, 46 Invalid, 148 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 119 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 10:17:02,762 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-04-27 10:17:02,796 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 41. [2022-04-27 10:17:02,796 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 10:17:02,796 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand has 41 states, 33 states have (on average 1.1515151515151516) internal successors, (38), 34 states have internal predecessors, (38), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 10:17:02,796 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand has 41 states, 33 states have (on average 1.1515151515151516) internal successors, (38), 34 states have internal predecessors, (38), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 10:17:02,796 INFO L87 Difference]: Start difference. First operand 48 states. Second operand has 41 states, 33 states have (on average 1.1515151515151516) internal successors, (38), 34 states have internal predecessors, (38), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 10:17:02,798 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:17:02,798 INFO L93 Difference]: Finished difference Result 48 states and 53 transitions. [2022-04-27 10:17:02,798 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 53 transitions. [2022-04-27 10:17:02,798 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:17:02,798 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:17:02,799 INFO L74 IsIncluded]: Start isIncluded. First operand has 41 states, 33 states have (on average 1.1515151515151516) internal successors, (38), 34 states have internal predecessors, (38), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Second operand 48 states. [2022-04-27 10:17:02,799 INFO L87 Difference]: Start difference. First operand has 41 states, 33 states have (on average 1.1515151515151516) internal successors, (38), 34 states have internal predecessors, (38), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Second operand 48 states. [2022-04-27 10:17:02,800 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:17:02,800 INFO L93 Difference]: Finished difference Result 48 states and 53 transitions. [2022-04-27 10:17:02,801 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 53 transitions. [2022-04-27 10:17:02,801 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:17:02,801 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:17:02,801 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 10:17:02,801 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 10:17:02,801 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 33 states have (on average 1.1515151515151516) internal successors, (38), 34 states have internal predecessors, (38), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 10:17:02,802 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 45 transitions. [2022-04-27 10:17:02,803 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 45 transitions. Word has length 23 [2022-04-27 10:17:02,803 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 10:17:02,803 INFO L495 AbstractCegarLoop]: Abstraction has 41 states and 45 transitions. [2022-04-27 10:17:02,803 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 6 states have internal predecessors, (23), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:02,803 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 45 transitions. [2022-04-27 10:17:02,804 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2022-04-27 10:17:02,804 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 10:17:02,804 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 10:17:02,829 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-27 10:17:03,004 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 10:17:03,005 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 10:17:03,005 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 10:17:03,005 INFO L85 PathProgramCache]: Analyzing trace with hash -1704530446, now seen corresponding path program 3 times [2022-04-27 10:17:03,005 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 10:17:03,005 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1213809672] [2022-04-27 10:17:03,005 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:17:03,006 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 10:17:03,039 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:17:03,409 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 10:17:03,410 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:17:03,420 INFO L290 TraceCheckUtils]: 0: Hoare triple {1343#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {1326#true} is VALID [2022-04-27 10:17:03,420 INFO L290 TraceCheckUtils]: 1: Hoare triple {1326#true} assume true; {1326#true} is VALID [2022-04-27 10:17:03,421 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1326#true} {1326#true} #74#return; {1326#true} is VALID [2022-04-27 10:17:03,421 INFO L272 TraceCheckUtils]: 0: Hoare triple {1326#true} call ULTIMATE.init(); {1343#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 10:17:03,421 INFO L290 TraceCheckUtils]: 1: Hoare triple {1343#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {1326#true} is VALID [2022-04-27 10:17:03,421 INFO L290 TraceCheckUtils]: 2: Hoare triple {1326#true} assume true; {1326#true} is VALID [2022-04-27 10:17:03,422 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1326#true} {1326#true} #74#return; {1326#true} is VALID [2022-04-27 10:17:03,422 INFO L272 TraceCheckUtils]: 4: Hoare triple {1326#true} call #t~ret14 := main(); {1326#true} is VALID [2022-04-27 10:17:03,422 INFO L290 TraceCheckUtils]: 5: Hoare triple {1326#true} ~MAX~0 := (if #t~nondet4 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet4 % 4294967296 % 4294967296 else #t~nondet4 % 4294967296 % 4294967296 - 4294967296);havoc #t~nondet4; {1326#true} is VALID [2022-04-27 10:17:03,422 INFO L290 TraceCheckUtils]: 6: Hoare triple {1326#true} assume !!(~MAX~0 > 0); {1326#true} is VALID [2022-04-27 10:17:03,423 INFO L290 TraceCheckUtils]: 7: Hoare triple {1326#true} call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack(~MAX~0);call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(~MAX~0);havoc ~cont~0;havoc ~i~0;havoc ~j~0;~cont~0 := 0;~i~0 := 0; {1331#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:03,423 INFO L290 TraceCheckUtils]: 8: Hoare triple {1331#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 < ~MAX~0);assume -128 <= #t~nondet6 && #t~nondet6 <= 127;call write~int(#t~nondet6, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet6; {1331#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:03,424 INFO L290 TraceCheckUtils]: 9: Hoare triple {1331#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {1332#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (<= main_~i~0 1) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 1 main_~i~0))} is VALID [2022-04-27 10:17:03,425 INFO L290 TraceCheckUtils]: 10: Hoare triple {1332#(and (= |main_~#str2~0.offset| 0) (= |main_~#str1~0.offset| 0) (<= main_~i~0 1) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 1 main_~i~0))} assume !!(~i~0 < ~MAX~0);assume -128 <= #t~nondet6 && #t~nondet6 <= 127;call write~int(#t~nondet6, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet6; {1333#(and (= |main_~#str2~0.offset| 0) (<= 2 main_~MAX~0) (= |main_~#str1~0.offset| 0) (<= main_~i~0 1) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:03,425 INFO L290 TraceCheckUtils]: 11: Hoare triple {1333#(and (= |main_~#str2~0.offset| 0) (<= 2 main_~MAX~0) (= |main_~#str1~0.offset| 0) (<= main_~i~0 1) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {1334#(and (= |main_~#str2~0.offset| 0) (<= 2 main_~MAX~0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~i~0 2))} is VALID [2022-04-27 10:17:03,426 INFO L290 TraceCheckUtils]: 12: Hoare triple {1334#(and (= |main_~#str2~0.offset| 0) (<= 2 main_~MAX~0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~i~0 2))} assume !(~i~0 < ~MAX~0); {1335#(and (= |main_~#str2~0.offset| 0) (<= 2 main_~MAX~0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~MAX~0 2))} is VALID [2022-04-27 10:17:03,426 INFO L290 TraceCheckUtils]: 13: Hoare triple {1335#(and (= |main_~#str2~0.offset| 0) (<= 2 main_~MAX~0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~MAX~0 2))} call write~int(0, ~#str1~0.base, ~#str1~0.offset + (~MAX~0 - 1), 1);~j~0 := 0;~i~0 := ~MAX~0 - 1; {1336#(and (= |main_~#str2~0.offset| 0) (<= 2 main_~MAX~0) (= |main_~#str1~0.offset| 0) (= main_~j~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~MAX~0 2))} is VALID [2022-04-27 10:17:03,427 INFO L290 TraceCheckUtils]: 14: Hoare triple {1336#(and (= |main_~#str2~0.offset| 0) (<= 2 main_~MAX~0) (= |main_~#str1~0.offset| 0) (= main_~j~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~MAX~0 2))} assume !!(~i~0 >= 0);call #t~mem8 := read~int(~#str1~0.base, ~#str1~0.offset, 1);call write~int(#t~mem8, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem8;#t~post9 := ~j~0;~j~0 := 1 + #t~post9;havoc #t~post9; {1337#(and (= |main_~#str2~0.offset| 0) (<= 2 main_~MAX~0) (<= 1 main_~j~0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~MAX~0 2) (<= main_~j~0 1))} is VALID [2022-04-27 10:17:03,428 INFO L290 TraceCheckUtils]: 15: Hoare triple {1337#(and (= |main_~#str2~0.offset| 0) (<= 2 main_~MAX~0) (<= 1 main_~j~0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~MAX~0 2) (<= main_~j~0 1))} #t~post7 := ~i~0;~i~0 := #t~post7 - 1;havoc #t~post7; {1337#(and (= |main_~#str2~0.offset| 0) (<= 2 main_~MAX~0) (<= 1 main_~j~0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~MAX~0 2) (<= main_~j~0 1))} is VALID [2022-04-27 10:17:03,428 INFO L290 TraceCheckUtils]: 16: Hoare triple {1337#(and (= |main_~#str2~0.offset| 0) (<= 2 main_~MAX~0) (<= 1 main_~j~0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~MAX~0 2) (<= main_~j~0 1))} assume !!(~i~0 >= 0);call #t~mem8 := read~int(~#str1~0.base, ~#str1~0.offset, 1);call write~int(#t~mem8, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem8;#t~post9 := ~j~0;~j~0 := 1 + #t~post9;havoc #t~post9; {1338#(and (= |main_~#str2~0.offset| 0) (<= 2 main_~MAX~0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 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 [2022-04-27 10:17:03,429 INFO L290 TraceCheckUtils]: 17: Hoare triple {1338#(and (= |main_~#str2~0.offset| 0) (<= 2 main_~MAX~0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 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~post7 := ~i~0;~i~0 := #t~post7 - 1;havoc #t~post7; {1338#(and (= |main_~#str2~0.offset| 0) (<= 2 main_~MAX~0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 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 [2022-04-27 10:17:03,429 INFO L290 TraceCheckUtils]: 18: Hoare triple {1338#(and (= |main_~#str2~0.offset| 0) (<= 2 main_~MAX~0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 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); {1338#(and (= |main_~#str2~0.offset| 0) (<= 2 main_~MAX~0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 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 [2022-04-27 10:17:03,430 INFO L290 TraceCheckUtils]: 19: Hoare triple {1338#(and (= |main_~#str2~0.offset| 0) (<= 2 main_~MAX~0) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= 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;~i~0 := 0; {1339#(and (= |main_~#str2~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset|))) (= |main_~#str1~0.offset| 0) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= (+ main_~j~0 |main_~#str2~0.offset|) 1))} is VALID [2022-04-27 10:17:03,431 INFO L290 TraceCheckUtils]: 20: Hoare triple {1339#(and (= |main_~#str2~0.offset| 0) (= (select (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset|))) (= |main_~#str1~0.offset| 0) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= (+ main_~j~0 |main_~#str2~0.offset|) 1))} assume !!(~i~0 < ~MAX~0);call #t~mem11 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem12 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {1340#(= |main_#t~mem12| |main_#t~mem11|)} is VALID [2022-04-27 10:17:03,431 INFO L272 TraceCheckUtils]: 21: Hoare triple {1340#(= |main_#t~mem12| |main_#t~mem11|)} call __VERIFIER_assert((if #t~mem11 == #t~mem12 then 1 else 0)); {1341#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 10:17:03,432 INFO L290 TraceCheckUtils]: 22: Hoare triple {1341#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {1342#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 10:17:03,432 INFO L290 TraceCheckUtils]: 23: Hoare triple {1342#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {1327#false} is VALID [2022-04-27 10:17:03,432 INFO L290 TraceCheckUtils]: 24: Hoare triple {1327#false} assume !false; {1327#false} is VALID [2022-04-27 10:17:03,432 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 10:17:03,433 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 10:17:03,433 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1213809672] [2022-04-27 10:17:03,433 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1213809672] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 10:17:03,433 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [932044722] [2022-04-27 10:17:03,433 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-27 10:17:03,433 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 10:17:03,433 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 10:17:03,434 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 10:17:03,436 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-27 10:17:03,492 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2022-04-27 10:17:03,492 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 10:17:03,493 INFO L263 TraceCheckSpWp]: Trace formula consists of 138 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-27 10:17:03,506 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:17:03,508 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 10:17:03,532 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 10 treesize of output 8 [2022-04-27 10:17:03,778 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-04-27 10:17:03,859 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 17 [2022-04-27 10:17:04,182 INFO L356 Elim1Store]: treesize reduction 9, result has 25.0 percent of original size [2022-04-27 10:17:04,183 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 1 case distinctions, treesize of input 30 treesize of output 13 [2022-04-27 10:17:04,262 INFO L272 TraceCheckUtils]: 0: Hoare triple {1326#true} call ULTIMATE.init(); {1326#true} is VALID [2022-04-27 10:17:04,262 INFO L290 TraceCheckUtils]: 1: Hoare triple {1326#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {1326#true} is VALID [2022-04-27 10:17:04,263 INFO L290 TraceCheckUtils]: 2: Hoare triple {1326#true} assume true; {1326#true} is VALID [2022-04-27 10:17:04,263 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1326#true} {1326#true} #74#return; {1326#true} is VALID [2022-04-27 10:17:04,263 INFO L272 TraceCheckUtils]: 4: Hoare triple {1326#true} call #t~ret14 := main(); {1326#true} is VALID [2022-04-27 10:17:04,263 INFO L290 TraceCheckUtils]: 5: Hoare triple {1326#true} ~MAX~0 := (if #t~nondet4 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet4 % 4294967296 % 4294967296 else #t~nondet4 % 4294967296 % 4294967296 - 4294967296);havoc #t~nondet4; {1326#true} is VALID [2022-04-27 10:17:04,263 INFO L290 TraceCheckUtils]: 6: Hoare triple {1326#true} assume !!(~MAX~0 > 0); {1326#true} is VALID [2022-04-27 10:17:04,264 INFO L290 TraceCheckUtils]: 7: Hoare triple {1326#true} call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack(~MAX~0);call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(~MAX~0);havoc ~cont~0;havoc ~i~0;havoc ~j~0;~cont~0 := 0;~i~0 := 0; {1368#(and (= |main_~#str1~0.offset| 0) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:04,264 INFO L290 TraceCheckUtils]: 8: Hoare triple {1368#(and (= |main_~#str1~0.offset| 0) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 < ~MAX~0);assume -128 <= #t~nondet6 && #t~nondet6 <= 127;call write~int(#t~nondet6, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet6; {1368#(and (= |main_~#str1~0.offset| 0) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:04,265 INFO L290 TraceCheckUtils]: 9: Hoare triple {1368#(and (= |main_~#str1~0.offset| 0) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {1375#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= (+ (- 1) main_~i~0) 0))} is VALID [2022-04-27 10:17:04,265 INFO L290 TraceCheckUtils]: 10: Hoare triple {1375#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= (+ (- 1) main_~i~0) 0))} assume !!(~i~0 < ~MAX~0);assume -128 <= #t~nondet6 && #t~nondet6 <= 127;call write~int(#t~nondet6, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet6; {1379#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= (+ (- 1) main_~i~0) 0) (< main_~i~0 main_~MAX~0))} is VALID [2022-04-27 10:17:04,266 INFO L290 TraceCheckUtils]: 11: Hoare triple {1379#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (= (+ (- 1) main_~i~0) 0) (< main_~i~0 main_~MAX~0))} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {1383#(and (= |main_~#str1~0.offset| 0) (< 1 main_~MAX~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~i~0 2))} is VALID [2022-04-27 10:17:04,267 INFO L290 TraceCheckUtils]: 12: Hoare triple {1383#(and (= |main_~#str1~0.offset| 0) (< 1 main_~MAX~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~i~0 2))} assume !(~i~0 < ~MAX~0); {1387#(and (= |main_~#str1~0.offset| 0) (< 1 main_~MAX~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~MAX~0 2))} is VALID [2022-04-27 10:17:04,267 INFO L290 TraceCheckUtils]: 13: Hoare triple {1387#(and (= |main_~#str1~0.offset| 0) (< 1 main_~MAX~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~MAX~0 2))} call write~int(0, ~#str1~0.base, ~#str1~0.offset + (~MAX~0 - 1), 1);~j~0 := 0;~i~0 := ~MAX~0 - 1; {1391#(and (= |main_~#str1~0.offset| 0) (= main_~j~0 0) (< 1 main_~MAX~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~MAX~0 2))} is VALID [2022-04-27 10:17:04,268 INFO L290 TraceCheckUtils]: 14: Hoare triple {1391#(and (= |main_~#str1~0.offset| 0) (= main_~j~0 0) (< 1 main_~MAX~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~MAX~0 2))} assume !!(~i~0 >= 0);call #t~mem8 := read~int(~#str1~0.base, ~#str1~0.offset, 1);call write~int(#t~mem8, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem8;#t~post9 := ~j~0;~j~0 := 1 + #t~post9;havoc #t~post9; {1395#(and (= main_~j~0 1) (= |main_~#str1~0.offset| 0) (< 1 main_~MAX~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~MAX~0 2))} is VALID [2022-04-27 10:17:04,274 INFO L290 TraceCheckUtils]: 15: Hoare triple {1395#(and (= main_~j~0 1) (= |main_~#str1~0.offset| 0) (< 1 main_~MAX~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~MAX~0 2))} #t~post7 := ~i~0;~i~0 := #t~post7 - 1;havoc #t~post7; {1395#(and (= main_~j~0 1) (= |main_~#str1~0.offset| 0) (< 1 main_~MAX~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~MAX~0 2))} is VALID [2022-04-27 10:17:04,288 INFO L290 TraceCheckUtils]: 16: Hoare triple {1395#(and (= main_~j~0 1) (= |main_~#str1~0.offset| 0) (< 1 main_~MAX~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~MAX~0 2))} assume !!(~i~0 >= 0);call #t~mem8 := read~int(~#str1~0.base, ~#str1~0.offset, 1);call write~int(#t~mem8, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem8;#t~post9 := ~j~0;~j~0 := 1 + #t~post9;havoc #t~post9; {1402#(and (= (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|) (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 1))) (= |main_~#str1~0.offset| 0) (< 1 main_~MAX~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~MAX~0 2))} is VALID [2022-04-27 10:17:04,290 INFO L290 TraceCheckUtils]: 17: Hoare triple {1402#(and (= (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|) (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 1))) (= |main_~#str1~0.offset| 0) (< 1 main_~MAX~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~MAX~0 2))} #t~post7 := ~i~0;~i~0 := #t~post7 - 1;havoc #t~post7; {1402#(and (= (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|) (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 1))) (= |main_~#str1~0.offset| 0) (< 1 main_~MAX~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~MAX~0 2))} is VALID [2022-04-27 10:17:04,291 INFO L290 TraceCheckUtils]: 18: Hoare triple {1402#(and (= (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|) (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 1))) (= |main_~#str1~0.offset| 0) (< 1 main_~MAX~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~MAX~0 2))} assume !(~i~0 >= 0); {1402#(and (= (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|) (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 1))) (= |main_~#str1~0.offset| 0) (< 1 main_~MAX~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~MAX~0 2))} is VALID [2022-04-27 10:17:04,292 INFO L290 TraceCheckUtils]: 19: Hoare triple {1402#(and (= (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|) (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 1))) (= |main_~#str1~0.offset| 0) (< 1 main_~MAX~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~MAX~0 2))} ~j~0 := ~MAX~0 - 1;~i~0 := 0; {1412#(and (= (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|) (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 1))) (= |main_~#str1~0.offset| 0) (< 0 main_~j~0) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~j~0 1))} is VALID [2022-04-27 10:17:04,295 INFO L290 TraceCheckUtils]: 20: Hoare triple {1412#(and (= (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|) (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 1))) (= |main_~#str1~0.offset| 0) (< 0 main_~j~0) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)) (<= main_~j~0 1))} assume !!(~i~0 < ~MAX~0);call #t~mem11 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem12 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {1340#(= |main_#t~mem12| |main_#t~mem11|)} is VALID [2022-04-27 10:17:04,295 INFO L272 TraceCheckUtils]: 21: Hoare triple {1340#(= |main_#t~mem12| |main_#t~mem11|)} call __VERIFIER_assert((if #t~mem11 == #t~mem12 then 1 else 0)); {1419#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 10:17:04,296 INFO L290 TraceCheckUtils]: 22: Hoare triple {1419#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1423#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 10:17:04,296 INFO L290 TraceCheckUtils]: 23: Hoare triple {1423#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1327#false} is VALID [2022-04-27 10:17:04,296 INFO L290 TraceCheckUtils]: 24: Hoare triple {1327#false} assume !false; {1327#false} is VALID [2022-04-27 10:17:04,297 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 10:17:04,297 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 10:17:06,839 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 128 treesize of output 108 [2022-04-27 10:17:06,864 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-04-27 10:17:06,864 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 201 treesize of output 179 [2022-04-27 10:17:07,303 INFO L290 TraceCheckUtils]: 24: Hoare triple {1327#false} assume !false; {1327#false} is VALID [2022-04-27 10:17:07,304 INFO L290 TraceCheckUtils]: 23: Hoare triple {1423#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1327#false} is VALID [2022-04-27 10:17:07,307 INFO L290 TraceCheckUtils]: 22: Hoare triple {1419#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1423#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 10:17:07,308 INFO L272 TraceCheckUtils]: 21: Hoare triple {1340#(= |main_#t~mem12| |main_#t~mem11|)} call __VERIFIER_assert((if #t~mem11 == #t~mem12 then 1 else 0)); {1419#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 10:17:07,309 INFO L290 TraceCheckUtils]: 20: Hoare triple {1442#(= (select (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset|)))} assume !!(~i~0 < ~MAX~0);call #t~mem11 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem12 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {1340#(= |main_#t~mem12| |main_#t~mem11|)} is VALID [2022-04-27 10:17:07,309 INFO L290 TraceCheckUtils]: 19: Hoare triple {1446#(= (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|) (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) main_~MAX~0 |main_~#str2~0.offset|)))} ~j~0 := ~MAX~0 - 1;~i~0 := 0; {1442#(= (select (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset|)))} is VALID [2022-04-27 10:17:07,310 INFO L290 TraceCheckUtils]: 18: Hoare triple {1446#(= (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|) (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) main_~MAX~0 |main_~#str2~0.offset|)))} assume !(~i~0 >= 0); {1446#(= (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|) (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) main_~MAX~0 |main_~#str2~0.offset|)))} is VALID [2022-04-27 10:17:07,310 INFO L290 TraceCheckUtils]: 17: Hoare triple {1446#(= (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|) (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) main_~MAX~0 |main_~#str2~0.offset|)))} #t~post7 := ~i~0;~i~0 := #t~post7 - 1;havoc #t~post7; {1446#(= (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|) (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) main_~MAX~0 |main_~#str2~0.offset|)))} is VALID [2022-04-27 10:17:07,894 WARN L290 TraceCheckUtils]: 16: Hoare triple {1456#(forall ((|main_~#str2~0.offset| Int)) (= (select (store (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)) (+ (- 1) main_~MAX~0 |main_~#str2~0.offset|)) (select (select (store |#memory_int| |main_~#str2~0.base| (store (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|))) |main_~#str1~0.base|) |main_~#str1~0.offset|)))} assume !!(~i~0 >= 0);call #t~mem8 := read~int(~#str1~0.base, ~#str1~0.offset, 1);call write~int(#t~mem8, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem8;#t~post9 := ~j~0;~j~0 := 1 + #t~post9;havoc #t~post9; {1446#(= (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|) (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) main_~MAX~0 |main_~#str2~0.offset|)))} is UNKNOWN [2022-04-27 10:17:07,895 INFO L290 TraceCheckUtils]: 15: Hoare triple {1456#(forall ((|main_~#str2~0.offset| Int)) (= (select (store (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)) (+ (- 1) main_~MAX~0 |main_~#str2~0.offset|)) (select (select (store |#memory_int| |main_~#str2~0.base| (store (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|))) |main_~#str1~0.base|) |main_~#str1~0.offset|)))} #t~post7 := ~i~0;~i~0 := #t~post7 - 1;havoc #t~post7; {1456#(forall ((|main_~#str2~0.offset| Int)) (= (select (store (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)) (+ (- 1) main_~MAX~0 |main_~#str2~0.offset|)) (select (select (store |#memory_int| |main_~#str2~0.base| (store (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|))) |main_~#str1~0.base|) |main_~#str1~0.offset|)))} is VALID [2022-04-27 10:17:07,895 INFO L290 TraceCheckUtils]: 14: Hoare triple {1463#(= main_~MAX~0 (+ main_~j~0 2))} assume !!(~i~0 >= 0);call #t~mem8 := read~int(~#str1~0.base, ~#str1~0.offset, 1);call write~int(#t~mem8, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem8;#t~post9 := ~j~0;~j~0 := 1 + #t~post9;havoc #t~post9; {1456#(forall ((|main_~#str2~0.offset| Int)) (= (select (store (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|)) (+ (- 1) main_~MAX~0 |main_~#str2~0.offset|)) (select (select (store |#memory_int| |main_~#str2~0.base| (store (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|) (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|))) |main_~#str1~0.base|) |main_~#str1~0.offset|)))} is VALID [2022-04-27 10:17:07,896 INFO L290 TraceCheckUtils]: 13: Hoare triple {1467#(= main_~MAX~0 2)} call write~int(0, ~#str1~0.base, ~#str1~0.offset + (~MAX~0 - 1), 1);~j~0 := 0;~i~0 := ~MAX~0 - 1; {1463#(= main_~MAX~0 (+ main_~j~0 2))} is VALID [2022-04-27 10:17:07,896 INFO L290 TraceCheckUtils]: 12: Hoare triple {1471#(or (= main_~MAX~0 2) (< main_~i~0 main_~MAX~0))} assume !(~i~0 < ~MAX~0); {1467#(= main_~MAX~0 2)} is VALID [2022-04-27 10:17:07,897 INFO L290 TraceCheckUtils]: 11: Hoare triple {1475#(or (< (+ main_~i~0 1) main_~MAX~0) (= main_~MAX~0 2))} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {1471#(or (= main_~MAX~0 2) (< main_~i~0 main_~MAX~0))} is VALID [2022-04-27 10:17:07,897 INFO L290 TraceCheckUtils]: 10: Hoare triple {1479#(and (<= main_~i~0 1) (<= 1 main_~i~0))} assume !!(~i~0 < ~MAX~0);assume -128 <= #t~nondet6 && #t~nondet6 <= 127;call write~int(#t~nondet6, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet6; {1475#(or (< (+ main_~i~0 1) main_~MAX~0) (= main_~MAX~0 2))} is VALID [2022-04-27 10:17:07,898 INFO L290 TraceCheckUtils]: 9: Hoare triple {1483#(and (<= main_~i~0 0) (<= 0 main_~i~0))} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {1479#(and (<= main_~i~0 1) (<= 1 main_~i~0))} is VALID [2022-04-27 10:17:07,898 INFO L290 TraceCheckUtils]: 8: Hoare triple {1483#(and (<= main_~i~0 0) (<= 0 main_~i~0))} assume !!(~i~0 < ~MAX~0);assume -128 <= #t~nondet6 && #t~nondet6 <= 127;call write~int(#t~nondet6, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet6; {1483#(and (<= main_~i~0 0) (<= 0 main_~i~0))} is VALID [2022-04-27 10:17:07,899 INFO L290 TraceCheckUtils]: 7: Hoare triple {1326#true} call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack(~MAX~0);call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(~MAX~0);havoc ~cont~0;havoc ~i~0;havoc ~j~0;~cont~0 := 0;~i~0 := 0; {1483#(and (<= main_~i~0 0) (<= 0 main_~i~0))} is VALID [2022-04-27 10:17:07,899 INFO L290 TraceCheckUtils]: 6: Hoare triple {1326#true} assume !!(~MAX~0 > 0); {1326#true} is VALID [2022-04-27 10:17:07,899 INFO L290 TraceCheckUtils]: 5: Hoare triple {1326#true} ~MAX~0 := (if #t~nondet4 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet4 % 4294967296 % 4294967296 else #t~nondet4 % 4294967296 % 4294967296 - 4294967296);havoc #t~nondet4; {1326#true} is VALID [2022-04-27 10:17:07,899 INFO L272 TraceCheckUtils]: 4: Hoare triple {1326#true} call #t~ret14 := main(); {1326#true} is VALID [2022-04-27 10:17:07,899 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1326#true} {1326#true} #74#return; {1326#true} is VALID [2022-04-27 10:17:07,899 INFO L290 TraceCheckUtils]: 2: Hoare triple {1326#true} assume true; {1326#true} is VALID [2022-04-27 10:17:07,899 INFO L290 TraceCheckUtils]: 1: Hoare triple {1326#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {1326#true} is VALID [2022-04-27 10:17:07,899 INFO L272 TraceCheckUtils]: 0: Hoare triple {1326#true} call ULTIMATE.init(); {1326#true} is VALID [2022-04-27 10:17:07,899 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 10:17:07,900 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [932044722] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 10:17:07,900 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 10:17:07,900 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 14, 14] total 35 [2022-04-27 10:17:07,900 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1078980843] [2022-04-27 10:17:07,900 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 10:17:07,901 INFO L78 Accepts]: Start accepts. Automaton has has 35 states, 34 states have (on average 1.5294117647058822) internal successors, (52), 32 states have internal predecessors, (52), 2 states have call successors, (5), 4 states have call predecessors, (5), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 25 [2022-04-27 10:17:07,901 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 10:17:07,901 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 35 states, 34 states have (on average 1.5294117647058822) internal successors, (52), 32 states have internal predecessors, (52), 2 states have call successors, (5), 4 states have call predecessors, (5), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:08,482 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 57 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-27 10:17:08,482 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 35 states [2022-04-27 10:17:08,482 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 10:17:08,483 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 35 interpolants. [2022-04-27 10:17:08,483 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=141, Invalid=1047, Unknown=2, NotChecked=0, Total=1190 [2022-04-27 10:17:08,484 INFO L87 Difference]: Start difference. First operand 41 states and 45 transitions. Second operand has 35 states, 34 states have (on average 1.5294117647058822) internal successors, (52), 32 states have internal predecessors, (52), 2 states have call successors, (5), 4 states have call predecessors, (5), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:11,216 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:17:11,217 INFO L93 Difference]: Finished difference Result 80 states and 90 transitions. [2022-04-27 10:17:11,217 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2022-04-27 10:17:11,217 INFO L78 Accepts]: Start accepts. Automaton has has 35 states, 34 states have (on average 1.5294117647058822) internal successors, (52), 32 states have internal predecessors, (52), 2 states have call successors, (5), 4 states have call predecessors, (5), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 25 [2022-04-27 10:17:11,217 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 10:17:11,217 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 34 states have (on average 1.5294117647058822) internal successors, (52), 32 states have internal predecessors, (52), 2 states have call successors, (5), 4 states have call predecessors, (5), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:11,219 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 77 transitions. [2022-04-27 10:17:11,220 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 34 states have (on average 1.5294117647058822) internal successors, (52), 32 states have internal predecessors, (52), 2 states have call successors, (5), 4 states have call predecessors, (5), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:11,222 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 77 transitions. [2022-04-27 10:17:11,222 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 29 states and 77 transitions. [2022-04-27 10:17:11,323 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:17:11,325 INFO L225 Difference]: With dead ends: 80 [2022-04-27 10:17:11,325 INFO L226 Difference]: Without dead ends: 78 [2022-04-27 10:17:11,326 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 93 GetRequests, 32 SyntacticMatches, 2 SemanticMatches, 59 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 878 ImplicationChecksByTransitivity, 3.6s TimeCoverageRelationStatistics Valid=560, Invalid=3098, Unknown=2, NotChecked=0, Total=3660 [2022-04-27 10:17:11,327 INFO L413 NwaCegarLoop]: 19 mSDtfsCounter, 76 mSDsluCounter, 93 mSDsCounter, 0 mSdLazyCounter, 808 mSolverCounterSat, 126 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 76 SdHoareTripleChecker+Valid, 112 SdHoareTripleChecker+Invalid, 985 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 126 IncrementalHoareTripleChecker+Valid, 808 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 51 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-27 10:17:11,327 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [76 Valid, 112 Invalid, 985 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [126 Valid, 808 Invalid, 0 Unknown, 51 Unchecked, 0.9s Time] [2022-04-27 10:17:11,328 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 78 states. [2022-04-27 10:17:11,380 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 78 to 46. [2022-04-27 10:17:11,381 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 10:17:11,381 INFO L82 GeneralOperation]: Start isEquivalent. First operand 78 states. Second operand has 46 states, 38 states have (on average 1.1578947368421053) internal successors, (44), 39 states have internal predecessors, (44), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 10:17:11,381 INFO L74 IsIncluded]: Start isIncluded. First operand 78 states. Second operand has 46 states, 38 states have (on average 1.1578947368421053) internal successors, (44), 39 states have internal predecessors, (44), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 10:17:11,382 INFO L87 Difference]: Start difference. First operand 78 states. Second operand has 46 states, 38 states have (on average 1.1578947368421053) internal successors, (44), 39 states have internal predecessors, (44), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 10:17:11,388 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:17:11,388 INFO L93 Difference]: Finished difference Result 78 states and 88 transitions. [2022-04-27 10:17:11,388 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 88 transitions. [2022-04-27 10:17:11,389 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:17:11,389 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:17:11,389 INFO L74 IsIncluded]: Start isIncluded. First operand has 46 states, 38 states have (on average 1.1578947368421053) internal successors, (44), 39 states have internal predecessors, (44), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Second operand 78 states. [2022-04-27 10:17:11,390 INFO L87 Difference]: Start difference. First operand has 46 states, 38 states have (on average 1.1578947368421053) internal successors, (44), 39 states have internal predecessors, (44), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Second operand 78 states. [2022-04-27 10:17:11,395 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:17:11,396 INFO L93 Difference]: Finished difference Result 78 states and 88 transitions. [2022-04-27 10:17:11,396 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 88 transitions. [2022-04-27 10:17:11,396 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:17:11,396 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:17:11,396 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 10:17:11,396 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 10:17:11,397 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 38 states have (on average 1.1578947368421053) internal successors, (44), 39 states have internal predecessors, (44), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 10:17:11,398 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 51 transitions. [2022-04-27 10:17:11,399 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 51 transitions. Word has length 25 [2022-04-27 10:17:11,399 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 10:17:11,399 INFO L495 AbstractCegarLoop]: Abstraction has 46 states and 51 transitions. [2022-04-27 10:17:11,400 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 35 states, 34 states have (on average 1.5294117647058822) internal successors, (52), 32 states have internal predecessors, (52), 2 states have call successors, (5), 4 states have call predecessors, (5), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:11,400 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 51 transitions. [2022-04-27 10:17:11,400 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2022-04-27 10:17:11,400 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 10:17:11,400 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 10:17:11,417 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-27 10:17:11,607 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 10:17:11,607 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 10:17:11,608 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 10:17:11,608 INFO L85 PathProgramCache]: Analyzing trace with hash -1823608176, now seen corresponding path program 4 times [2022-04-27 10:17:11,608 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 10:17:11,608 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1616065582] [2022-04-27 10:17:11,608 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:17:11,608 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 10:17:11,632 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:17:11,692 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 10:17:11,694 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:17:11,696 INFO L290 TraceCheckUtils]: 0: Hoare triple {1913#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {1903#true} is VALID [2022-04-27 10:17:11,696 INFO L290 TraceCheckUtils]: 1: Hoare triple {1903#true} assume true; {1903#true} is VALID [2022-04-27 10:17:11,696 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1903#true} {1903#true} #74#return; {1903#true} is VALID [2022-04-27 10:17:11,700 INFO L272 TraceCheckUtils]: 0: Hoare triple {1903#true} call ULTIMATE.init(); {1913#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 10:17:11,700 INFO L290 TraceCheckUtils]: 1: Hoare triple {1913#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {1903#true} is VALID [2022-04-27 10:17:11,700 INFO L290 TraceCheckUtils]: 2: Hoare triple {1903#true} assume true; {1903#true} is VALID [2022-04-27 10:17:11,700 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1903#true} {1903#true} #74#return; {1903#true} is VALID [2022-04-27 10:17:11,700 INFO L272 TraceCheckUtils]: 4: Hoare triple {1903#true} call #t~ret14 := main(); {1903#true} is VALID [2022-04-27 10:17:11,700 INFO L290 TraceCheckUtils]: 5: Hoare triple {1903#true} ~MAX~0 := (if #t~nondet4 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet4 % 4294967296 % 4294967296 else #t~nondet4 % 4294967296 % 4294967296 - 4294967296);havoc #t~nondet4; {1903#true} is VALID [2022-04-27 10:17:11,700 INFO L290 TraceCheckUtils]: 6: Hoare triple {1903#true} assume !!(~MAX~0 > 0); {1903#true} is VALID [2022-04-27 10:17:11,700 INFO L290 TraceCheckUtils]: 7: Hoare triple {1903#true} call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack(~MAX~0);call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(~MAX~0);havoc ~cont~0;havoc ~i~0;havoc ~j~0;~cont~0 := 0;~i~0 := 0; {1908#(= main_~i~0 0)} is VALID [2022-04-27 10:17:11,701 INFO L290 TraceCheckUtils]: 8: Hoare triple {1908#(= main_~i~0 0)} assume !!(~i~0 < ~MAX~0);assume -128 <= #t~nondet6 && #t~nondet6 <= 127;call write~int(#t~nondet6, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet6; {1908#(= main_~i~0 0)} is VALID [2022-04-27 10:17:11,701 INFO L290 TraceCheckUtils]: 9: Hoare triple {1908#(= main_~i~0 0)} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {1909#(<= 1 main_~i~0)} is VALID [2022-04-27 10:17:11,701 INFO L290 TraceCheckUtils]: 10: Hoare triple {1909#(<= 1 main_~i~0)} assume !!(~i~0 < ~MAX~0);assume -128 <= #t~nondet6 && #t~nondet6 <= 127;call write~int(#t~nondet6, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet6; {1909#(<= 1 main_~i~0)} is VALID [2022-04-27 10:17:11,702 INFO L290 TraceCheckUtils]: 11: Hoare triple {1909#(<= 1 main_~i~0)} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {1910#(<= 2 main_~i~0)} is VALID [2022-04-27 10:17:11,702 INFO L290 TraceCheckUtils]: 12: Hoare triple {1910#(<= 2 main_~i~0)} assume !!(~i~0 < ~MAX~0);assume -128 <= #t~nondet6 && #t~nondet6 <= 127;call write~int(#t~nondet6, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet6; {1911#(<= 3 main_~MAX~0)} is VALID [2022-04-27 10:17:11,703 INFO L290 TraceCheckUtils]: 13: Hoare triple {1911#(<= 3 main_~MAX~0)} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {1911#(<= 3 main_~MAX~0)} is VALID [2022-04-27 10:17:11,703 INFO L290 TraceCheckUtils]: 14: Hoare triple {1911#(<= 3 main_~MAX~0)} assume !(~i~0 < ~MAX~0); {1911#(<= 3 main_~MAX~0)} is VALID [2022-04-27 10:17:11,704 INFO L290 TraceCheckUtils]: 15: Hoare triple {1911#(<= 3 main_~MAX~0)} call write~int(0, ~#str1~0.base, ~#str1~0.offset + (~MAX~0 - 1), 1);~j~0 := 0;~i~0 := ~MAX~0 - 1; {1910#(<= 2 main_~i~0)} is VALID [2022-04-27 10:17:11,704 INFO L290 TraceCheckUtils]: 16: Hoare triple {1910#(<= 2 main_~i~0)} assume !!(~i~0 >= 0);call #t~mem8 := read~int(~#str1~0.base, ~#str1~0.offset, 1);call write~int(#t~mem8, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem8;#t~post9 := ~j~0;~j~0 := 1 + #t~post9;havoc #t~post9; {1910#(<= 2 main_~i~0)} is VALID [2022-04-27 10:17:11,704 INFO L290 TraceCheckUtils]: 17: Hoare triple {1910#(<= 2 main_~i~0)} #t~post7 := ~i~0;~i~0 := #t~post7 - 1;havoc #t~post7; {1909#(<= 1 main_~i~0)} is VALID [2022-04-27 10:17:11,705 INFO L290 TraceCheckUtils]: 18: Hoare triple {1909#(<= 1 main_~i~0)} assume !!(~i~0 >= 0);call #t~mem8 := read~int(~#str1~0.base, ~#str1~0.offset, 1);call write~int(#t~mem8, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem8;#t~post9 := ~j~0;~j~0 := 1 + #t~post9;havoc #t~post9; {1909#(<= 1 main_~i~0)} is VALID [2022-04-27 10:17:11,705 INFO L290 TraceCheckUtils]: 19: Hoare triple {1909#(<= 1 main_~i~0)} #t~post7 := ~i~0;~i~0 := #t~post7 - 1;havoc #t~post7; {1912#(<= 0 main_~i~0)} is VALID [2022-04-27 10:17:11,705 INFO L290 TraceCheckUtils]: 20: Hoare triple {1912#(<= 0 main_~i~0)} assume !(~i~0 >= 0); {1904#false} is VALID [2022-04-27 10:17:11,705 INFO L290 TraceCheckUtils]: 21: Hoare triple {1904#false} ~j~0 := ~MAX~0 - 1;~i~0 := 0; {1904#false} is VALID [2022-04-27 10:17:11,706 INFO L290 TraceCheckUtils]: 22: Hoare triple {1904#false} assume !!(~i~0 < ~MAX~0);call #t~mem11 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem12 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {1904#false} is VALID [2022-04-27 10:17:11,706 INFO L272 TraceCheckUtils]: 23: Hoare triple {1904#false} call __VERIFIER_assert((if #t~mem11 == #t~mem12 then 1 else 0)); {1904#false} is VALID [2022-04-27 10:17:11,706 INFO L290 TraceCheckUtils]: 24: Hoare triple {1904#false} ~cond := #in~cond; {1904#false} is VALID [2022-04-27 10:17:11,706 INFO L290 TraceCheckUtils]: 25: Hoare triple {1904#false} assume 0 == ~cond; {1904#false} is VALID [2022-04-27 10:17:11,706 INFO L290 TraceCheckUtils]: 26: Hoare triple {1904#false} assume !false; {1904#false} is VALID [2022-04-27 10:17:11,706 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 1 proven. 12 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 10:17:11,706 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 10:17:11,706 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1616065582] [2022-04-27 10:17:11,706 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1616065582] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 10:17:11,706 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1386514738] [2022-04-27 10:17:11,707 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-27 10:17:11,707 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 10:17:11,707 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 10:17:11,708 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 10:17:11,718 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-27 10:17:11,774 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-27 10:17:11,774 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 10:17:11,775 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-27 10:17:11,786 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:17:11,787 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 10:17:11,810 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 10 treesize of output 8 [2022-04-27 10:17:11,967 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 17 [2022-04-27 10:17:12,313 INFO L356 Elim1Store]: treesize reduction 9, result has 25.0 percent of original size [2022-04-27 10:17:12,314 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 1 case distinctions, treesize of input 30 treesize of output 13 [2022-04-27 10:17:12,386 INFO L272 TraceCheckUtils]: 0: Hoare triple {1903#true} call ULTIMATE.init(); {1903#true} is VALID [2022-04-27 10:17:12,386 INFO L290 TraceCheckUtils]: 1: Hoare triple {1903#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {1903#true} is VALID [2022-04-27 10:17:12,386 INFO L290 TraceCheckUtils]: 2: Hoare triple {1903#true} assume true; {1903#true} is VALID [2022-04-27 10:17:12,386 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1903#true} {1903#true} #74#return; {1903#true} is VALID [2022-04-27 10:17:12,386 INFO L272 TraceCheckUtils]: 4: Hoare triple {1903#true} call #t~ret14 := main(); {1903#true} is VALID [2022-04-27 10:17:12,386 INFO L290 TraceCheckUtils]: 5: Hoare triple {1903#true} ~MAX~0 := (if #t~nondet4 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet4 % 4294967296 % 4294967296 else #t~nondet4 % 4294967296 % 4294967296 - 4294967296);havoc #t~nondet4; {1903#true} is VALID [2022-04-27 10:17:12,386 INFO L290 TraceCheckUtils]: 6: Hoare triple {1903#true} assume !!(~MAX~0 > 0); {1903#true} is VALID [2022-04-27 10:17:12,387 INFO L290 TraceCheckUtils]: 7: Hoare triple {1903#true} call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack(~MAX~0);call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(~MAX~0);havoc ~cont~0;havoc ~i~0;havoc ~j~0;~cont~0 := 0;~i~0 := 0; {1938#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:12,387 INFO L290 TraceCheckUtils]: 8: Hoare triple {1938#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 < ~MAX~0);assume -128 <= #t~nondet6 && #t~nondet6 <= 127;call write~int(#t~nondet6, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet6; {1938#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:12,388 INFO L290 TraceCheckUtils]: 9: Hoare triple {1938#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {1938#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:12,389 INFO L290 TraceCheckUtils]: 10: Hoare triple {1938#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 < ~MAX~0);assume -128 <= #t~nondet6 && #t~nondet6 <= 127;call write~int(#t~nondet6, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet6; {1938#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:12,389 INFO L290 TraceCheckUtils]: 11: Hoare triple {1938#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {1938#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:12,390 INFO L290 TraceCheckUtils]: 12: Hoare triple {1938#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 < ~MAX~0);assume -128 <= #t~nondet6 && #t~nondet6 <= 127;call write~int(#t~nondet6, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet6; {1938#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:12,390 INFO L290 TraceCheckUtils]: 13: Hoare triple {1938#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {1938#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:12,390 INFO L290 TraceCheckUtils]: 14: Hoare triple {1938#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !(~i~0 < ~MAX~0); {1938#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:12,391 INFO L290 TraceCheckUtils]: 15: Hoare triple {1938#(and (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} call write~int(0, ~#str1~0.base, ~#str1~0.offset + (~MAX~0 - 1), 1);~j~0 := 0;~i~0 := ~MAX~0 - 1; {1963#(and (= |main_~#str1~0.offset| 0) (= main_~j~0 0) (= main_~i~0 (+ (- 1) main_~MAX~0)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:12,391 INFO L290 TraceCheckUtils]: 16: Hoare triple {1963#(and (= |main_~#str1~0.offset| 0) (= main_~j~0 0) (= main_~i~0 (+ (- 1) main_~MAX~0)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 >= 0);call #t~mem8 := read~int(~#str1~0.base, ~#str1~0.offset, 1);call write~int(#t~mem8, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem8;#t~post9 := ~j~0;~j~0 := 1 + #t~post9;havoc #t~post9; {1967#(and (= (+ (- 1) main_~j~0) 0) (= |main_~#str1~0.offset| 0) (= main_~i~0 (+ (- 1) main_~MAX~0)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:12,392 INFO L290 TraceCheckUtils]: 17: Hoare triple {1967#(and (= (+ (- 1) main_~j~0) 0) (= |main_~#str1~0.offset| 0) (= main_~i~0 (+ (- 1) main_~MAX~0)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #t~post7 := ~i~0;~i~0 := #t~post7 - 1;havoc #t~post7; {1971#(and (= (+ (- 1) main_~j~0) 0) (= |main_~#str1~0.offset| 0) (= (+ (- 1) main_~MAX~0) (+ main_~i~0 1)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:12,392 INFO L290 TraceCheckUtils]: 18: Hoare triple {1971#(and (= (+ (- 1) main_~j~0) 0) (= |main_~#str1~0.offset| 0) (= (+ (- 1) main_~MAX~0) (+ main_~i~0 1)) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 >= 0);call #t~mem8 := read~int(~#str1~0.base, ~#str1~0.offset, 1);call write~int(#t~mem8, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem8;#t~post9 := ~j~0;~j~0 := 1 + #t~post9;havoc #t~post9; {1975#(and (= (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|) (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 1))) (= |main_~#str1~0.offset| 0) (= (+ (- 1) main_~MAX~0) (+ main_~i~0 1)) (<= 0 main_~i~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:12,393 INFO L290 TraceCheckUtils]: 19: Hoare triple {1975#(and (= (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|) (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 1))) (= |main_~#str1~0.offset| 0) (= (+ (- 1) main_~MAX~0) (+ main_~i~0 1)) (<= 0 main_~i~0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} #t~post7 := ~i~0;~i~0 := #t~post7 - 1;havoc #t~post7; {1979#(and (<= 2 main_~MAX~0) (= (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|) (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 1))) (<= main_~MAX~0 (+ main_~i~0 3)) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:12,393 INFO L290 TraceCheckUtils]: 20: Hoare triple {1979#(and (<= 2 main_~MAX~0) (= (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|) (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 1))) (<= main_~MAX~0 (+ main_~i~0 3)) (= |main_~#str1~0.offset| 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !(~i~0 >= 0); {1983#(and (<= 2 main_~MAX~0) (= (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|) (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 1))) (= |main_~#str1~0.offset| 0) (< main_~MAX~0 3) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:12,394 INFO L290 TraceCheckUtils]: 21: Hoare triple {1983#(and (<= 2 main_~MAX~0) (= (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|) (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 1))) (= |main_~#str1~0.offset| 0) (< main_~MAX~0 3) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} ~j~0 := ~MAX~0 - 1;~i~0 := 0; {1987#(and (= (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|) (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 1))) (<= 1 main_~j~0) (= |main_~#str1~0.offset| 0) (< main_~j~0 2) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} is VALID [2022-04-27 10:17:12,395 INFO L290 TraceCheckUtils]: 22: Hoare triple {1987#(and (= (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|) (select (select |#memory_int| |main_~#str2~0.base|) (+ |main_~#str2~0.offset| 1))) (<= 1 main_~j~0) (= |main_~#str1~0.offset| 0) (< main_~j~0 2) (= main_~i~0 0) (not (= |main_~#str1~0.base| |main_~#str2~0.base|)))} assume !!(~i~0 < ~MAX~0);call #t~mem11 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem12 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {1991#(= |main_#t~mem12| |main_#t~mem11|)} is VALID [2022-04-27 10:17:12,396 INFO L272 TraceCheckUtils]: 23: Hoare triple {1991#(= |main_#t~mem12| |main_#t~mem11|)} call __VERIFIER_assert((if #t~mem11 == #t~mem12 then 1 else 0)); {1995#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 10:17:12,396 INFO L290 TraceCheckUtils]: 24: Hoare triple {1995#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1999#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 10:17:12,396 INFO L290 TraceCheckUtils]: 25: Hoare triple {1999#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1904#false} is VALID [2022-04-27 10:17:12,396 INFO L290 TraceCheckUtils]: 26: Hoare triple {1904#false} assume !false; {1904#false} is VALID [2022-04-27 10:17:12,396 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2022-04-27 10:17:12,397 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 10:17:12,566 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-04-27 10:17:12,567 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 23 treesize of output 26 [2022-04-27 10:17:12,595 INFO L356 Elim1Store]: treesize reduction 4, result has 63.6 percent of original size [2022-04-27 10:17:12,595 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 29 treesize of output 29 [2022-04-27 10:17:12,617 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 24 [2022-04-27 10:17:12,788 INFO L290 TraceCheckUtils]: 26: Hoare triple {1904#false} assume !false; {1904#false} is VALID [2022-04-27 10:17:12,788 INFO L290 TraceCheckUtils]: 25: Hoare triple {1999#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1904#false} is VALID [2022-04-27 10:17:12,789 INFO L290 TraceCheckUtils]: 24: Hoare triple {1995#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1999#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 10:17:12,789 INFO L272 TraceCheckUtils]: 23: Hoare triple {1991#(= |main_#t~mem12| |main_#t~mem11|)} call __VERIFIER_assert((if #t~mem11 == #t~mem12 then 1 else 0)); {1995#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 10:17:12,792 INFO L290 TraceCheckUtils]: 22: Hoare triple {2018#(= (select (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset|)))} assume !!(~i~0 < ~MAX~0);call #t~mem11 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem12 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {1991#(= |main_#t~mem12| |main_#t~mem11|)} is VALID [2022-04-27 10:17:12,793 INFO L290 TraceCheckUtils]: 21: Hoare triple {2022#(= (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|) (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) main_~MAX~0 |main_~#str2~0.offset|)))} ~j~0 := ~MAX~0 - 1;~i~0 := 0; {2018#(= (select (select |#memory_int| |main_~#str2~0.base|) (+ main_~j~0 |main_~#str2~0.offset|)) (select (select |#memory_int| |main_~#str1~0.base|) (+ main_~i~0 |main_~#str1~0.offset|)))} is VALID [2022-04-27 10:17:12,793 INFO L290 TraceCheckUtils]: 20: Hoare triple {2026#(or (= (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|) (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) main_~MAX~0 |main_~#str2~0.offset|))) (<= 0 main_~i~0))} assume !(~i~0 >= 0); {2022#(= (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|) (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) main_~MAX~0 |main_~#str2~0.offset|)))} is VALID [2022-04-27 10:17:12,794 INFO L290 TraceCheckUtils]: 19: Hoare triple {2030#(or (= (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|) (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) main_~MAX~0 |main_~#str2~0.offset|))) (<= 1 main_~i~0))} #t~post7 := ~i~0;~i~0 := #t~post7 - 1;havoc #t~post7; {2026#(or (= (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|) (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) main_~MAX~0 |main_~#str2~0.offset|))) (<= 0 main_~i~0))} is VALID [2022-04-27 10:17:12,795 INFO L290 TraceCheckUtils]: 18: Hoare triple {2034#(or (not (<= 0 main_~i~0)) (<= 1 main_~i~0) (= main_~MAX~0 (+ main_~j~0 1)))} assume !!(~i~0 >= 0);call #t~mem8 := read~int(~#str1~0.base, ~#str1~0.offset, 1);call write~int(#t~mem8, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem8;#t~post9 := ~j~0;~j~0 := 1 + #t~post9;havoc #t~post9; {2030#(or (= (select (select |#memory_int| |main_~#str1~0.base|) |main_~#str1~0.offset|) (select (select |#memory_int| |main_~#str2~0.base|) (+ (- 1) main_~MAX~0 |main_~#str2~0.offset|))) (<= 1 main_~i~0))} is VALID [2022-04-27 10:17:12,796 INFO L290 TraceCheckUtils]: 17: Hoare triple {2038#(or (<= 2 main_~i~0) (not (<= 1 main_~i~0)) (= main_~MAX~0 (+ main_~j~0 1)))} #t~post7 := ~i~0;~i~0 := #t~post7 - 1;havoc #t~post7; {2034#(or (not (<= 0 main_~i~0)) (<= 1 main_~i~0) (= main_~MAX~0 (+ main_~j~0 1)))} is VALID [2022-04-27 10:17:12,796 INFO L290 TraceCheckUtils]: 16: Hoare triple {2042#(or (<= 2 main_~i~0) (= main_~MAX~0 (+ main_~j~0 2)) (not (<= 1 main_~i~0)))} assume !!(~i~0 >= 0);call #t~mem8 := read~int(~#str1~0.base, ~#str1~0.offset, 1);call write~int(#t~mem8, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem8;#t~post9 := ~j~0;~j~0 := 1 + #t~post9;havoc #t~post9; {2038#(or (<= 2 main_~i~0) (not (<= 1 main_~i~0)) (= main_~MAX~0 (+ main_~j~0 1)))} is VALID [2022-04-27 10:17:12,797 INFO L290 TraceCheckUtils]: 15: Hoare triple {1903#true} call write~int(0, ~#str1~0.base, ~#str1~0.offset + (~MAX~0 - 1), 1);~j~0 := 0;~i~0 := ~MAX~0 - 1; {2042#(or (<= 2 main_~i~0) (= main_~MAX~0 (+ main_~j~0 2)) (not (<= 1 main_~i~0)))} is VALID [2022-04-27 10:17:12,797 INFO L290 TraceCheckUtils]: 14: Hoare triple {1903#true} assume !(~i~0 < ~MAX~0); {1903#true} is VALID [2022-04-27 10:17:12,797 INFO L290 TraceCheckUtils]: 13: Hoare triple {1903#true} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {1903#true} is VALID [2022-04-27 10:17:12,797 INFO L290 TraceCheckUtils]: 12: Hoare triple {1903#true} assume !!(~i~0 < ~MAX~0);assume -128 <= #t~nondet6 && #t~nondet6 <= 127;call write~int(#t~nondet6, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet6; {1903#true} is VALID [2022-04-27 10:17:12,797 INFO L290 TraceCheckUtils]: 11: Hoare triple {1903#true} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {1903#true} is VALID [2022-04-27 10:17:12,797 INFO L290 TraceCheckUtils]: 10: Hoare triple {1903#true} assume !!(~i~0 < ~MAX~0);assume -128 <= #t~nondet6 && #t~nondet6 <= 127;call write~int(#t~nondet6, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet6; {1903#true} is VALID [2022-04-27 10:17:12,797 INFO L290 TraceCheckUtils]: 9: Hoare triple {1903#true} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {1903#true} is VALID [2022-04-27 10:17:12,797 INFO L290 TraceCheckUtils]: 8: Hoare triple {1903#true} assume !!(~i~0 < ~MAX~0);assume -128 <= #t~nondet6 && #t~nondet6 <= 127;call write~int(#t~nondet6, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet6; {1903#true} is VALID [2022-04-27 10:17:12,798 INFO L290 TraceCheckUtils]: 7: Hoare triple {1903#true} call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack(~MAX~0);call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(~MAX~0);havoc ~cont~0;havoc ~i~0;havoc ~j~0;~cont~0 := 0;~i~0 := 0; {1903#true} is VALID [2022-04-27 10:17:12,798 INFO L290 TraceCheckUtils]: 6: Hoare triple {1903#true} assume !!(~MAX~0 > 0); {1903#true} is VALID [2022-04-27 10:17:12,798 INFO L290 TraceCheckUtils]: 5: Hoare triple {1903#true} ~MAX~0 := (if #t~nondet4 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet4 % 4294967296 % 4294967296 else #t~nondet4 % 4294967296 % 4294967296 - 4294967296);havoc #t~nondet4; {1903#true} is VALID [2022-04-27 10:17:12,798 INFO L272 TraceCheckUtils]: 4: Hoare triple {1903#true} call #t~ret14 := main(); {1903#true} is VALID [2022-04-27 10:17:12,798 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1903#true} {1903#true} #74#return; {1903#true} is VALID [2022-04-27 10:17:12,798 INFO L290 TraceCheckUtils]: 2: Hoare triple {1903#true} assume true; {1903#true} is VALID [2022-04-27 10:17:12,798 INFO L290 TraceCheckUtils]: 1: Hoare triple {1903#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {1903#true} is VALID [2022-04-27 10:17:12,798 INFO L272 TraceCheckUtils]: 0: Hoare triple {1903#true} call ULTIMATE.init(); {1903#true} is VALID [2022-04-27 10:17:12,798 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2022-04-27 10:17:12,798 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1386514738] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 10:17:12,799 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 10:17:12,799 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 13, 12] total 26 [2022-04-27 10:17:12,799 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1673497534] [2022-04-27 10:17:12,799 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 10:17:12,799 INFO L78 Accepts]: Start accepts. Automaton has has 26 states, 25 states have (on average 2.0) internal successors, (50), 24 states have internal predecessors, (50), 3 states have call successors, (5), 4 states have call predecessors, (5), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 27 [2022-04-27 10:17:12,800 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 10:17:12,800 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 26 states, 25 states have (on average 2.0) internal successors, (50), 24 states have internal predecessors, (50), 3 states have call successors, (5), 4 states have call predecessors, (5), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:12,844 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:17:12,845 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 26 states [2022-04-27 10:17:12,845 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 10:17:12,845 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2022-04-27 10:17:12,846 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=94, Invalid=556, Unknown=0, NotChecked=0, Total=650 [2022-04-27 10:17:12,846 INFO L87 Difference]: Start difference. First operand 46 states and 51 transitions. Second operand has 26 states, 25 states have (on average 2.0) internal successors, (50), 24 states have internal predecessors, (50), 3 states have call successors, (5), 4 states have call predecessors, (5), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:16,653 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:17:16,654 INFO L93 Difference]: Finished difference Result 125 states and 144 transitions. [2022-04-27 10:17:16,654 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 52 states. [2022-04-27 10:17:16,654 INFO L78 Accepts]: Start accepts. Automaton has has 26 states, 25 states have (on average 2.0) internal successors, (50), 24 states have internal predecessors, (50), 3 states have call successors, (5), 4 states have call predecessors, (5), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 27 [2022-04-27 10:17:16,654 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 10:17:16,654 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 25 states have (on average 2.0) internal successors, (50), 24 states have internal predecessors, (50), 3 states have call successors, (5), 4 states have call predecessors, (5), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:16,660 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 135 transitions. [2022-04-27 10:17:16,660 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 25 states have (on average 2.0) internal successors, (50), 24 states have internal predecessors, (50), 3 states have call successors, (5), 4 states have call predecessors, (5), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:16,663 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 135 transitions. [2022-04-27 10:17:16,663 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 52 states and 135 transitions. [2022-04-27 10:17:16,790 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 135 edges. 135 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:17:16,793 INFO L225 Difference]: With dead ends: 125 [2022-04-27 10:17:16,793 INFO L226 Difference]: Without dead ends: 111 [2022-04-27 10:17:16,795 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 117 GetRequests, 43 SyntacticMatches, 1 SemanticMatches, 73 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1390 ImplicationChecksByTransitivity, 1.5s TimeCoverageRelationStatistics Valid=935, Invalid=4615, Unknown=0, NotChecked=0, Total=5550 [2022-04-27 10:17:16,796 INFO L413 NwaCegarLoop]: 22 mSDtfsCounter, 105 mSDsluCounter, 55 mSDsCounter, 0 mSdLazyCounter, 947 mSolverCounterSat, 240 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 105 SdHoareTripleChecker+Valid, 77 SdHoareTripleChecker+Invalid, 1187 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 240 IncrementalHoareTripleChecker+Valid, 947 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.2s IncrementalHoareTripleChecker+Time [2022-04-27 10:17:16,796 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [105 Valid, 77 Invalid, 1187 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [240 Valid, 947 Invalid, 0 Unknown, 0 Unchecked, 1.2s Time] [2022-04-27 10:17:16,797 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 111 states. [2022-04-27 10:17:16,926 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 111 to 71. [2022-04-27 10:17:16,927 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 10:17:16,927 INFO L82 GeneralOperation]: Start isEquivalent. First operand 111 states. Second operand has 71 states, 59 states have (on average 1.1694915254237288) internal successors, (69), 62 states have internal predecessors, (69), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 3 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-27 10:17:16,927 INFO L74 IsIncluded]: Start isIncluded. First operand 111 states. Second operand has 71 states, 59 states have (on average 1.1694915254237288) internal successors, (69), 62 states have internal predecessors, (69), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 3 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-27 10:17:16,931 INFO L87 Difference]: Start difference. First operand 111 states. Second operand has 71 states, 59 states have (on average 1.1694915254237288) internal successors, (69), 62 states have internal predecessors, (69), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 3 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-27 10:17:16,936 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:17:16,936 INFO L93 Difference]: Finished difference Result 111 states and 127 transitions. [2022-04-27 10:17:16,936 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 127 transitions. [2022-04-27 10:17:16,937 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:17:16,937 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:17:16,937 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 59 states have (on average 1.1694915254237288) internal successors, (69), 62 states have internal predecessors, (69), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 3 states have call predecessors, (5), 5 states have call successors, (5) Second operand 111 states. [2022-04-27 10:17:16,938 INFO L87 Difference]: Start difference. First operand has 71 states, 59 states have (on average 1.1694915254237288) internal successors, (69), 62 states have internal predecessors, (69), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 3 states have call predecessors, (5), 5 states have call successors, (5) Second operand 111 states. [2022-04-27 10:17:16,950 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:17:16,950 INFO L93 Difference]: Finished difference Result 111 states and 127 transitions. [2022-04-27 10:17:16,950 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 127 transitions. [2022-04-27 10:17:16,950 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:17:16,951 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:17:16,951 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 10:17:16,951 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 10:17:16,951 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 59 states have (on average 1.1694915254237288) internal successors, (69), 62 states have internal predecessors, (69), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 3 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-27 10:17:16,955 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 81 transitions. [2022-04-27 10:17:16,955 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 81 transitions. Word has length 27 [2022-04-27 10:17:16,956 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 10:17:16,957 INFO L495 AbstractCegarLoop]: Abstraction has 71 states and 81 transitions. [2022-04-27 10:17:16,958 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 26 states, 25 states have (on average 2.0) internal successors, (50), 24 states have internal predecessors, (50), 3 states have call successors, (5), 4 states have call predecessors, (5), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:16,958 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 81 transitions. [2022-04-27 10:17:16,959 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-04-27 10:17:16,959 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 10:17:16,959 INFO L195 NwaCegarLoop]: trace histogram [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] [2022-04-27 10:17:16,978 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-27 10:17:17,167 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 10:17:17,167 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 10:17:17,168 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 10:17:17,168 INFO L85 PathProgramCache]: Analyzing trace with hash 463472720, now seen corresponding path program 1 times [2022-04-27 10:17:17,168 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 10:17:17,168 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [625981659] [2022-04-27 10:17:17,168 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:17:17,168 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 10:17:17,188 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:17:17,241 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 10:17:17,242 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:17:17,245 INFO L290 TraceCheckUtils]: 0: Hoare triple {2714#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {2700#true} is VALID [2022-04-27 10:17:17,245 INFO L290 TraceCheckUtils]: 1: Hoare triple {2700#true} assume true; {2700#true} is VALID [2022-04-27 10:17:17,245 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {2700#true} {2700#true} #74#return; {2700#true} is VALID [2022-04-27 10:17:17,246 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-27 10:17:17,247 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:17:17,250 INFO L290 TraceCheckUtils]: 0: Hoare triple {2700#true} ~cond := #in~cond; {2700#true} is VALID [2022-04-27 10:17:17,250 INFO L290 TraceCheckUtils]: 1: Hoare triple {2700#true} assume !(0 == ~cond); {2700#true} is VALID [2022-04-27 10:17:17,250 INFO L290 TraceCheckUtils]: 2: Hoare triple {2700#true} assume true; {2700#true} is VALID [2022-04-27 10:17:17,250 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2700#true} {2708#(and (= main_~i~0 0) (<= main_~MAX~0 1))} #72#return; {2708#(and (= main_~i~0 0) (<= main_~MAX~0 1))} is VALID [2022-04-27 10:17:17,251 INFO L272 TraceCheckUtils]: 0: Hoare triple {2700#true} call ULTIMATE.init(); {2714#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 10:17:17,252 INFO L290 TraceCheckUtils]: 1: Hoare triple {2714#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {2700#true} is VALID [2022-04-27 10:17:17,252 INFO L290 TraceCheckUtils]: 2: Hoare triple {2700#true} assume true; {2700#true} is VALID [2022-04-27 10:17:17,252 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2700#true} {2700#true} #74#return; {2700#true} is VALID [2022-04-27 10:17:17,252 INFO L272 TraceCheckUtils]: 4: Hoare triple {2700#true} call #t~ret14 := main(); {2700#true} is VALID [2022-04-27 10:17:17,254 INFO L290 TraceCheckUtils]: 5: Hoare triple {2700#true} ~MAX~0 := (if #t~nondet4 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet4 % 4294967296 % 4294967296 else #t~nondet4 % 4294967296 % 4294967296 - 4294967296);havoc #t~nondet4; {2700#true} is VALID [2022-04-27 10:17:17,256 INFO L290 TraceCheckUtils]: 6: Hoare triple {2700#true} assume !!(~MAX~0 > 0); {2700#true} is VALID [2022-04-27 10:17:17,256 INFO L290 TraceCheckUtils]: 7: Hoare triple {2700#true} call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack(~MAX~0);call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(~MAX~0);havoc ~cont~0;havoc ~i~0;havoc ~j~0;~cont~0 := 0;~i~0 := 0; {2705#(= main_~i~0 0)} is VALID [2022-04-27 10:17:17,256 INFO L290 TraceCheckUtils]: 8: Hoare triple {2705#(= main_~i~0 0)} assume !!(~i~0 < ~MAX~0);assume -128 <= #t~nondet6 && #t~nondet6 <= 127;call write~int(#t~nondet6, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet6; {2705#(= main_~i~0 0)} is VALID [2022-04-27 10:17:17,257 INFO L290 TraceCheckUtils]: 9: Hoare triple {2705#(= main_~i~0 0)} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {2706#(<= main_~i~0 1)} is VALID [2022-04-27 10:17:17,257 INFO L290 TraceCheckUtils]: 10: Hoare triple {2706#(<= main_~i~0 1)} assume !(~i~0 < ~MAX~0); {2707#(<= main_~MAX~0 1)} is VALID [2022-04-27 10:17:17,258 INFO L290 TraceCheckUtils]: 11: Hoare triple {2707#(<= main_~MAX~0 1)} call write~int(0, ~#str1~0.base, ~#str1~0.offset + (~MAX~0 - 1), 1);~j~0 := 0;~i~0 := ~MAX~0 - 1; {2707#(<= main_~MAX~0 1)} is VALID [2022-04-27 10:17:17,258 INFO L290 TraceCheckUtils]: 12: Hoare triple {2707#(<= main_~MAX~0 1)} assume !!(~i~0 >= 0);call #t~mem8 := read~int(~#str1~0.base, ~#str1~0.offset, 1);call write~int(#t~mem8, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem8;#t~post9 := ~j~0;~j~0 := 1 + #t~post9;havoc #t~post9; {2707#(<= main_~MAX~0 1)} is VALID [2022-04-27 10:17:17,258 INFO L290 TraceCheckUtils]: 13: Hoare triple {2707#(<= main_~MAX~0 1)} #t~post7 := ~i~0;~i~0 := #t~post7 - 1;havoc #t~post7; {2707#(<= main_~MAX~0 1)} is VALID [2022-04-27 10:17:17,258 INFO L290 TraceCheckUtils]: 14: Hoare triple {2707#(<= main_~MAX~0 1)} assume !(~i~0 >= 0); {2707#(<= main_~MAX~0 1)} is VALID [2022-04-27 10:17:17,259 INFO L290 TraceCheckUtils]: 15: Hoare triple {2707#(<= main_~MAX~0 1)} ~j~0 := ~MAX~0 - 1;~i~0 := 0; {2708#(and (= main_~i~0 0) (<= main_~MAX~0 1))} is VALID [2022-04-27 10:17:17,259 INFO L290 TraceCheckUtils]: 16: Hoare triple {2708#(and (= main_~i~0 0) (<= main_~MAX~0 1))} assume !!(~i~0 < ~MAX~0);call #t~mem11 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem12 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {2708#(and (= main_~i~0 0) (<= main_~MAX~0 1))} is VALID [2022-04-27 10:17:17,259 INFO L272 TraceCheckUtils]: 17: Hoare triple {2708#(and (= main_~i~0 0) (<= main_~MAX~0 1))} call __VERIFIER_assert((if #t~mem11 == #t~mem12 then 1 else 0)); {2700#true} is VALID [2022-04-27 10:17:17,260 INFO L290 TraceCheckUtils]: 18: Hoare triple {2700#true} ~cond := #in~cond; {2700#true} is VALID [2022-04-27 10:17:17,260 INFO L290 TraceCheckUtils]: 19: Hoare triple {2700#true} assume !(0 == ~cond); {2700#true} is VALID [2022-04-27 10:17:17,260 INFO L290 TraceCheckUtils]: 20: Hoare triple {2700#true} assume true; {2700#true} is VALID [2022-04-27 10:17:17,260 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2700#true} {2708#(and (= main_~i~0 0) (<= main_~MAX~0 1))} #72#return; {2708#(and (= main_~i~0 0) (<= main_~MAX~0 1))} is VALID [2022-04-27 10:17:17,261 INFO L290 TraceCheckUtils]: 22: Hoare triple {2708#(and (= main_~i~0 0) (<= main_~MAX~0 1))} havoc #t~mem11;havoc #t~mem12;#t~post13 := ~j~0;~j~0 := #t~post13 - 1;havoc #t~post13; {2708#(and (= main_~i~0 0) (<= main_~MAX~0 1))} is VALID [2022-04-27 10:17:17,261 INFO L290 TraceCheckUtils]: 23: Hoare triple {2708#(and (= main_~i~0 0) (<= main_~MAX~0 1))} #t~post10 := ~i~0;~i~0 := 1 + #t~post10;havoc #t~post10; {2713#(<= main_~MAX~0 main_~i~0)} is VALID [2022-04-27 10:17:17,261 INFO L290 TraceCheckUtils]: 24: Hoare triple {2713#(<= main_~MAX~0 main_~i~0)} assume !!(~i~0 < ~MAX~0);call #t~mem11 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem12 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {2701#false} is VALID [2022-04-27 10:17:17,262 INFO L272 TraceCheckUtils]: 25: Hoare triple {2701#false} call __VERIFIER_assert((if #t~mem11 == #t~mem12 then 1 else 0)); {2701#false} is VALID [2022-04-27 10:17:17,262 INFO L290 TraceCheckUtils]: 26: Hoare triple {2701#false} ~cond := #in~cond; {2701#false} is VALID [2022-04-27 10:17:17,262 INFO L290 TraceCheckUtils]: 27: Hoare triple {2701#false} assume 0 == ~cond; {2701#false} is VALID [2022-04-27 10:17:17,262 INFO L290 TraceCheckUtils]: 28: Hoare triple {2701#false} assume !false; {2701#false} is VALID [2022-04-27 10:17:17,262 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 3 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-27 10:17:17,262 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 10:17:17,262 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [625981659] [2022-04-27 10:17:17,262 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [625981659] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 10:17:17,262 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1818239917] [2022-04-27 10:17:17,262 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:17:17,262 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 10:17:17,263 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 10:17:17,263 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 10:17:17,294 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-27 10:17:17,322 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:17:17,323 INFO L263 TraceCheckSpWp]: Trace formula consists of 138 conjuncts, 6 conjunts are in the unsatisfiable core [2022-04-27 10:17:17,334 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:17:17,334 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 10:17:17,488 INFO L272 TraceCheckUtils]: 0: Hoare triple {2700#true} call ULTIMATE.init(); {2700#true} is VALID [2022-04-27 10:17:17,488 INFO L290 TraceCheckUtils]: 1: Hoare triple {2700#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {2700#true} is VALID [2022-04-27 10:17:17,488 INFO L290 TraceCheckUtils]: 2: Hoare triple {2700#true} assume true; {2700#true} is VALID [2022-04-27 10:17:17,488 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2700#true} {2700#true} #74#return; {2700#true} is VALID [2022-04-27 10:17:17,488 INFO L272 TraceCheckUtils]: 4: Hoare triple {2700#true} call #t~ret14 := main(); {2700#true} is VALID [2022-04-27 10:17:17,492 INFO L290 TraceCheckUtils]: 5: Hoare triple {2700#true} ~MAX~0 := (if #t~nondet4 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet4 % 4294967296 % 4294967296 else #t~nondet4 % 4294967296 % 4294967296 - 4294967296);havoc #t~nondet4; {2700#true} is VALID [2022-04-27 10:17:17,492 INFO L290 TraceCheckUtils]: 6: Hoare triple {2700#true} assume !!(~MAX~0 > 0); {2700#true} is VALID [2022-04-27 10:17:17,493 INFO L290 TraceCheckUtils]: 7: Hoare triple {2700#true} call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack(~MAX~0);call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(~MAX~0);havoc ~cont~0;havoc ~i~0;havoc ~j~0;~cont~0 := 0;~i~0 := 0; {2739#(<= main_~i~0 0)} is VALID [2022-04-27 10:17:17,493 INFO L290 TraceCheckUtils]: 8: Hoare triple {2739#(<= main_~i~0 0)} assume !!(~i~0 < ~MAX~0);assume -128 <= #t~nondet6 && #t~nondet6 <= 127;call write~int(#t~nondet6, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet6; {2739#(<= main_~i~0 0)} is VALID [2022-04-27 10:17:17,494 INFO L290 TraceCheckUtils]: 9: Hoare triple {2739#(<= main_~i~0 0)} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {2706#(<= main_~i~0 1)} is VALID [2022-04-27 10:17:17,494 INFO L290 TraceCheckUtils]: 10: Hoare triple {2706#(<= main_~i~0 1)} assume !(~i~0 < ~MAX~0); {2707#(<= main_~MAX~0 1)} is VALID [2022-04-27 10:17:17,495 INFO L290 TraceCheckUtils]: 11: Hoare triple {2707#(<= main_~MAX~0 1)} call write~int(0, ~#str1~0.base, ~#str1~0.offset + (~MAX~0 - 1), 1);~j~0 := 0;~i~0 := ~MAX~0 - 1; {2707#(<= main_~MAX~0 1)} is VALID [2022-04-27 10:17:17,495 INFO L290 TraceCheckUtils]: 12: Hoare triple {2707#(<= main_~MAX~0 1)} assume !!(~i~0 >= 0);call #t~mem8 := read~int(~#str1~0.base, ~#str1~0.offset, 1);call write~int(#t~mem8, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem8;#t~post9 := ~j~0;~j~0 := 1 + #t~post9;havoc #t~post9; {2707#(<= main_~MAX~0 1)} is VALID [2022-04-27 10:17:17,495 INFO L290 TraceCheckUtils]: 13: Hoare triple {2707#(<= main_~MAX~0 1)} #t~post7 := ~i~0;~i~0 := #t~post7 - 1;havoc #t~post7; {2707#(<= main_~MAX~0 1)} is VALID [2022-04-27 10:17:17,496 INFO L290 TraceCheckUtils]: 14: Hoare triple {2707#(<= main_~MAX~0 1)} assume !(~i~0 >= 0); {2707#(<= main_~MAX~0 1)} is VALID [2022-04-27 10:17:17,496 INFO L290 TraceCheckUtils]: 15: Hoare triple {2707#(<= main_~MAX~0 1)} ~j~0 := ~MAX~0 - 1;~i~0 := 0; {2764#(and (<= 0 main_~i~0) (<= main_~MAX~0 1))} is VALID [2022-04-27 10:17:17,497 INFO L290 TraceCheckUtils]: 16: Hoare triple {2764#(and (<= 0 main_~i~0) (<= main_~MAX~0 1))} assume !!(~i~0 < ~MAX~0);call #t~mem11 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem12 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {2764#(and (<= 0 main_~i~0) (<= main_~MAX~0 1))} is VALID [2022-04-27 10:17:17,497 INFO L272 TraceCheckUtils]: 17: Hoare triple {2764#(and (<= 0 main_~i~0) (<= main_~MAX~0 1))} call __VERIFIER_assert((if #t~mem11 == #t~mem12 then 1 else 0)); {2700#true} is VALID [2022-04-27 10:17:17,497 INFO L290 TraceCheckUtils]: 18: Hoare triple {2700#true} ~cond := #in~cond; {2700#true} is VALID [2022-04-27 10:17:17,497 INFO L290 TraceCheckUtils]: 19: Hoare triple {2700#true} assume !(0 == ~cond); {2700#true} is VALID [2022-04-27 10:17:17,497 INFO L290 TraceCheckUtils]: 20: Hoare triple {2700#true} assume true; {2700#true} is VALID [2022-04-27 10:17:17,498 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2700#true} {2764#(and (<= 0 main_~i~0) (<= main_~MAX~0 1))} #72#return; {2764#(and (<= 0 main_~i~0) (<= main_~MAX~0 1))} is VALID [2022-04-27 10:17:17,498 INFO L290 TraceCheckUtils]: 22: Hoare triple {2764#(and (<= 0 main_~i~0) (<= main_~MAX~0 1))} havoc #t~mem11;havoc #t~mem12;#t~post13 := ~j~0;~j~0 := #t~post13 - 1;havoc #t~post13; {2764#(and (<= 0 main_~i~0) (<= main_~MAX~0 1))} is VALID [2022-04-27 10:17:17,499 INFO L290 TraceCheckUtils]: 23: Hoare triple {2764#(and (<= 0 main_~i~0) (<= main_~MAX~0 1))} #t~post10 := ~i~0;~i~0 := 1 + #t~post10;havoc #t~post10; {2789#(and (<= main_~MAX~0 1) (<= 1 main_~i~0))} is VALID [2022-04-27 10:17:17,500 INFO L290 TraceCheckUtils]: 24: Hoare triple {2789#(and (<= main_~MAX~0 1) (<= 1 main_~i~0))} assume !!(~i~0 < ~MAX~0);call #t~mem11 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem12 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {2701#false} is VALID [2022-04-27 10:17:17,500 INFO L272 TraceCheckUtils]: 25: Hoare triple {2701#false} call __VERIFIER_assert((if #t~mem11 == #t~mem12 then 1 else 0)); {2701#false} is VALID [2022-04-27 10:17:17,500 INFO L290 TraceCheckUtils]: 26: Hoare triple {2701#false} ~cond := #in~cond; {2701#false} is VALID [2022-04-27 10:17:17,500 INFO L290 TraceCheckUtils]: 27: Hoare triple {2701#false} assume 0 == ~cond; {2701#false} is VALID [2022-04-27 10:17:17,500 INFO L290 TraceCheckUtils]: 28: Hoare triple {2701#false} assume !false; {2701#false} is VALID [2022-04-27 10:17:17,500 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 4 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-27 10:17:17,500 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 10:17:17,620 INFO L290 TraceCheckUtils]: 28: Hoare triple {2701#false} assume !false; {2701#false} is VALID [2022-04-27 10:17:17,620 INFO L290 TraceCheckUtils]: 27: Hoare triple {2701#false} assume 0 == ~cond; {2701#false} is VALID [2022-04-27 10:17:17,620 INFO L290 TraceCheckUtils]: 26: Hoare triple {2701#false} ~cond := #in~cond; {2701#false} is VALID [2022-04-27 10:17:17,620 INFO L272 TraceCheckUtils]: 25: Hoare triple {2701#false} call __VERIFIER_assert((if #t~mem11 == #t~mem12 then 1 else 0)); {2701#false} is VALID [2022-04-27 10:17:17,621 INFO L290 TraceCheckUtils]: 24: Hoare triple {2713#(<= main_~MAX~0 main_~i~0)} assume !!(~i~0 < ~MAX~0);call #t~mem11 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem12 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {2701#false} is VALID [2022-04-27 10:17:17,621 INFO L290 TraceCheckUtils]: 23: Hoare triple {2820#(<= main_~MAX~0 (+ main_~i~0 1))} #t~post10 := ~i~0;~i~0 := 1 + #t~post10;havoc #t~post10; {2713#(<= main_~MAX~0 main_~i~0)} is VALID [2022-04-27 10:17:17,621 INFO L290 TraceCheckUtils]: 22: Hoare triple {2820#(<= main_~MAX~0 (+ main_~i~0 1))} havoc #t~mem11;havoc #t~mem12;#t~post13 := ~j~0;~j~0 := #t~post13 - 1;havoc #t~post13; {2820#(<= main_~MAX~0 (+ main_~i~0 1))} is VALID [2022-04-27 10:17:17,622 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2700#true} {2820#(<= main_~MAX~0 (+ main_~i~0 1))} #72#return; {2820#(<= main_~MAX~0 (+ main_~i~0 1))} is VALID [2022-04-27 10:17:17,622 INFO L290 TraceCheckUtils]: 20: Hoare triple {2700#true} assume true; {2700#true} is VALID [2022-04-27 10:17:17,622 INFO L290 TraceCheckUtils]: 19: Hoare triple {2700#true} assume !(0 == ~cond); {2700#true} is VALID [2022-04-27 10:17:17,622 INFO L290 TraceCheckUtils]: 18: Hoare triple {2700#true} ~cond := #in~cond; {2700#true} is VALID [2022-04-27 10:17:17,622 INFO L272 TraceCheckUtils]: 17: Hoare triple {2820#(<= main_~MAX~0 (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem11 == #t~mem12 then 1 else 0)); {2700#true} is VALID [2022-04-27 10:17:17,623 INFO L290 TraceCheckUtils]: 16: Hoare triple {2820#(<= main_~MAX~0 (+ main_~i~0 1))} assume !!(~i~0 < ~MAX~0);call #t~mem11 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem12 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {2820#(<= main_~MAX~0 (+ main_~i~0 1))} is VALID [2022-04-27 10:17:17,624 INFO L290 TraceCheckUtils]: 15: Hoare triple {2707#(<= main_~MAX~0 1)} ~j~0 := ~MAX~0 - 1;~i~0 := 0; {2820#(<= main_~MAX~0 (+ main_~i~0 1))} is VALID [2022-04-27 10:17:17,624 INFO L290 TraceCheckUtils]: 14: Hoare triple {2707#(<= main_~MAX~0 1)} assume !(~i~0 >= 0); {2707#(<= main_~MAX~0 1)} is VALID [2022-04-27 10:17:17,624 INFO L290 TraceCheckUtils]: 13: Hoare triple {2707#(<= main_~MAX~0 1)} #t~post7 := ~i~0;~i~0 := #t~post7 - 1;havoc #t~post7; {2707#(<= main_~MAX~0 1)} is VALID [2022-04-27 10:17:17,625 INFO L290 TraceCheckUtils]: 12: Hoare triple {2707#(<= main_~MAX~0 1)} assume !!(~i~0 >= 0);call #t~mem8 := read~int(~#str1~0.base, ~#str1~0.offset, 1);call write~int(#t~mem8, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem8;#t~post9 := ~j~0;~j~0 := 1 + #t~post9;havoc #t~post9; {2707#(<= main_~MAX~0 1)} is VALID [2022-04-27 10:17:17,625 INFO L290 TraceCheckUtils]: 11: Hoare triple {2707#(<= main_~MAX~0 1)} call write~int(0, ~#str1~0.base, ~#str1~0.offset + (~MAX~0 - 1), 1);~j~0 := 0;~i~0 := ~MAX~0 - 1; {2707#(<= main_~MAX~0 1)} is VALID [2022-04-27 10:17:17,625 INFO L290 TraceCheckUtils]: 10: Hoare triple {2706#(<= main_~i~0 1)} assume !(~i~0 < ~MAX~0); {2707#(<= main_~MAX~0 1)} is VALID [2022-04-27 10:17:17,626 INFO L290 TraceCheckUtils]: 9: Hoare triple {2739#(<= main_~i~0 0)} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {2706#(<= main_~i~0 1)} is VALID [2022-04-27 10:17:17,626 INFO L290 TraceCheckUtils]: 8: Hoare triple {2739#(<= main_~i~0 0)} assume !!(~i~0 < ~MAX~0);assume -128 <= #t~nondet6 && #t~nondet6 <= 127;call write~int(#t~nondet6, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet6; {2739#(<= main_~i~0 0)} is VALID [2022-04-27 10:17:17,626 INFO L290 TraceCheckUtils]: 7: Hoare triple {2700#true} call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack(~MAX~0);call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(~MAX~0);havoc ~cont~0;havoc ~i~0;havoc ~j~0;~cont~0 := 0;~i~0 := 0; {2739#(<= main_~i~0 0)} is VALID [2022-04-27 10:17:17,626 INFO L290 TraceCheckUtils]: 6: Hoare triple {2700#true} assume !!(~MAX~0 > 0); {2700#true} is VALID [2022-04-27 10:17:17,627 INFO L290 TraceCheckUtils]: 5: Hoare triple {2700#true} ~MAX~0 := (if #t~nondet4 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet4 % 4294967296 % 4294967296 else #t~nondet4 % 4294967296 % 4294967296 - 4294967296);havoc #t~nondet4; {2700#true} is VALID [2022-04-27 10:17:17,627 INFO L272 TraceCheckUtils]: 4: Hoare triple {2700#true} call #t~ret14 := main(); {2700#true} is VALID [2022-04-27 10:17:17,627 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2700#true} {2700#true} #74#return; {2700#true} is VALID [2022-04-27 10:17:17,627 INFO L290 TraceCheckUtils]: 2: Hoare triple {2700#true} assume true; {2700#true} is VALID [2022-04-27 10:17:17,627 INFO L290 TraceCheckUtils]: 1: Hoare triple {2700#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {2700#true} is VALID [2022-04-27 10:17:17,627 INFO L272 TraceCheckUtils]: 0: Hoare triple {2700#true} call ULTIMATE.init(); {2700#true} is VALID [2022-04-27 10:17:17,627 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 4 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-27 10:17:17,627 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1818239917] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 10:17:17,627 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 10:17:17,627 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7, 7] total 12 [2022-04-27 10:17:17,627 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1462161140] [2022-04-27 10:17:17,627 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 10:17:17,628 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 3.0) internal successors, (36), 11 states have internal predecessors, (36), 5 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Word has length 29 [2022-04-27 10:17:17,628 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 10:17:17,628 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 3.0) internal successors, (36), 11 states have internal predecessors, (36), 5 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-27 10:17:17,666 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:17:17,667 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-27 10:17:17,667 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 10:17:17,667 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-27 10:17:17,667 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=37, Invalid=95, Unknown=0, NotChecked=0, Total=132 [2022-04-27 10:17:17,668 INFO L87 Difference]: Start difference. First operand 71 states and 81 transitions. Second operand has 12 states, 12 states have (on average 3.0) internal successors, (36), 11 states have internal predecessors, (36), 5 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-27 10:17:18,255 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:17:18,255 INFO L93 Difference]: Finished difference Result 111 states and 129 transitions. [2022-04-27 10:17:18,255 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-27 10:17:18,255 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 3.0) internal successors, (36), 11 states have internal predecessors, (36), 5 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Word has length 29 [2022-04-27 10:17:18,256 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 10:17:18,256 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 3.0) internal successors, (36), 11 states have internal predecessors, (36), 5 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-27 10:17:18,257 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 65 transitions. [2022-04-27 10:17:18,258 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 3.0) internal successors, (36), 11 states have internal predecessors, (36), 5 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-27 10:17:18,259 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 65 transitions. [2022-04-27 10:17:18,259 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 65 transitions. [2022-04-27 10:17:18,321 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:17:18,322 INFO L225 Difference]: With dead ends: 111 [2022-04-27 10:17:18,322 INFO L226 Difference]: Without dead ends: 75 [2022-04-27 10:17:18,323 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 78 GetRequests, 57 SyntacticMatches, 1 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 98 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=123, Invalid=339, Unknown=0, NotChecked=0, Total=462 [2022-04-27 10:17:18,323 INFO L413 NwaCegarLoop]: 15 mSDtfsCounter, 45 mSDsluCounter, 32 mSDsCounter, 0 mSdLazyCounter, 150 mSolverCounterSat, 45 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 46 SdHoareTripleChecker+Valid, 47 SdHoareTripleChecker+Invalid, 195 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 45 IncrementalHoareTripleChecker+Valid, 150 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 10:17:18,324 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [46 Valid, 47 Invalid, 195 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [45 Valid, 150 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 10:17:18,324 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 75 states. [2022-04-27 10:17:18,419 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 75 to 67. [2022-04-27 10:17:18,419 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 10:17:18,419 INFO L82 GeneralOperation]: Start isEquivalent. First operand 75 states. Second operand has 67 states, 55 states have (on average 1.1454545454545455) internal successors, (63), 58 states have internal predecessors, (63), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 3 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-27 10:17:18,419 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand has 67 states, 55 states have (on average 1.1454545454545455) internal successors, (63), 58 states have internal predecessors, (63), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 3 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-27 10:17:18,420 INFO L87 Difference]: Start difference. First operand 75 states. Second operand has 67 states, 55 states have (on average 1.1454545454545455) internal successors, (63), 58 states have internal predecessors, (63), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 3 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-27 10:17:18,422 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:17:18,422 INFO L93 Difference]: Finished difference Result 75 states and 85 transitions. [2022-04-27 10:17:18,422 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 85 transitions. [2022-04-27 10:17:18,423 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:17:18,423 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:17:18,423 INFO L74 IsIncluded]: Start isIncluded. First operand has 67 states, 55 states have (on average 1.1454545454545455) internal successors, (63), 58 states have internal predecessors, (63), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 3 states have call predecessors, (5), 5 states have call successors, (5) Second operand 75 states. [2022-04-27 10:17:18,423 INFO L87 Difference]: Start difference. First operand has 67 states, 55 states have (on average 1.1454545454545455) internal successors, (63), 58 states have internal predecessors, (63), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 3 states have call predecessors, (5), 5 states have call successors, (5) Second operand 75 states. [2022-04-27 10:17:18,425 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:17:18,425 INFO L93 Difference]: Finished difference Result 75 states and 85 transitions. [2022-04-27 10:17:18,425 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 85 transitions. [2022-04-27 10:17:18,426 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:17:18,426 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:17:18,426 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 10:17:18,426 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 10:17:18,426 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 67 states, 55 states have (on average 1.1454545454545455) internal successors, (63), 58 states have internal predecessors, (63), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 3 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-27 10:17:18,428 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 67 states and 75 transitions. [2022-04-27 10:17:18,428 INFO L78 Accepts]: Start accepts. Automaton has 67 states and 75 transitions. Word has length 29 [2022-04-27 10:17:18,428 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 10:17:18,428 INFO L495 AbstractCegarLoop]: Abstraction has 67 states and 75 transitions. [2022-04-27 10:17:18,428 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 3.0) internal successors, (36), 11 states have internal predecessors, (36), 5 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-27 10:17:18,429 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 75 transitions. [2022-04-27 10:17:18,429 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2022-04-27 10:17:18,429 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 10:17:18,429 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 10:17:18,448 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-27 10:17:18,639 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 10:17:18,639 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 10:17:18,640 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 10:17:18,640 INFO L85 PathProgramCache]: Analyzing trace with hash -1154270004, now seen corresponding path program 5 times [2022-04-27 10:17:18,640 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 10:17:18,640 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1479931681] [2022-04-27 10:17:18,640 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:17:18,640 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 10:17:18,674 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:17:18,751 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 10:17:18,752 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:17:18,756 INFO L290 TraceCheckUtils]: 0: Hoare triple {3335#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {3323#true} is VALID [2022-04-27 10:17:18,757 INFO L290 TraceCheckUtils]: 1: Hoare triple {3323#true} assume true; {3323#true} is VALID [2022-04-27 10:17:18,757 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {3323#true} {3323#true} #74#return; {3323#true} is VALID [2022-04-27 10:17:18,757 INFO L272 TraceCheckUtils]: 0: Hoare triple {3323#true} call ULTIMATE.init(); {3335#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 10:17:18,757 INFO L290 TraceCheckUtils]: 1: Hoare triple {3335#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {3323#true} is VALID [2022-04-27 10:17:18,757 INFO L290 TraceCheckUtils]: 2: Hoare triple {3323#true} assume true; {3323#true} is VALID [2022-04-27 10:17:18,757 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3323#true} {3323#true} #74#return; {3323#true} is VALID [2022-04-27 10:17:18,758 INFO L272 TraceCheckUtils]: 4: Hoare triple {3323#true} call #t~ret14 := main(); {3323#true} is VALID [2022-04-27 10:17:18,758 INFO L290 TraceCheckUtils]: 5: Hoare triple {3323#true} ~MAX~0 := (if #t~nondet4 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet4 % 4294967296 % 4294967296 else #t~nondet4 % 4294967296 % 4294967296 - 4294967296);havoc #t~nondet4; {3323#true} is VALID [2022-04-27 10:17:18,758 INFO L290 TraceCheckUtils]: 6: Hoare triple {3323#true} assume !!(~MAX~0 > 0); {3323#true} is VALID [2022-04-27 10:17:18,758 INFO L290 TraceCheckUtils]: 7: Hoare triple {3323#true} call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack(~MAX~0);call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(~MAX~0);havoc ~cont~0;havoc ~i~0;havoc ~j~0;~cont~0 := 0;~i~0 := 0; {3328#(= main_~i~0 0)} is VALID [2022-04-27 10:17:18,758 INFO L290 TraceCheckUtils]: 8: Hoare triple {3328#(= main_~i~0 0)} assume !!(~i~0 < ~MAX~0);assume -128 <= #t~nondet6 && #t~nondet6 <= 127;call write~int(#t~nondet6, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet6; {3328#(= main_~i~0 0)} is VALID [2022-04-27 10:17:18,759 INFO L290 TraceCheckUtils]: 9: Hoare triple {3328#(= main_~i~0 0)} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {3329#(<= main_~i~0 1)} is VALID [2022-04-27 10:17:18,759 INFO L290 TraceCheckUtils]: 10: Hoare triple {3329#(<= main_~i~0 1)} assume !!(~i~0 < ~MAX~0);assume -128 <= #t~nondet6 && #t~nondet6 <= 127;call write~int(#t~nondet6, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet6; {3329#(<= main_~i~0 1)} is VALID [2022-04-27 10:17:18,760 INFO L290 TraceCheckUtils]: 11: Hoare triple {3329#(<= main_~i~0 1)} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {3330#(<= main_~i~0 2)} is VALID [2022-04-27 10:17:18,760 INFO L290 TraceCheckUtils]: 12: Hoare triple {3330#(<= main_~i~0 2)} assume !!(~i~0 < ~MAX~0);assume -128 <= #t~nondet6 && #t~nondet6 <= 127;call write~int(#t~nondet6, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet6; {3330#(<= main_~i~0 2)} is VALID [2022-04-27 10:17:18,760 INFO L290 TraceCheckUtils]: 13: Hoare triple {3330#(<= main_~i~0 2)} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {3331#(<= main_~i~0 3)} is VALID [2022-04-27 10:17:18,761 INFO L290 TraceCheckUtils]: 14: Hoare triple {3331#(<= main_~i~0 3)} assume !(~i~0 < ~MAX~0); {3332#(<= main_~MAX~0 3)} is VALID [2022-04-27 10:17:18,762 INFO L290 TraceCheckUtils]: 15: Hoare triple {3332#(<= main_~MAX~0 3)} call write~int(0, ~#str1~0.base, ~#str1~0.offset + (~MAX~0 - 1), 1);~j~0 := 0;~i~0 := ~MAX~0 - 1; {3330#(<= main_~i~0 2)} is VALID [2022-04-27 10:17:18,763 INFO L290 TraceCheckUtils]: 16: Hoare triple {3330#(<= main_~i~0 2)} assume !!(~i~0 >= 0);call #t~mem8 := read~int(~#str1~0.base, ~#str1~0.offset, 1);call write~int(#t~mem8, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem8;#t~post9 := ~j~0;~j~0 := 1 + #t~post9;havoc #t~post9; {3330#(<= main_~i~0 2)} is VALID [2022-04-27 10:17:18,763 INFO L290 TraceCheckUtils]: 17: Hoare triple {3330#(<= main_~i~0 2)} #t~post7 := ~i~0;~i~0 := #t~post7 - 1;havoc #t~post7; {3329#(<= main_~i~0 1)} is VALID [2022-04-27 10:17:18,763 INFO L290 TraceCheckUtils]: 18: Hoare triple {3329#(<= main_~i~0 1)} assume !!(~i~0 >= 0);call #t~mem8 := read~int(~#str1~0.base, ~#str1~0.offset, 1);call write~int(#t~mem8, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem8;#t~post9 := ~j~0;~j~0 := 1 + #t~post9;havoc #t~post9; {3329#(<= main_~i~0 1)} is VALID [2022-04-27 10:17:18,764 INFO L290 TraceCheckUtils]: 19: Hoare triple {3329#(<= main_~i~0 1)} #t~post7 := ~i~0;~i~0 := #t~post7 - 1;havoc #t~post7; {3333#(<= main_~i~0 0)} is VALID [2022-04-27 10:17:18,764 INFO L290 TraceCheckUtils]: 20: Hoare triple {3333#(<= main_~i~0 0)} assume !!(~i~0 >= 0);call #t~mem8 := read~int(~#str1~0.base, ~#str1~0.offset, 1);call write~int(#t~mem8, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem8;#t~post9 := ~j~0;~j~0 := 1 + #t~post9;havoc #t~post9; {3333#(<= main_~i~0 0)} is VALID [2022-04-27 10:17:18,765 INFO L290 TraceCheckUtils]: 21: Hoare triple {3333#(<= main_~i~0 0)} #t~post7 := ~i~0;~i~0 := #t~post7 - 1;havoc #t~post7; {3334#(<= (+ main_~i~0 1) 0)} is VALID [2022-04-27 10:17:18,765 INFO L290 TraceCheckUtils]: 22: Hoare triple {3334#(<= (+ main_~i~0 1) 0)} assume !!(~i~0 >= 0);call #t~mem8 := read~int(~#str1~0.base, ~#str1~0.offset, 1);call write~int(#t~mem8, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem8;#t~post9 := ~j~0;~j~0 := 1 + #t~post9;havoc #t~post9; {3324#false} is VALID [2022-04-27 10:17:18,765 INFO L290 TraceCheckUtils]: 23: Hoare triple {3324#false} #t~post7 := ~i~0;~i~0 := #t~post7 - 1;havoc #t~post7; {3324#false} is VALID [2022-04-27 10:17:18,765 INFO L290 TraceCheckUtils]: 24: Hoare triple {3324#false} assume !(~i~0 >= 0); {3324#false} is VALID [2022-04-27 10:17:18,766 INFO L290 TraceCheckUtils]: 25: Hoare triple {3324#false} ~j~0 := ~MAX~0 - 1;~i~0 := 0; {3324#false} is VALID [2022-04-27 10:17:18,766 INFO L290 TraceCheckUtils]: 26: Hoare triple {3324#false} assume !!(~i~0 < ~MAX~0);call #t~mem11 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem12 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {3324#false} is VALID [2022-04-27 10:17:18,766 INFO L272 TraceCheckUtils]: 27: Hoare triple {3324#false} call __VERIFIER_assert((if #t~mem11 == #t~mem12 then 1 else 0)); {3324#false} is VALID [2022-04-27 10:17:18,766 INFO L290 TraceCheckUtils]: 28: Hoare triple {3324#false} ~cond := #in~cond; {3324#false} is VALID [2022-04-27 10:17:18,766 INFO L290 TraceCheckUtils]: 29: Hoare triple {3324#false} assume 0 == ~cond; {3324#false} is VALID [2022-04-27 10:17:18,766 INFO L290 TraceCheckUtils]: 30: Hoare triple {3324#false} assume !false; {3324#false} is VALID [2022-04-27 10:17:18,766 INFO L134 CoverageAnalysis]: Checked inductivity of 25 backedges. 16 proven. 9 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 10:17:18,766 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 10:17:18,766 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1479931681] [2022-04-27 10:17:18,766 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1479931681] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 10:17:18,766 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [205763824] [2022-04-27 10:17:18,767 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-04-27 10:17:18,767 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 10:17:18,767 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 10:17:18,768 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 10:17:18,769 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-27 10:17:18,832 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 5 check-sat command(s) [2022-04-27 10:17:18,832 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 10:17:18,833 INFO L263 TraceCheckSpWp]: Trace formula consists of 165 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-27 10:17:18,843 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:17:18,844 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 10:17:18,962 INFO L272 TraceCheckUtils]: 0: Hoare triple {3323#true} call ULTIMATE.init(); {3323#true} is VALID [2022-04-27 10:17:18,963 INFO L290 TraceCheckUtils]: 1: Hoare triple {3323#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {3323#true} is VALID [2022-04-27 10:17:18,963 INFO L290 TraceCheckUtils]: 2: Hoare triple {3323#true} assume true; {3323#true} is VALID [2022-04-27 10:17:18,963 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3323#true} {3323#true} #74#return; {3323#true} is VALID [2022-04-27 10:17:18,963 INFO L272 TraceCheckUtils]: 4: Hoare triple {3323#true} call #t~ret14 := main(); {3323#true} is VALID [2022-04-27 10:17:18,963 INFO L290 TraceCheckUtils]: 5: Hoare triple {3323#true} ~MAX~0 := (if #t~nondet4 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet4 % 4294967296 % 4294967296 else #t~nondet4 % 4294967296 % 4294967296 - 4294967296);havoc #t~nondet4; {3323#true} is VALID [2022-04-27 10:17:18,963 INFO L290 TraceCheckUtils]: 6: Hoare triple {3323#true} assume !!(~MAX~0 > 0); {3323#true} is VALID [2022-04-27 10:17:18,963 INFO L290 TraceCheckUtils]: 7: Hoare triple {3323#true} call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack(~MAX~0);call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(~MAX~0);havoc ~cont~0;havoc ~i~0;havoc ~j~0;~cont~0 := 0;~i~0 := 0; {3333#(<= main_~i~0 0)} is VALID [2022-04-27 10:17:18,964 INFO L290 TraceCheckUtils]: 8: Hoare triple {3333#(<= main_~i~0 0)} assume !!(~i~0 < ~MAX~0);assume -128 <= #t~nondet6 && #t~nondet6 <= 127;call write~int(#t~nondet6, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet6; {3333#(<= main_~i~0 0)} is VALID [2022-04-27 10:17:18,964 INFO L290 TraceCheckUtils]: 9: Hoare triple {3333#(<= main_~i~0 0)} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {3329#(<= main_~i~0 1)} is VALID [2022-04-27 10:17:18,964 INFO L290 TraceCheckUtils]: 10: Hoare triple {3329#(<= main_~i~0 1)} assume !!(~i~0 < ~MAX~0);assume -128 <= #t~nondet6 && #t~nondet6 <= 127;call write~int(#t~nondet6, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet6; {3329#(<= main_~i~0 1)} is VALID [2022-04-27 10:17:18,965 INFO L290 TraceCheckUtils]: 11: Hoare triple {3329#(<= main_~i~0 1)} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {3330#(<= main_~i~0 2)} is VALID [2022-04-27 10:17:18,967 INFO L290 TraceCheckUtils]: 12: Hoare triple {3330#(<= main_~i~0 2)} assume !!(~i~0 < ~MAX~0);assume -128 <= #t~nondet6 && #t~nondet6 <= 127;call write~int(#t~nondet6, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet6; {3330#(<= main_~i~0 2)} is VALID [2022-04-27 10:17:18,967 INFO L290 TraceCheckUtils]: 13: Hoare triple {3330#(<= main_~i~0 2)} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {3331#(<= main_~i~0 3)} is VALID [2022-04-27 10:17:18,967 INFO L290 TraceCheckUtils]: 14: Hoare triple {3331#(<= main_~i~0 3)} assume !(~i~0 < ~MAX~0); {3332#(<= main_~MAX~0 3)} is VALID [2022-04-27 10:17:18,968 INFO L290 TraceCheckUtils]: 15: Hoare triple {3332#(<= main_~MAX~0 3)} call write~int(0, ~#str1~0.base, ~#str1~0.offset + (~MAX~0 - 1), 1);~j~0 := 0;~i~0 := ~MAX~0 - 1; {3330#(<= main_~i~0 2)} is VALID [2022-04-27 10:17:18,968 INFO L290 TraceCheckUtils]: 16: Hoare triple {3330#(<= main_~i~0 2)} assume !!(~i~0 >= 0);call #t~mem8 := read~int(~#str1~0.base, ~#str1~0.offset, 1);call write~int(#t~mem8, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem8;#t~post9 := ~j~0;~j~0 := 1 + #t~post9;havoc #t~post9; {3330#(<= main_~i~0 2)} is VALID [2022-04-27 10:17:18,968 INFO L290 TraceCheckUtils]: 17: Hoare triple {3330#(<= main_~i~0 2)} #t~post7 := ~i~0;~i~0 := #t~post7 - 1;havoc #t~post7; {3329#(<= main_~i~0 1)} is VALID [2022-04-27 10:17:18,970 INFO L290 TraceCheckUtils]: 18: Hoare triple {3329#(<= main_~i~0 1)} assume !!(~i~0 >= 0);call #t~mem8 := read~int(~#str1~0.base, ~#str1~0.offset, 1);call write~int(#t~mem8, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem8;#t~post9 := ~j~0;~j~0 := 1 + #t~post9;havoc #t~post9; {3329#(<= main_~i~0 1)} is VALID [2022-04-27 10:17:18,970 INFO L290 TraceCheckUtils]: 19: Hoare triple {3329#(<= main_~i~0 1)} #t~post7 := ~i~0;~i~0 := #t~post7 - 1;havoc #t~post7; {3333#(<= main_~i~0 0)} is VALID [2022-04-27 10:17:18,971 INFO L290 TraceCheckUtils]: 20: Hoare triple {3333#(<= main_~i~0 0)} assume !!(~i~0 >= 0);call #t~mem8 := read~int(~#str1~0.base, ~#str1~0.offset, 1);call write~int(#t~mem8, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem8;#t~post9 := ~j~0;~j~0 := 1 + #t~post9;havoc #t~post9; {3333#(<= main_~i~0 0)} is VALID [2022-04-27 10:17:18,971 INFO L290 TraceCheckUtils]: 21: Hoare triple {3333#(<= main_~i~0 0)} #t~post7 := ~i~0;~i~0 := #t~post7 - 1;havoc #t~post7; {3334#(<= (+ main_~i~0 1) 0)} is VALID [2022-04-27 10:17:18,971 INFO L290 TraceCheckUtils]: 22: Hoare triple {3334#(<= (+ main_~i~0 1) 0)} assume !!(~i~0 >= 0);call #t~mem8 := read~int(~#str1~0.base, ~#str1~0.offset, 1);call write~int(#t~mem8, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem8;#t~post9 := ~j~0;~j~0 := 1 + #t~post9;havoc #t~post9; {3324#false} is VALID [2022-04-27 10:17:18,972 INFO L290 TraceCheckUtils]: 23: Hoare triple {3324#false} #t~post7 := ~i~0;~i~0 := #t~post7 - 1;havoc #t~post7; {3324#false} is VALID [2022-04-27 10:17:18,972 INFO L290 TraceCheckUtils]: 24: Hoare triple {3324#false} assume !(~i~0 >= 0); {3324#false} is VALID [2022-04-27 10:17:18,972 INFO L290 TraceCheckUtils]: 25: Hoare triple {3324#false} ~j~0 := ~MAX~0 - 1;~i~0 := 0; {3324#false} is VALID [2022-04-27 10:17:18,972 INFO L290 TraceCheckUtils]: 26: Hoare triple {3324#false} assume !!(~i~0 < ~MAX~0);call #t~mem11 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem12 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {3324#false} is VALID [2022-04-27 10:17:18,972 INFO L272 TraceCheckUtils]: 27: Hoare triple {3324#false} call __VERIFIER_assert((if #t~mem11 == #t~mem12 then 1 else 0)); {3324#false} is VALID [2022-04-27 10:17:18,972 INFO L290 TraceCheckUtils]: 28: Hoare triple {3324#false} ~cond := #in~cond; {3324#false} is VALID [2022-04-27 10:17:18,972 INFO L290 TraceCheckUtils]: 29: Hoare triple {3324#false} assume 0 == ~cond; {3324#false} is VALID [2022-04-27 10:17:18,972 INFO L290 TraceCheckUtils]: 30: Hoare triple {3324#false} assume !false; {3324#false} is VALID [2022-04-27 10:17:18,972 INFO L134 CoverageAnalysis]: Checked inductivity of 25 backedges. 16 proven. 9 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 10:17:18,972 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 10:17:19,119 INFO L290 TraceCheckUtils]: 30: Hoare triple {3324#false} assume !false; {3324#false} is VALID [2022-04-27 10:17:19,119 INFO L290 TraceCheckUtils]: 29: Hoare triple {3324#false} assume 0 == ~cond; {3324#false} is VALID [2022-04-27 10:17:19,119 INFO L290 TraceCheckUtils]: 28: Hoare triple {3324#false} ~cond := #in~cond; {3324#false} is VALID [2022-04-27 10:17:19,119 INFO L272 TraceCheckUtils]: 27: Hoare triple {3324#false} call __VERIFIER_assert((if #t~mem11 == #t~mem12 then 1 else 0)); {3324#false} is VALID [2022-04-27 10:17:19,119 INFO L290 TraceCheckUtils]: 26: Hoare triple {3324#false} assume !!(~i~0 < ~MAX~0);call #t~mem11 := read~int(~#str1~0.base, ~#str1~0.offset + ~i~0, 1);call #t~mem12 := read~int(~#str2~0.base, ~#str2~0.offset + ~j~0, 1); {3324#false} is VALID [2022-04-27 10:17:19,119 INFO L290 TraceCheckUtils]: 25: Hoare triple {3324#false} ~j~0 := ~MAX~0 - 1;~i~0 := 0; {3324#false} is VALID [2022-04-27 10:17:19,119 INFO L290 TraceCheckUtils]: 24: Hoare triple {3324#false} assume !(~i~0 >= 0); {3324#false} is VALID [2022-04-27 10:17:19,119 INFO L290 TraceCheckUtils]: 23: Hoare triple {3324#false} #t~post7 := ~i~0;~i~0 := #t~post7 - 1;havoc #t~post7; {3324#false} is VALID [2022-04-27 10:17:19,120 INFO L290 TraceCheckUtils]: 22: Hoare triple {3334#(<= (+ main_~i~0 1) 0)} assume !!(~i~0 >= 0);call #t~mem8 := read~int(~#str1~0.base, ~#str1~0.offset, 1);call write~int(#t~mem8, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem8;#t~post9 := ~j~0;~j~0 := 1 + #t~post9;havoc #t~post9; {3324#false} is VALID [2022-04-27 10:17:19,120 INFO L290 TraceCheckUtils]: 21: Hoare triple {3333#(<= main_~i~0 0)} #t~post7 := ~i~0;~i~0 := #t~post7 - 1;havoc #t~post7; {3334#(<= (+ main_~i~0 1) 0)} is VALID [2022-04-27 10:17:19,120 INFO L290 TraceCheckUtils]: 20: Hoare triple {3333#(<= main_~i~0 0)} assume !!(~i~0 >= 0);call #t~mem8 := read~int(~#str1~0.base, ~#str1~0.offset, 1);call write~int(#t~mem8, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem8;#t~post9 := ~j~0;~j~0 := 1 + #t~post9;havoc #t~post9; {3333#(<= main_~i~0 0)} is VALID [2022-04-27 10:17:19,121 INFO L290 TraceCheckUtils]: 19: Hoare triple {3329#(<= main_~i~0 1)} #t~post7 := ~i~0;~i~0 := #t~post7 - 1;havoc #t~post7; {3333#(<= main_~i~0 0)} is VALID [2022-04-27 10:17:19,121 INFO L290 TraceCheckUtils]: 18: Hoare triple {3329#(<= main_~i~0 1)} assume !!(~i~0 >= 0);call #t~mem8 := read~int(~#str1~0.base, ~#str1~0.offset, 1);call write~int(#t~mem8, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem8;#t~post9 := ~j~0;~j~0 := 1 + #t~post9;havoc #t~post9; {3329#(<= main_~i~0 1)} is VALID [2022-04-27 10:17:19,121 INFO L290 TraceCheckUtils]: 17: Hoare triple {3330#(<= main_~i~0 2)} #t~post7 := ~i~0;~i~0 := #t~post7 - 1;havoc #t~post7; {3329#(<= main_~i~0 1)} is VALID [2022-04-27 10:17:19,122 INFO L290 TraceCheckUtils]: 16: Hoare triple {3330#(<= main_~i~0 2)} assume !!(~i~0 >= 0);call #t~mem8 := read~int(~#str1~0.base, ~#str1~0.offset, 1);call write~int(#t~mem8, ~#str2~0.base, ~#str2~0.offset + ~j~0, 1);havoc #t~mem8;#t~post9 := ~j~0;~j~0 := 1 + #t~post9;havoc #t~post9; {3330#(<= main_~i~0 2)} is VALID [2022-04-27 10:17:19,122 INFO L290 TraceCheckUtils]: 15: Hoare triple {3332#(<= main_~MAX~0 3)} call write~int(0, ~#str1~0.base, ~#str1~0.offset + (~MAX~0 - 1), 1);~j~0 := 0;~i~0 := ~MAX~0 - 1; {3330#(<= main_~i~0 2)} is VALID [2022-04-27 10:17:19,122 INFO L290 TraceCheckUtils]: 14: Hoare triple {3331#(<= main_~i~0 3)} assume !(~i~0 < ~MAX~0); {3332#(<= main_~MAX~0 3)} is VALID [2022-04-27 10:17:19,123 INFO L290 TraceCheckUtils]: 13: Hoare triple {3330#(<= main_~i~0 2)} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {3331#(<= main_~i~0 3)} is VALID [2022-04-27 10:17:19,123 INFO L290 TraceCheckUtils]: 12: Hoare triple {3330#(<= main_~i~0 2)} assume !!(~i~0 < ~MAX~0);assume -128 <= #t~nondet6 && #t~nondet6 <= 127;call write~int(#t~nondet6, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet6; {3330#(<= main_~i~0 2)} is VALID [2022-04-27 10:17:19,123 INFO L290 TraceCheckUtils]: 11: Hoare triple {3329#(<= main_~i~0 1)} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {3330#(<= main_~i~0 2)} is VALID [2022-04-27 10:17:19,124 INFO L290 TraceCheckUtils]: 10: Hoare triple {3329#(<= main_~i~0 1)} assume !!(~i~0 < ~MAX~0);assume -128 <= #t~nondet6 && #t~nondet6 <= 127;call write~int(#t~nondet6, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet6; {3329#(<= main_~i~0 1)} is VALID [2022-04-27 10:17:19,124 INFO L290 TraceCheckUtils]: 9: Hoare triple {3333#(<= main_~i~0 0)} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {3329#(<= main_~i~0 1)} is VALID [2022-04-27 10:17:19,124 INFO L290 TraceCheckUtils]: 8: Hoare triple {3333#(<= main_~i~0 0)} assume !!(~i~0 < ~MAX~0);assume -128 <= #t~nondet6 && #t~nondet6 <= 127;call write~int(#t~nondet6, ~#str1~0.base, ~#str1~0.offset + ~i~0, 1);havoc #t~nondet6; {3333#(<= main_~i~0 0)} is VALID [2022-04-27 10:17:19,125 INFO L290 TraceCheckUtils]: 7: Hoare triple {3323#true} call ~#str1~0.base, ~#str1~0.offset := #Ultimate.allocOnStack(~MAX~0);call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(~MAX~0);havoc ~cont~0;havoc ~i~0;havoc ~j~0;~cont~0 := 0;~i~0 := 0; {3333#(<= main_~i~0 0)} is VALID [2022-04-27 10:17:19,125 INFO L290 TraceCheckUtils]: 6: Hoare triple {3323#true} assume !!(~MAX~0 > 0); {3323#true} is VALID [2022-04-27 10:17:19,125 INFO L290 TraceCheckUtils]: 5: Hoare triple {3323#true} ~MAX~0 := (if #t~nondet4 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet4 % 4294967296 % 4294967296 else #t~nondet4 % 4294967296 % 4294967296 - 4294967296);havoc #t~nondet4; {3323#true} is VALID [2022-04-27 10:17:19,125 INFO L272 TraceCheckUtils]: 4: Hoare triple {3323#true} call #t~ret14 := main(); {3323#true} is VALID [2022-04-27 10:17:19,125 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3323#true} {3323#true} #74#return; {3323#true} is VALID [2022-04-27 10:17:19,125 INFO L290 TraceCheckUtils]: 2: Hoare triple {3323#true} assume true; {3323#true} is VALID [2022-04-27 10:17:19,125 INFO L290 TraceCheckUtils]: 1: Hoare triple {3323#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {3323#true} is VALID [2022-04-27 10:17:19,125 INFO L272 TraceCheckUtils]: 0: Hoare triple {3323#true} call ULTIMATE.init(); {3323#true} is VALID [2022-04-27 10:17:19,125 INFO L134 CoverageAnalysis]: Checked inductivity of 25 backedges. 16 proven. 9 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 10:17:19,126 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [205763824] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 10:17:19,126 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 10:17:19,126 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 8, 8] total 10 [2022-04-27 10:17:19,126 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2067302863] [2022-04-27 10:17:19,126 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 10:17:19,126 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 31 [2022-04-27 10:17:19,127 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 10:17:19,127 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:19,151 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:17:19,151 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-27 10:17:19,151 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 10:17:19,151 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-27 10:17:19,151 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=59, Unknown=0, NotChecked=0, Total=90 [2022-04-27 10:17:19,151 INFO L87 Difference]: Start difference. First operand 67 states and 75 transitions. Second operand has 10 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:19,826 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:17:19,826 INFO L93 Difference]: Finished difference Result 128 states and 146 transitions. [2022-04-27 10:17:19,826 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-27 10:17:19,827 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 31 [2022-04-27 10:17:19,827 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 10:17:19,827 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:19,829 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 98 transitions. [2022-04-27 10:17:19,829 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:19,841 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 98 transitions. [2022-04-27 10:17:19,842 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 98 transitions. [2022-04-27 10:17:19,910 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 98 edges. 98 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:17:19,912 INFO L225 Difference]: With dead ends: 128 [2022-04-27 10:17:19,912 INFO L226 Difference]: Without dead ends: 106 [2022-04-27 10:17:19,913 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 85 GetRequests, 65 SyntacticMatches, 1 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 75 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=146, Invalid=274, Unknown=0, NotChecked=0, Total=420 [2022-04-27 10:17:19,913 INFO L413 NwaCegarLoop]: 15 mSDtfsCounter, 74 mSDsluCounter, 27 mSDsCounter, 0 mSdLazyCounter, 160 mSolverCounterSat, 66 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 75 SdHoareTripleChecker+Valid, 42 SdHoareTripleChecker+Invalid, 226 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 66 IncrementalHoareTripleChecker+Valid, 160 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-27 10:17:19,913 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [75 Valid, 42 Invalid, 226 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [66 Valid, 160 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-27 10:17:19,914 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 106 states. [2022-04-27 10:17:20,058 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 106 to 75. [2022-04-27 10:17:20,058 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 10:17:20,059 INFO L82 GeneralOperation]: Start isEquivalent. First operand 106 states. Second operand has 75 states, 63 states have (on average 1.1111111111111112) internal successors, (70), 66 states have internal predecessors, (70), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 3 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-27 10:17:20,059 INFO L74 IsIncluded]: Start isIncluded. First operand 106 states. Second operand has 75 states, 63 states have (on average 1.1111111111111112) internal successors, (70), 66 states have internal predecessors, (70), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 3 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-27 10:17:20,059 INFO L87 Difference]: Start difference. First operand 106 states. Second operand has 75 states, 63 states have (on average 1.1111111111111112) internal successors, (70), 66 states have internal predecessors, (70), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 3 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-27 10:17:20,063 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:17:20,063 INFO L93 Difference]: Finished difference Result 106 states and 120 transitions. [2022-04-27 10:17:20,063 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 120 transitions. [2022-04-27 10:17:20,063 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:17:20,063 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:17:20,064 INFO L74 IsIncluded]: Start isIncluded. First operand has 75 states, 63 states have (on average 1.1111111111111112) internal successors, (70), 66 states have internal predecessors, (70), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 3 states have call predecessors, (5), 5 states have call successors, (5) Second operand 106 states. [2022-04-27 10:17:20,064 INFO L87 Difference]: Start difference. First operand has 75 states, 63 states have (on average 1.1111111111111112) internal successors, (70), 66 states have internal predecessors, (70), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 3 states have call predecessors, (5), 5 states have call successors, (5) Second operand 106 states. [2022-04-27 10:17:20,066 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:17:20,066 INFO L93 Difference]: Finished difference Result 106 states and 120 transitions. [2022-04-27 10:17:20,067 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 120 transitions. [2022-04-27 10:17:20,067 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:17:20,067 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:17:20,067 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 10:17:20,067 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 10:17:20,067 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 75 states, 63 states have (on average 1.1111111111111112) internal successors, (70), 66 states have internal predecessors, (70), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 3 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-27 10:17:20,069 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 75 states to 75 states and 82 transitions. [2022-04-27 10:17:20,069 INFO L78 Accepts]: Start accepts. Automaton has 75 states and 82 transitions. Word has length 31 [2022-04-27 10:17:20,069 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 10:17:20,069 INFO L495 AbstractCegarLoop]: Abstraction has 75 states and 82 transitions. [2022-04-27 10:17:20,069 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:20,069 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 82 transitions. [2022-04-27 10:17:20,070 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-27 10:17:20,070 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 10:17:20,070 INFO L195 NwaCegarLoop]: 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] [2022-04-27 10:17:20,093 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-27 10:17:20,283 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 10:17:20,283 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 10:17:20,284 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 10:17:20,284 INFO L85 PathProgramCache]: Analyzing trace with hash 1181909964, now seen corresponding path program 2 times [2022-04-27 10:17:20,284 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 10:17:20,284 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [336415673] [2022-04-27 10:17:20,284 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:17:20,284 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 10:17:20,316 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-04-27 10:17:20,316 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-04-27 10:17:20,344 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-04-27 10:17:20,363 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-04-27 10:17:20,365 INFO L271 BasicCegarLoop]: Counterexample is feasible [2022-04-27 10:17:20,366 INFO L805 garLoopResultBuilder]: Registering result UNSAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-27 10:17:20,367 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9 [2022-04-27 10:17:20,370 INFO L356 BasicCegarLoop]: Path program histogram: [5, 2, 1, 1, 1] [2022-04-27 10:17:20,374 INFO L176 ceAbstractionStarter]: Computing trace abstraction results [2022-04-27 10:17:20,421 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-27 10:17:20,421 WARN L170 areAnnotationChecker]: ULTIMATE.initENTRY has no Hoare annotation [2022-04-27 10:17:20,421 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2022-04-27 10:17:20,421 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2022-04-27 10:17:20,421 WARN L170 areAnnotationChecker]: mainENTRY has no Hoare annotation [2022-04-27 10:17:20,421 WARN L170 areAnnotationChecker]: __VERIFIER_assertENTRY has no Hoare annotation [2022-04-27 10:17:20,422 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-27 10:17:20,422 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-27 10:17:20,422 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2022-04-27 10:17:20,422 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2022-04-27 10:17:20,422 WARN L170 areAnnotationChecker]: L17 has no Hoare annotation [2022-04-27 10:17:20,422 WARN L170 areAnnotationChecker]: L17 has no Hoare annotation [2022-04-27 10:17:20,422 WARN L170 areAnnotationChecker]: L7 has no Hoare annotation [2022-04-27 10:17:20,422 WARN L170 areAnnotationChecker]: L7 has no Hoare annotation [2022-04-27 10:17:20,422 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2022-04-27 10:17:20,422 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-27 10:17:20,422 WARN L170 areAnnotationChecker]: L17-2 has no Hoare annotation [2022-04-27 10:17:20,422 WARN L170 areAnnotationChecker]: L8 has no Hoare annotation [2022-04-27 10:17:20,422 WARN L170 areAnnotationChecker]: L8 has no Hoare annotation [2022-04-27 10:17:20,422 WARN L170 areAnnotationChecker]: L7-2 has no Hoare annotation [2022-04-27 10:17:20,422 WARN L170 areAnnotationChecker]: L22-3 has no Hoare annotation [2022-04-27 10:17:20,422 WARN L170 areAnnotationChecker]: L22-3 has no Hoare annotation [2022-04-27 10:17:20,422 WARN L170 areAnnotationChecker]: L22-3 has no Hoare annotation [2022-04-27 10:17:20,423 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 10:17:20,423 WARN L170 areAnnotationChecker]: L22-4 has no Hoare annotation [2022-04-27 10:17:20,423 WARN L170 areAnnotationChecker]: L22-2 has no Hoare annotation [2022-04-27 10:17:20,423 WARN L170 areAnnotationChecker]: L36-1 has no Hoare annotation [2022-04-27 10:17:20,423 WARN L170 areAnnotationChecker]: L29-3 has no Hoare annotation [2022-04-27 10:17:20,423 WARN L170 areAnnotationChecker]: L29-3 has no Hoare annotation [2022-04-27 10:17:20,423 WARN L170 areAnnotationChecker]: L29-3 has no Hoare annotation [2022-04-27 10:17:20,423 WARN L170 areAnnotationChecker]: L35-2 has no Hoare annotation [2022-04-27 10:17:20,423 WARN L170 areAnnotationChecker]: L29-4 has no Hoare annotation [2022-04-27 10:17:20,423 WARN L170 areAnnotationChecker]: L29-2 has no Hoare annotation [2022-04-27 10:17:20,423 WARN L170 areAnnotationChecker]: L35-3 has no Hoare annotation [2022-04-27 10:17:20,423 WARN L170 areAnnotationChecker]: L35-3 has no Hoare annotation [2022-04-27 10:17:20,423 WARN L170 areAnnotationChecker]: L35-3 has no Hoare annotation [2022-04-27 10:17:20,423 WARN L170 areAnnotationChecker]: L35-4 has no Hoare annotation [2022-04-27 10:17:20,423 WARN L170 areAnnotationChecker]: L36 has no Hoare annotation [2022-04-27 10:17:20,423 WARN L170 areAnnotationChecker]: L36 has no Hoare annotation [2022-04-27 10:17:20,423 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2022-04-27 10:17:20,423 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2022-04-27 10:17:20,423 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. [2022-04-27 10:17:20,425 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 27.04 10:17:20 BoogieIcfgContainer [2022-04-27 10:17:20,425 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-27 10:17:20,426 INFO L158 Benchmark]: Toolchain (without parser) took 23945.68ms. Allocated memory was 195.0MB in the beginning and 295.7MB in the end (delta: 100.7MB). Free memory was 167.8MB in the beginning and 241.0MB in the end (delta: -73.2MB). Peak memory consumption was 26.7MB. Max. memory is 8.0GB. [2022-04-27 10:17:20,426 INFO L158 Benchmark]: CDTParser took 0.11ms. Allocated memory is still 195.0MB. Free memory is still 154.5MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-27 10:17:20,427 INFO L158 Benchmark]: CACSL2BoogieTranslator took 210.69ms. Allocated memory was 195.0MB in the beginning and 246.4MB in the end (delta: 51.4MB). Free memory was 167.4MB in the beginning and 218.0MB in the end (delta: -50.6MB). Peak memory consumption was 7.3MB. Max. memory is 8.0GB. [2022-04-27 10:17:20,427 INFO L158 Benchmark]: Boogie Preprocessor took 27.59ms. Allocated memory is still 246.4MB. Free memory was 218.0MB in the beginning and 216.5MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-04-27 10:17:20,430 INFO L158 Benchmark]: RCFGBuilder took 334.68ms. Allocated memory is still 246.4MB. Free memory was 216.5MB in the beginning and 203.4MB in the end (delta: 13.1MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. [2022-04-27 10:17:20,430 INFO L158 Benchmark]: TraceAbstraction took 23368.11ms. Allocated memory was 246.4MB in the beginning and 295.7MB in the end (delta: 49.3MB). Free memory was 202.8MB in the beginning and 241.0MB in the end (delta: -38.1MB). Peak memory consumption was 11.7MB. Max. memory is 8.0GB. [2022-04-27 10:17:20,434 INFO L339 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.11ms. Allocated memory is still 195.0MB. Free memory is still 154.5MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 210.69ms. Allocated memory was 195.0MB in the beginning and 246.4MB in the end (delta: 51.4MB). Free memory was 167.4MB in the beginning and 218.0MB in the end (delta: -50.6MB). Peak memory consumption was 7.3MB. Max. memory is 8.0GB. * Boogie Preprocessor took 27.59ms. Allocated memory is still 246.4MB. Free memory was 218.0MB in the beginning and 216.5MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * RCFGBuilder took 334.68ms. Allocated memory is still 246.4MB. Free memory was 216.5MB in the beginning and 203.4MB in the end (delta: 13.1MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. * TraceAbstraction took 23368.11ms. Allocated memory was 246.4MB in the beginning and 295.7MB in the end (delta: 49.3MB). Free memory was 202.8MB in the beginning and 241.0MB in the end (delta: -38.1MB). Peak memory consumption was 11.7MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - CounterExampleResult [Line: 8]: a call to reach_error is reachable a call to reach_error is reachable We found a FailurePath: [L16] int MAX = __VERIFIER_nondet_uint(); [L17] COND FALSE !(!(MAX > 0)) VAL [MAX=2] [L18] char str1[MAX], str2[MAX]; [L19] int cont, i, j; [L20] cont = 0 [L22] i=0 VAL [cont=0, i=0, MAX=2, str1={5:0}, str2={4:0}] [L22] COND TRUE i= 0 [L30] EXPR str1[0] [L30] str2[j] = str1[0] [L31] j++ VAL [cont=0, i=1, j=1, MAX=2, str1={5:0}, str2={4:0}] [L29] i-- VAL [cont=0, i=0, j=1, MAX=2, str1={5:0}, str2={4:0}] [L29] COND TRUE i >= 0 [L30] EXPR str1[0] [L30] str2[j] = str1[0] [L31] j++ VAL [cont=0, i=0, j=2, MAX=2, str1={5:0}, str2={4:0}] [L29] i-- VAL [cont=0, i=-1, j=2, MAX=2, str1={5:0}, str2={4:0}] [L29] COND FALSE !(i >= 0) VAL [cont=0, i=-1, j=2, MAX=2, str1={5:0}, str2={4:0}] [L34] j = MAX-1 [L35] i=0 VAL [cont=0, i=0, j=1, MAX=2, str1={5:0}, str2={4:0}] [L35] COND TRUE i